Repository: kelektiv/node-cron
Pull request #705 (2023-09-30 14:57:23)

feat: improve context, onTick & onComplete typings
## Description

See related issue.

## Related Issue

Closes https://github.com/kelektiv/node-cron/issues/703.

## Motivation and Context

See related issue.

## How Has This Been Tested?

added a new test & removed type casting from existing tests.

## Types of changes

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)

## Checklist:

- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [x] I have added tests to cover my changes.
- [x] All new and existing tests passed.
- [ ] If my change introduces a breaking change, I have added a `!` after the type/scope in the title (see the Conventional Commits standard).


sheerlox: a user [pointed out on Discord](https://discord.com/channels/1075597081017851934/1159215480612081684) that the `onTick()` function types do not correctly reflect it being called with `onComplete` as an argument.

this is an issue that should probably be handled in this PR before we can consider merging it.

Patch:
diff --git a/.github/ISSUE_TEMPLATE/feature.yaml b/.github/ISSUE_TEMPLATE/feature.yaml
index 5e256e5..550dd53 100644
--- a/.github/ISSUE_TEMPLATE/feature.yaml
+++ b/.github/ISSUE_TEMPLATE/feature.yaml
@@ -1,6 +1,6 @@
-name: Feature request
-description: Suggest features, propose improvements, discuss new ideas
-labels: ['enhancement']
+name: Feature/improvement request
+description: Suggest new features or improvements
+labels: ['type:feature']
 body:
   - type: textarea
     id: suggestion
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 8ad733e..db5b0d2 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -46,7 +46,7 @@ A good bug report shouldn't leave others needing to chase you up for more inform
 
 - Make sure that you are using the latest version.
 - Determine if your bug is really a bug and not an error on your side e.g. using incompatible environment components/versions (Make sure that you have read the [documentation](https://github.com/kelektiv/node-cron#readme). If you are looking for support, you might want to check [this section](#i-have-a-question)).
-- To see if other users have experienced (and potentially already solved) the same issue you are having, check if there is not already a bug report existing for your bug or error in the [bug tracker](https://github.com/search?q=repo%3Akelektiv%2Fnode-cron++label%3Abug&type=issues).
+- Perform a [search](https://github.com/search?q=repo%3Akelektiv%2Fnode-cron++label%3Atype%3Abug&type=issues) to see if the bug/error has already been reported. If it has, add a comment to the existing issue instead of opening a new one.
 - Also make sure to search the internet (including Stack Overflow) to see if users outside of the GitHub community have discussed the issue.
 - Collect information about the bug:
   - Stack trace (Traceback)
@@ -78,7 +78,7 @@ This section guides you through submitting an enhancement suggestion for cron, *
 
 - Make sure that you are using the latest version.
 - Read the [documentation](https://github.com/kelektiv/node-cron#readme) carefully and find out if the functionality is already covered, maybe by an individual configuration.
-- Perform a [search](https://github.com/search?q=repo%3Akelektiv%2Fnode-cron++label%3Aenhancement&type=issues) to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
+- Perform a [search](https://github.com/search?q=repo%3Akelektiv%2Fnode-cron++label%3Atype%3Afeature&type=issues) to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
 - Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider writing an add-on/plugin library.
 
 #### How Do I Submit a Good Enhancement Suggestion? <!-- omit in toc -->
diff --git a/package-lock.json b/package-lock.json
index 5563f63..7a749c0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,15 +13,15 @@
 				"luxon": "~3.3.0"
 			},
 			"devDependencies": {
-				"@commitlint/cli": "~17.6.6",
-				"@insurgentlab/commitlint-config": "^18.1.0",
-				"@insurgentlab/conventional-changelog-preset": "~6.0.3",
-				"@semantic-release/changelog": "~6.0.x",
-				"@semantic-release/commit-analyzer": "~9.0.x",
-				"@semantic-release/git": "~10.0.x",
-				"@semantic-release/github": "~8.1.x",
-				"@semantic-release/npm": "~10.0.x",
-				"@semantic-release/release-notes-generator": "~11.0.x",
+				"@commitlint/cli": "17.7.2",
+				"@insurgentlab/commitlint-config": "18.1.3",
+				"@insurgentlab/conventional-changelog-preset": "7.0.0",
+				"@semantic-release/changelog": "6.0.3",
+				"@semantic-release/commit-analyzer": "11.0.0",
+				"@semantic-release/git": "10.0.1",
+				"@semantic-release/github": "9.2.1",
+				"@semantic-release/npm": "11.0.0",
+				"@semantic-release/release-notes-generator": "12.0.0",
 				"@types/jest": "^29.5.5",
 				"@types/node": "^20.6.0",
 				"@types/sinon": "^10.0.16",
@@ -34,7 +34,7 @@
 				"husky": "^8.0.3",
 				"jest": "~29.5.x",
 				"prettier": "~2.8.x",
-				"semantic-release": "~21.0.x",
+				"semantic-release": "22.0.5",
 				"sinon": "^15.0.x",
 				"ts-jest": "^29.1.1",
 				"typescript": "~5.1.6"
@@ -661,14 +661,14 @@
 			}
 		},
 		"node_modules/@commitlint/cli": {
-			"version": "17.6.6",
-			"resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.6.6.tgz",
-			"integrity": "sha512-sTKpr2i/Fjs9OmhU+beBxjPavpnLSqZaO6CzwKVq2Tc4UYVTMFgpKOslDhUBVlfAUBfjVO8ParxC/MXkIOevEA==",
+			"version": "17.7.2",
+			"resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.7.2.tgz",
+			"integrity": "sha512-t3N7TZq7lOeqTOyEgfGcaltHqEJf7YDlPg75MldeVPPyz14jZq/+mbGF9tueDLFX8R6RwdymrN6D+U5XwZ8Iwg==",
 			"dev": true,
 			"dependencies": {
 				"@commitlint/format": "^17.4.4",
-				"@commitlint/lint": "^17.6.6",
-				"@commitlint/load": "^17.5.0",
+				"@commitlint/lint": "^17.7.0",
+				"@commitlint/load": "^17.7.2",
 				"@commitlint/read": "^17.5.1",
 				"@commitlint/types": "^17.4.4",
 				"execa": "^5.0.0",
@@ -694,9 +694,9 @@
 			}
 		},
 		"node_modules/@commitlint/config-validator": {
-			"version": "17.4.4",
-			"resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.4.4.tgz",
-			"integrity": "sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg==",
+			"version": "17.6.7",
+			"resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.6.7.tgz",
+			"integrity": "sha512-vJSncmnzwMvpr3lIcm0I8YVVDJTzyjy7NZAeXbTXy+MPUdAr9pKyyg7Tx/ebOQ9kqzE6O9WT6jg2164br5UdsQ==",
 			"dev": true,
 			"dependencies": {
 				"@commitlint/types": "^17.4.4",
@@ -729,9 +729,9 @@
 			"dev": true
 		},
 		"node_modules/@commitlint/ensure": {
-			"version": "17.4.4",
-			"resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.4.4.tgz",
-			"integrity": "sha512-AHsFCNh8hbhJiuZ2qHv/m59W/GRE9UeOXbkOqxYMNNg9pJ7qELnFcwj5oYpa6vzTSHtPGKf3C2yUFNy1GGHq6g==",
+			"version": "17.6.7",
+			"resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.6.7.tgz",
+			"integrity": "sha512-mfDJOd1/O/eIb/h4qwXzUxkmskXDL9vNPnZ4AKYKiZALz4vHzwMxBSYtyL2mUIDeU9DRSpEUins8SeKtFkYHSw==",
 			"dev": true,
 			"dependencies": {
 				"@commitlint/types": "^17.4.4",
@@ -768,22 +768,22 @@
 			}
 		},
 		"node_modules/@commitlint/is-ignored": {
-			"version": "17.6.6",
-			"resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.6.6.tgz",
-			"integrity": "sha512-4Fw875faAKO+2nILC04yW/2Vy/wlV3BOYCSQ4CEFzriPEprc1Td2LILmqmft6PDEK5Sr14dT9tEzeaZj0V56Gg==",
+			"version": "17.7.0",
+			"resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.7.0.tgz",
+			"integrity": "sha512-043rA7m45tyEfW7Zv2vZHF++176MLHH9h70fnPoYlB1slKBeKl8BwNIlnPg4xBdRBVNPaCqvXxWswx2GR4c9Hw==",
 			"dev": true,
 			"dependencies": {
 				"@commitlint/types": "^17.4.4",
-				"semver": "7.5.2"
+				"semver": "7.5.4"
 			},
 			"engines": {
 				"node": ">=v14"
 			}
 		},
 		"node_modules/@commitlint/is-ignored/node_modules/semver": {
-			"version": "7.5.2",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
-			"integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
+			"version": "7.5.4",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+			"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
 			"dev": true,
 			"dependencies": {
 				"lru-cache": "^6.0.0"
@@ -796,14 +796,14 @@
 			}
 		},
 		"node_modules/@commitlint/lint": {
-			"version": "17.6.6",
-			"resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.6.6.tgz",
-			"integrity": "sha512-5bN+dnHcRLkTvwCHYMS7Xpbr+9uNi0Kq5NR3v4+oPNx6pYXt8ACuw9luhM/yMgHYwW0ajIR20wkPAFkZLEMGmg==",
+			"version": "17.7.0",
+			"resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.7.0.tgz",
+			"integrity": "sha512-TCQihm7/uszA5z1Ux1vw+Nf3yHTgicus/+9HiUQk+kRSQawByxZNESeQoX9ujfVd3r4Sa+3fn0JQAguG4xvvbA==",
 			"dev": true,
 			"dependencies": {
-				"@commitlint/is-ignored": "^17.6.6",
-				"@commitlint/parse": "^17.6.5",
-				"@commitlint/rules": "^17.6.5",
+				"@commitlint/is-ignored": "^17.7.0",
+				"@commitlint/parse": "^17.7.0",
+				"@commitlint/rules": "^17.7.0",
 				"@commitlint/types": "^17.4.4"
 			},
 			"engines": {
@@ -811,16 +811,16 @@
 			}
 		},
 		"node_modules/@commitlint/load": {
-			"version": "17.5.0",
-			"resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.5.0.tgz",
-			"integrity": "sha512-l+4W8Sx4CD5rYFsrhHH8HP01/8jEP7kKf33Xlx2Uk2out/UKoKPYMOIRcDH5ppT8UXLMV+x6Wm5osdRKKgaD1Q==",
+			"version": "17.7.2",
+			"resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.7.2.tgz",
+			"integrity": "sha512-XA7WTnsjHZ4YH6ZYsrnxgLdXzriwMMq+utZUET6spbOEEIPBCDLdOQXS26P+v3TTO4hUHOEhzUquaBv3jbBixw==",
 			"dev": true,
 			"dependencies": {
-				"@commitlint/config-validator": "^17.4.4",
+				"@commitlint/config-validator": "^17.6.7",
 				"@commitlint/execute-rule": "^17.4.0",
-				"@commitlint/resolve-extends": "^17.4.4",
+				"@commitlint/resolve-extends": "^17.6.7",
 				"@commitlint/types": "^17.4.4",
-				"@types/node": "*",
+				"@types/node": "20.5.1",
 				"chalk": "^4.1.0",
 				"cosmiconfig": "^8.0.0",
 				"cosmiconfig-typescript-loader": "^4.0.0",
@@ -835,6 +835,12 @@
 				"node": ">=v14"
 			}
 		},
+		"node_modules/@commitlint/load/node_modules/@types/node": {
+			"version": "20.5.1",
+			"resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz",
+			"integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==",
+			"dev": true
+		},
 		"node_modules/@commitlint/load/node_modules/resolve-from": {
 			"version": "5.0.0",
 			"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -854,14 +860,14 @@
 			}
 		},
 		"node_modules/@commitlint/parse": {
-			"version": "17.6.5",
-			"resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.6.5.tgz",
-			"integrity": "sha512-0zle3bcn1Hevw5Jqpz/FzEWNo2KIzUbc1XyGg6WrWEoa6GH3A1pbqNF6MvE6rjuy6OY23c8stWnb4ETRZyN+Yw==",
+			"version": "17.7.0",
+			"resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.7.0.tgz",
+			"integrity": "sha512-dIvFNUMCUHqq5Abv80mIEjLVfw8QNuA4DS7OWip4pcK/3h5wggmjVnlwGCDvDChkw2TjK1K6O+tAEV78oxjxag==",
 			"dev": true,
 			"dependencies": {
 				"@commitlint/types": "^17.4.4",
-				"conventional-changelog-angular": "^5.0.11",
-				"conventional-commits-parser": "^3.2.2"
+				"conventional-changelog-angular": "^6.0.0",
+				"conventional-commits-parser": "^4.0.0"
 			},
 			"engines": {
 				"node": ">=v14"
@@ -884,12 +890,12 @@
 			}
 		},
 		"node_modules/@commitlint/resolve-extends": {
-			"version": "17.4.4",
-			"resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.4.4.tgz",
-			"integrity": "sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A==",
+			"version": "17.6.7",
+			"resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.6.7.tgz",
+			"integrity": "sha512-PfeoAwLHtbOaC9bGn/FADN156CqkFz6ZKiVDMjuC2N5N0740Ke56rKU7Wxdwya8R8xzLK9vZzHgNbuGhaOVKIg==",
 			"dev": true,
 			"dependencies": {
-				"@commitlint/config-validator": "^17.4.4",
+				"@commitlint/config-validator": "^17.6.7",
 				"@commitlint/types": "^17.4.4",
 				"import-fresh": "^3.0.0",
 				"lodash.mergewith": "^4.6.2",
@@ -910,12 +916,12 @@
 			}
 		},
 		"node_modules/@commitlint/rules": {
-			"version": "17.6.5",
-			"resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.6.5.tgz",
-			"integrity": "sha512-uTB3zSmnPyW2qQQH+Dbq2rekjlWRtyrjDo4aLFe63uteandgkI+cc0NhhbBAzcXShzVk0qqp8SlkQMu0mgHg/A==",
+			"version": "17.7.0",
+			"resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.7.0.tgz",
+			"integrity": "sha512-J3qTh0+ilUE5folSaoK91ByOb8XeQjiGcdIdiB/8UT1/Rd1itKo0ju/eQVGyFzgTMYt8HrDJnGTmNWwcMR1rmA==",
 			"dev": true,
 			"dependencies": {
-				"@commitlint/ensure": "^17.4.4",
+				"@commitlint/ensure": "^17.6.7",
 				"@commitlint/message": "^17.4.2",
 				"@commitlint/to-lines": "^17.4.0",
 				"@commitlint/types": "^17.4.4",
@@ -1088,50 +1094,25 @@
 			"license": "BSD-3-Clause"
 		},
 		"node_modules/@insurgentlab/commitlint-config": {
-			"version": "18.1.0",
-			"resolved": "https://registry.npmjs.org/@insurgentlab/commitlint-config/-/commitlint-config-18.1.0.tgz",
-			"integrity": "sha512-mNkzictkH6ebvQmtCxUIxxX+ynv6Lqm/CsVkFLs1ByPRK8WE/O2FhCqejTBn2IP+S4h6xp6EawfxTPDqQXglmA==",
+			"version": "18.1.3",
+			"resolved": "https://registry.npmjs.org/@insurgentlab/commitlint-config/-/commitlint-config-18.1.3.tgz",
+			"integrity": "sha512-Vdwyra65Tg891Ct9xf4q1mbfjovpC7VfapKVP0C8GknVinEJuhMcOWF0o8604E4wyCAAOEhPFOXChINrxjq7rg==",
 			"dev": true,
 			"dependencies": {
-				"@insurgentlab/conventional-changelog-preset": "6.0.2"
+				"@insurgentlab/conventional-changelog-preset": "^7.0.0"
 			},
 			"engines": {
 				"node": ">=v16"
 			}
 		},
-		"node_modules/@insurgentlab/commitlint-config/node_modules/@insurgentlab/conventional-changelog-preset": {
-			"version": "6.0.2",
-			"resolved": "https://registry.npmjs.org/@insurgentlab/conventional-changelog-preset/-/conventional-changelog-preset-6.0.2.tgz",
-			"integrity": "sha512-23jAmLmmgfvvMS4g/C3zuRBb2K12wvHi60JQmSX5KqJeC3EO84N9jgG8XcoDt05eWNYtk2X/7/WNGw7Zi+eJTA==",
-			"dev": true,
-			"dependencies": {
-				"conventional-changelog-conventionalcommits": "6.0.0",
-				"lodash": "^4.17.21"
-			},
-			"engines": {
-				"node": ">=16"
-			}
-		},
-		"node_modules/@insurgentlab/commitlint-config/node_modules/conventional-changelog-conventionalcommits": {
-			"version": "6.0.0",
-			"resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-6.0.0.tgz",
-			"integrity": "sha512-pOQWvJ2se8UmGj3Vz5NzhljdgHvGow6ATZ7pM0TZqGekAfwgJkr3YQ9ZbooB4VIh35KS/cpfIgVrLoqLNvFNYg==",
-			"dev": true,
-			"dependencies": {
-				"compare-func": "^2.0.0"
-			},
-			"engines": {
-				"node": ">=14"
-			}
-		},
 		"node_modules/@insurgentlab/conventional-changelog-preset": {
-			"version": "6.0.3",
-			"resolved": "https://registry.npmjs.org/@insurgentlab/conventional-changelog-preset/-/conventional-changelog-preset-6.0.3.tgz",
-			"integrity": "sha512-t6GalSR1OvnOmopZkovRzkNeAzlWtlsdfa7EGRmLKvl2GXqE87H+mATk8m/R5kwcsfMOoWrBC+AQzK97Pzvubg==",
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@insurgentlab/conventional-changelog-preset/-/conventional-changelog-preset-7.0.0.tgz",
+			"integrity": "sha512-lBHaW0aDGGOvR8zkEGooCzBAln3h2GC8+mX6smuIaS9iHmpKv9N7EMPhfysrmu8DCIIXCvsGAcRYqqMhK7tUQw==",
 			"dev": true,
 			"dependencies": {
-				"conventional-changelog-conventionalcommits": "6.1.0",
-				"lodash": "4.17.21"
+				"conventional-changelog-conventionalcommits": "^7.0.0",
+				"lodash": "^4.17.21"
 			},
 			"engines": {
 				"node": ">=16"
@@ -1581,161 +1562,151 @@
 			}
 		},
 		"node_modules/@octokit/auth-token": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz",
-			"integrity": "sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==",
+			"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==",
 			"dev": true,
-			"dependencies": {
-				"@octokit/types": "^9.0.0"
-			},
 			"engines": {
-				"node": ">= 14"
+				"node": ">= 18"
 			}
 		},
 		"node_modules/@octokit/core": {
-			"version": "4.2.1",
-			"resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.1.tgz",
-			"integrity": "sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==",
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.0.1.tgz",
+			"integrity": "sha512-lyeeeZyESFo+ffI801SaBKmCfsvarO+dgV8/0gD8u1d87clbEdWsP5yC+dSj3zLhb2eIf5SJrn6vDz9AheETHw==",
 			"dev": true,
 			"dependencies": {
-				"@octokit/auth-token": "^3.0.0",
-				"@octokit/graphql": "^5.0.0",
-				"@octokit/request": "^6.0.0",
-				"@octokit/request-error": "^3.0.0",
-				"@octokit/types": "^9.0.0",
+				"@octokit/auth-token": "^4.0.0",
+				"@octokit/graphql": "^7.0.0",
+				"@octokit/request": "^8.0.2",
+				"@octokit/request-error": "^5.0.0",
+				"@octokit/types": "^12.0.0",
 				"before-after-hook": "^2.2.0",
 				"universal-user-agent": "^6.0.0"
 			},
 			"engines": {
-				"node": ">= 14"
+				"node": ">= 18"
 			}
 		},
 		"node_modules/@octokit/endpoint": {
-			"version": "7.0.5",
-			"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz",
-			"integrity": "sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==",
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.1.tgz",
+			"integrity": "sha512-hRlOKAovtINHQPYHZlfyFwaM8OyetxeoC81lAkBy34uLb8exrZB50SQdeW3EROqiY9G9yxQTpp5OHTV54QD+vA==",
 			"dev": true,
 			"dependencies": {
-				"@octokit/types": "^9.0.0",
+				"@octokit/types": "^12.0.0",
 				"is-plain-object": "^5.0.0",
 				"universal-user-agent": "^6.0.0"
 			},
 			"engines": {
-				"node": ">= 14"
+				"node": ">= 18"
 			}
 		},
 		"node_modules/@octokit/graphql": {
-			"version": "5.0.6",
-			"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz",
-			"integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==",
+			"version": "7.0.2",
+			"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz",
+			"integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==",
 			"dev": true,
 			"dependencies": {
-				"@octokit/request": "^6.0.0",
-				"@octokit/types": "^9.0.0",
+				"@octokit/request": "^8.0.1",
+				"@octokit/types": "^12.0.0",
 				"universal-user-agent": "^6.0.0"
 			},
 			"engines": {
-				"node": ">= 14"
+				"node": ">= 18"
 			}
 		},
 		"node_modules/@octokit/openapi-types": {
-			"version": "17.2.0",
-			"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.2.0.tgz",
-			"integrity": "sha512-MazrFNx4plbLsGl+LFesMo96eIXkFgEtaKbnNpdh4aQ0VM10aoylFsTYP1AEjkeoRNZiiPe3T6Gl2Hr8dJWdlQ==",
+			"version": "19.0.0",
+			"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.0.0.tgz",
+			"integrity": "sha512-PclQ6JGMTE9iUStpzMkwLCISFn/wDeRjkZFIKALpvJQNBGwDoYYi2fFvuHwssoQ1rXI5mfh6jgTgWuddeUzfWw==",
 			"dev": true
 		},
 		"node_modules/@octokit/plugin-paginate-rest": {
-			"version": "6.1.2",
-			"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz",
-			"integrity": "sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==",
+			"version": "9.0.0",
+			"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.0.0.tgz",
+			"integrity": "sha512-oIJzCpttmBTlEhBmRvb+b9rlnGpmFgDtZ0bB6nq39qIod6A5DP+7RkVLMOixIgRCYSHDTeayWqmiJ2SZ6xgfdw==",
 			"dev": true,
 			"dependencies": {
-				"@octokit/tsconfig": "^1.0.2",
-				"@octokit/types": "^9.2.3"
+				"@octokit/types": "^12.0.0"
 			},
 			"engines": {
-				"node": ">= 14"
+				"node": ">= 18"
 			},
 			"peerDependencies": {
-				"@octokit/core": ">=4"
+				"@octokit/core": ">=5"
 			}
 		},
 		"node_modules/@octokit/plugin-retry": {
-			"version": "4.1.5",
-			"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-4.1.5.tgz",
-			"integrity": "sha512-Hft2gYesEXomiUmk/YsFVRBUrzHRv14Iff7PzlLJ3DLte/56VdyV332SOSKz1BbODWLTBkO2zUgxtmMaKCEJPw==",
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-6.0.1.tgz",
+			"integrity": "sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==",
 			"dev": true,
 			"dependencies": {
-				"@octokit/types": "^9.0.0",
+				"@octokit/request-error": "^5.0.0",
+				"@octokit/types": "^12.0.0",
 				"bottleneck": "^2.15.3"
 			},
 			"engines": {
-				"node": ">= 16"
+				"node": ">= 18"
 			},
 			"peerDependencies": {
-				"@octokit/core": ">=3"
+				"@octokit/core": ">=5"
 			}
 		},
 		"node_modules/@octokit/plugin-throttling": {
-			"version": "5.2.3",
-			"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-5.2.3.tgz",
-			"integrity": "sha512-C9CFg9mrf6cugneKiaI841iG8DOv6P5XXkjmiNNut+swePxQ7RWEdAZRp5rJoE1hjsIqiYcKa/ZkOQ+ujPI39Q==",
+			"version": "8.0.0",
+			"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-8.0.0.tgz",
+			"integrity": "sha512-OkMbHYUidj81q92YRkPzWmwXkEtsI3KOcSkNm763aqUOh9IEplyX05XjKAdZFANAvaYH0Q4JBZwu4h2VnPVXZA==",
 			"dev": true,
 			"dependencies": {
-				"@octokit/types": "^9.0.0",
+				"@octokit/types": "^12.0.0",
 				"bottleneck": "^2.15.3"
 			},
 			"engines": {
-				"node": ">= 14"
+				"node": ">= 18"
 			},
 			"peerDependencies": {
-				"@octokit/core": "^4.0.0"
+				"@octokit/core": "^5.0.0"
 			}
 		},
 		"node_modules/@octokit/request": {
-			"version": "6.2.5",
-			"resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.5.tgz",
-			"integrity": "sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ==",
+			"version": "8.1.2",
+			"resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.2.tgz",
+			"integrity": "sha512-A0RJJfzjlZQwb+39eDm5UM23dkxbp28WEG4p2ueH+Q2yY4p349aRK/vcUlEuIB//ggcrHJceoYYkBP/LYCoXEg==",
 			"dev": true,
 			"dependencies": {
-				"@octokit/endpoint": "^7.0.0",
-				"@octokit/request-error": "^3.0.0",
-				"@octokit/types": "^9.0.0",
+				"@octokit/endpoint": "^9.0.0",
+				"@octokit/request-error": "^5.0.0",
+				"@octokit/types": "^12.0.0",
 				"is-plain-object": "^5.0.0",
-				"node-fetch": "^2.6.7",
 				"universal-user-agent": "^6.0.0"
 			},
 			"engines": {
-				"node": ">= 14"
+				"node": ">= 18"
 			}
 		},
 		"node_modules/@octokit/request-error": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz",
-			"integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==",
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz",
+			"integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==",
 			"dev": true,
 			"dependencies": {
-				"@octokit/types": "^9.0.0",
+				"@octokit/types": "^12.0.0",
 				"deprecation": "^2.0.0",
 				"once": "^1.4.0"
 			},
 			"engines": {
-				"node": ">= 14"
+				"node": ">= 18"
 			}
 		},
-		"node_modules/@octokit/tsconfig": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz",
-			"integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==",
-			"dev": true
-		},
 		"node_modules/@octokit/types": {
-			"version": "9.2.3",
-			"resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.2.3.tgz",
-			"integrity": "sha512-MMeLdHyFIALioycq+LFcA71v0S2xpQUX2cw6pPbHQjaibcHYwLnmK/kMZaWuGfGfjBJZ3wRUq+dOaWsvrPJVvA==",
+			"version": "12.0.0",
+			"resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.0.0.tgz",
+			"integrity": "sha512-EzD434aHTFifGudYAygnFlS1Tl6KhbTynEWELQXIbTY8Msvb5nEqTZIm7sbPEt4mQYLZwu3zPKVdeIrw0g7ovg==",
 			"dev": true,
 			"dependencies": {
-				"@octokit/openapi-types": "^17.2.0"
+				"@octokit/openapi-types": "^19.0.0"
 			}
 		},
 		"node_modules/@pnpm/config.env-replace": {
@@ -1798,24 +1769,99 @@
 			}
 		},
 		"node_modules/@semantic-release/commit-analyzer": {
-			"version": "9.0.2",
-			"resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-9.0.2.tgz",
-			"integrity": "sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g==",
+			"version": "11.0.0",
+			"resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-11.0.0.tgz",
+			"integrity": "sha512-uEXyf4Z0AWJuxI9TbSQP5kkIYqus1/E1NcmE7pIv6d6/m/5EJcNWAGR4FOo34vrV26FhEaRVkxFfYzp/M7BKIg==",
 			"dev": true,
 			"dependencies": {
-				"conventional-changelog-angular": "^5.0.0",
-				"conventional-commits-filter": "^2.0.0",
-				"conventional-commits-parser": "^3.2.3",
+				"conventional-changelog-angular": "^7.0.0",
+				"conventional-commits-filter": "^4.0.0",
+				"conventional-commits-parser": "^5.0.0",
 				"debug": "^4.0.0",
 				"import-from": "^4.0.0",
-				"lodash": "^4.17.4",
+				"lodash-es": "^4.17.21",
 				"micromatch": "^4.0.2"
 			},
 			"engines": {
-				"node": ">=14.17"
+				"node": "^18.17 || >=20.6.1"
 			},
 			"peerDependencies": {
-				"semantic-release": ">=18.0.0-beta.1"
+				"semantic-release": ">=20.1.0"
+			}
+		},
+		"node_modules/@semantic-release/commit-analyzer/node_modules/conventional-changelog-angular": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz",
+			"integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==",
+			"dev": true,
+			"dependencies": {
+				"compare-func": "^2.0.0"
+			},
+			"engines": {
+				"node": ">=16"
+			}
+		},
+		"node_modules/@semantic-release/commit-analyzer/node_modules/conventional-commits-parser": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz",
+			"integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==",
+			"dev": true,
+			"dependencies": {
+				"is-text-path": "^2.0.0",
+				"JSONStream": "^1.3.5",
+				"meow": "^12.0.1",
+				"split2": "^4.0.0"
+			},
+			"bin": {
+				"conventional-commits-parser": "cli.mjs"
+			},
+			"engines": {
+				"node": ">=16"
+			}
+		},
+		"node_modules/@semantic-release/commit-analyzer/node_modules/is-text-path": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz",
+			"integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==",
+			"dev": true,
+			"dependencies": {
+				"text-extensions": "^2.0.0"
+			},
+			"engines": {
+				"node": ">=8"
+			}
+		},
+		"node_modules/@semantic-release/commit-analyzer/node_modules/meow": {
+			"version": "12.1.1",
+			"resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz",
+			"integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==",
+			"dev": true,
+			"engines": {
+				"node": ">=16.10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@semantic-release/commit-analyzer/node_modules/split2": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
+			"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
+			"dev": true,
+			"engines": {
+				"node": ">= 10.x"
+			}
+		},
+		"node_modules/@semantic-release/commit-analyzer/node_modules/text-extensions": {
+			"version": "2.4.0",
+			"resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz",
+			"integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==",
+			"dev": true,
+			"engines": {
+				"node": ">=8"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/@semantic-release/error": {
@@ -1850,50 +1896,144 @@
 			}
 		},
 		"node_modules/@semantic-release/github": {
-			"version": "8.1.0",
-			"resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-8.1.0.tgz",
-			"integrity": "sha512-erR9E5rpdsz0dW1I7785JtndQuMWN/iDcemcptf67tBNOmBUN0b2YNOgcjYUnBpgRpZ5ozfBHrK7Bz+2ets/Dg==",
+			"version": "9.2.1",
+			"resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-9.2.1.tgz",
+			"integrity": "sha512-fEn9uOe6jwWR6ro2Wh6YNBCBuZ5lRi8Myz+1j3KDTSt8OuUGlpVM4lFac/0bDrql2NOKrIEAMGCfWb9WMIdzIg==",
 			"dev": true,
 			"dependencies": {
-				"@octokit/core": "^4.2.1",
-				"@octokit/plugin-paginate-rest": "^6.1.2",
-				"@octokit/plugin-retry": "^4.1.3",
-				"@octokit/plugin-throttling": "^5.2.3",
-				"@semantic-release/error": "^3.0.0",
-				"aggregate-error": "^3.0.0",
-				"debug": "^4.0.0",
-				"dir-glob": "^3.0.0",
-				"fs-extra": "^11.0.0",
-				"globby": "^11.0.0",
+				"@octokit/core": "^5.0.0",
+				"@octokit/plugin-paginate-rest": "^9.0.0",
+				"@octokit/plugin-retry": "^6.0.0",
+				"@octokit/plugin-throttling": "^8.0.0",
+				"@semantic-release/error": "^4.0.0",
+				"aggregate-error": "^5.0.0",
+				"debug": "^4.3.4",
+				"dir-glob": "^3.0.1",
+				"globby": "^13.1.4",
 				"http-proxy-agent": "^7.0.0",
 				"https-proxy-agent": "^7.0.0",
 				"issue-parser": "^6.0.0",
-				"lodash": "^4.17.4",
+				"lodash-es": "^4.17.21",
 				"mime": "^3.0.0",
-				"p-filter": "^2.0.0",
-				"url-join": "^4.0.0"
+				"p-filter": "^3.0.0",
+				"url-join": "^5.0.0"
 			},
 			"engines": {
-				"node": ">=14.17"
+				"node": ">=18"
 			},
 			"peerDependencies": {
-				"semantic-release": ">=18.0.0-beta.1"
+				"semantic-release": ">=20.1.0"
+			}
+		},
+		"node_modules/@semantic-release/github/node_modules/@semantic-release/error": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
+			"integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=18"
+			}
+		},
+		"node_modules/@semantic-release/github/node_modules/aggregate-error": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
+			"integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
+			"dev": true,
+			"dependencies": {
+				"clean-stack": "^5.2.0",
+				"indent-string": "^5.0.0"
+			},
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@semantic-release/github/node_modules/clean-stack": {
+			"version": "5.2.0",
+			"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
+			"integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
+			"dev": true,
+			"dependencies": {
+				"escape-string-regexp": "5.0.0"
+			},
+			"engines": {
+				"node": ">=14.16"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@semantic-release/github/node_modules/escape-string-regexp": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+			"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@semantic-release/github/node_modules/globby": {
+			"version": "13.2.2",
+			"resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
+			"integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
+			"dev": true,
+			"dependencies": {
+				"dir-glob": "^3.0.1",
+				"fast-glob": "^3.3.0",
+				"ignore": "^5.2.4",
+				"merge2": "^1.4.1",
+				"slash": "^4.0.0"
+			},
+			"engines": {
+				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@semantic-release/github/node_modules/indent-string": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
+			"integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@semantic-release/github/node_modules/slash": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+			"integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/@semantic-release/npm": {
-			"version": "10.0.3",
-			"resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.3.tgz",
-			"integrity": "sha512-Chbv3kX4o+y+r1X6hsqBVB8NFbSVfiNlYOqMG6o9Wc8r5Y4cjxfbaMCuJ++XAtw3YXYX/NVD05cPzBi4Orjusg==",
+			"version": "11.0.0",
+			"resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.0.tgz",
+			"integrity": "sha512-ozNCiPUp14Xp2rgeY7j96yFTEhDncLSWOJr0IAUr888+ax6fH5xgYkNVv08vpkV8C5GIXBgnGd9coRiOCD6oqQ==",
 			"dev": true,
 			"dependencies": {
-				"@semantic-release/error": "^3.0.0",
-				"aggregate-error": "^4.0.1",
-				"execa": "^7.0.0",
+				"@semantic-release/error": "^4.0.0",
+				"aggregate-error": "^5.0.0",
+				"execa": "^8.0.0",
 				"fs-extra": "^11.0.0",
 				"lodash-es": "^4.17.21",
 				"nerf-dart": "^1.0.0",
 				"normalize-url": "^8.0.0",
-				"npm": "^9.5.0",
+				"npm": "^10.0.0",
 				"rc": "^1.2.8",
 				"read-pkg": "^8.0.0",
 				"registry-auth-token": "^5.0.0",
@@ -1901,38 +2041,47 @@
 				"tempy": "^3.0.0"
 			},
 			"engines": {
-				"node": ">=18"
+				"node": "^18.17 || >=20"
 			},
 			"peerDependencies": {
 				"semantic-release": ">=20.1.0"
 			}
 		},
+		"node_modules/@semantic-release/npm/node_modules/@semantic-release/error": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
+			"integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=18"
+			}
+		},
 		"node_modules/@semantic-release/npm/node_modules/aggregate-error": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz",
-			"integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
+			"integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
 			"dev": true,
 			"dependencies": {
-				"clean-stack": "^4.0.0",
+				"clean-stack": "^5.2.0",
 				"indent-string": "^5.0.0"
 			},
 			"engines": {
-				"node": ">=12"
+				"node": ">=18"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/@semantic-release/npm/node_modules/clean-stack": {
-			"version": "4.2.0",
-			"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz",
-			"integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==",
+			"version": "5.2.0",
+			"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
+			"integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
 			"dev": true,
 			"dependencies": {
 				"escape-string-regexp": "5.0.0"
 			},
 			"engines": {
-				"node": ">=12"
+				"node": ">=14.16"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -1951,35 +2100,47 @@
 			}
 		},
 		"node_modules/@semantic-release/npm/node_modules/execa": {
-			"version": "7.1.1",
-			"resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz",
-			"integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==",
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+			"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
 			"dev": true,
 			"dependencies": {
 				"cross-spawn": "^7.0.3",
-				"get-stream": "^6.0.1",
-				"human-signals": "^4.3.0",
+				"get-stream": "^8.0.1",
+				"human-signals": "^5.0.0",
 				"is-stream": "^3.0.0",
 				"merge-stream": "^2.0.0",
 				"npm-run-path": "^5.1.0",
 				"onetime": "^6.0.0",
-				"signal-exit": "^3.0.7",
+				"signal-exit": "^4.1.0",
 				"strip-final-newline": "^3.0.0"
 			},
 			"engines": {
-				"node": "^14.18.0 || ^16.14.0 || >=18.0.0"
+				"node": ">=16.17"
 			},
 			"funding": {
 				"url": "https://github.com/sindresorhus/execa?sponsor=1"
 			}
 		},
+		"node_modules/@semantic-release/npm/node_modules/get-stream": {
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+			"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
+			"dev": true,
+			"engines": {
+				"node": ">=16"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/@semantic-release/npm/node_modules/human-signals": {
-			"version": "4.3.1",
-			"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
-			"integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+			"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
 			"dev": true,
 			"engines": {
-				"node": ">=14.18.0"
+				"node": ">=16.17.0"
 			}
 		},
 		"node_modules/@semantic-release/npm/node_modules/indent-string": {
@@ -2075,6 +2236,18 @@
 				"node": ">=10"
 			}
 		},
+		"node_modules/@semantic-release/npm/node_modules/signal-exit": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+			"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+			"dev": true,
+			"engines": {
+				"node": ">=14"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
+			}
+		},
 		"node_modules/@semantic-release/npm/node_modules/strip-final-newline": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
@@ -2088,29 +2261,59 @@
 			}
 		},
 		"node_modules/@semantic-release/release-notes-generator": {
-			"version": "11.0.2",
-			"resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-11.0.2.tgz",
-			"integrity": "sha512-B+Aa82uciufoaoJulnzq7ezqH36nrHOO15ubJmg2hZitzCpPAa6X0pOtkffG+30HLdck5Ky2uJC4uAm/YylbOw==",
+			"version": "12.0.0",
+			"resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-12.0.0.tgz",
+			"integrity": "sha512-m7Ds8ComP1KJgA2Lke2xMwE1TOOU40U7AzP4lT8hJ2tUAeicziPz/1GeDFmRkTOkMFlfHvE6kuvMkvU+mIzIDQ==",
 			"dev": true,
 			"dependencies": {
-				"conventional-changelog-angular": "^5.0.0",
-				"conventional-changelog-writer": "^5.0.0",
-				"conventional-commits-filter": "^2.0.0",
-				"conventional-commits-parser": "^3.2.3",
+				"conventional-changelog-angular": "^7.0.0",
+				"conventional-changelog-writer": "^7.0.0",
+				"conventional-commits-filter": "^4.0.0",
+				"conventional-commits-parser": "^5.0.0",
 				"debug": "^4.0.0",
 				"get-stream": "^7.0.0",
 				"import-from": "^4.0.0",
 				"into-stream": "^7.0.0",
 				"lodash-es": "^4.17.21",
-				"read-pkg-up": "^9.0.0"
+				"read-pkg-up": "^10.0.0"
 			},
 			"engines": {
-				"node": ">=18"
+				"node": "^18.17 || >=20.6.1"
 			},
 			"peerDependencies": {
 				"semantic-release": ">=20.1.0"
 			}
 		},
+		"node_modules/@semantic-release/release-notes-generator/node_modules/conventional-changelog-angular": {
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz",
+			"integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==",
+			"dev": true,
+			"dependencies": {
+				"compare-func": "^2.0.0"
+			},
+			"engines": {
+				"node": ">=16"
+			}
+		},
+		"node_modules/@semantic-release/release-notes-generator/node_modules/conventional-commits-parser": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz",
+			"integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==",
+			"dev": true,
+			"dependencies": {
+				"is-text-path": "^2.0.0",
+				"JSONStream": "^1.3.5",
+				"meow": "^12.0.1",
+				"split2": "^4.0.0"
+			},
+			"bin": {
+				"conventional-commits-parser": "cli.mjs"
+			},
+			"engines": {
+				"node": ">=16"
+			}
+		},
 		"node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": {
 			"version": "7.0.0",
 			"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.0.tgz",
@@ -2123,12 +2326,69 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/@semantic-release/release-notes-generator/node_modules/is-text-path": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz",
+			"integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==",
+			"dev": true,
+			"dependencies": {
+				"text-extensions": "^2.0.0"
+			},
+			"engines": {
+				"node": ">=8"
+			}
+		},
+		"node_modules/@semantic-release/release-notes-generator/node_modules/meow": {
+			"version": "12.1.1",
+			"resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz",
+			"integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==",
+			"dev": true,
+			"engines": {
+				"node": ">=16.10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@semantic-release/release-notes-generator/node_modules/split2": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
+			"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
+			"dev": true,
+			"engines": {
+				"node": ">= 10.x"
+			}
+		},
+		"node_modules/@semantic-release/release-notes-generator/node_modules/text-extensions": {
+			"version": "2.4.0",
+			"resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz",
+			"integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==",
+			"dev": true,
+			"engines": {
+				"node": ">=8"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/@sinclair/typebox": {
 			"version": "0.25.24",
 			"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz",
 			"integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==",
 			"dev": true
 		},
+		"node_modules/@sindresorhus/is": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-3.1.2.tgz",
+			"integrity": "sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/sindresorhus/is?sponsor=1"
+			}
+		},
 		"node_modules/@sinonjs/commons": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz",
@@ -3224,84 +3484,110 @@
 			}
 		},
 		"node_modules/conventional-changelog-angular": {
-			"version": "5.0.13",
-			"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz",
-			"integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==",
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz",
+			"integrity": "sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==",
 			"dev": true,
 			"dependencies": {
-				"compare-func": "^2.0.0",
-				"q": "^1.5.1"
+				"compare-func": "^2.0.0"
 			},
 			"engines": {
-				"node": ">=10"
+				"node": ">=14"
 			}
 		},
 		"node_modules/conventional-changelog-conventionalcommits": {
-			"version": "6.1.0",
-			"resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-6.1.0.tgz",
-			"integrity": "sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==",
+			"version": "7.0.2",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz",
+			"integrity": "sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==",
 			"dev": true,
 			"dependencies": {
 				"compare-func": "^2.0.0"
 			},
 			"engines": {
-				"node": ">=14"
+				"node": ">=16"
 			}
 		},
 		"node_modules/conventional-changelog-writer": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz",
-			"integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==",
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz",
+			"integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==",
 			"dev": true,
 			"dependencies": {
-				"conventional-commits-filter": "^2.0.7",
-				"dateformat": "^3.0.0",
+				"conventional-commits-filter": "^4.0.0",
 				"handlebars": "^4.7.7",
 				"json-stringify-safe": "^5.0.1",
-				"lodash": "^4.17.15",
-				"meow": "^8.0.0",
-				"semver": "^6.0.0",
-				"split": "^1.0.0",
-				"through2": "^4.0.0"
+				"meow": "^12.0.1",
+				"semver": "^7.5.2",
+				"split2": "^4.0.0"
 			},
 			"bin": {
-				"conventional-changelog-writer": "cli.js"
+				"conventional-changelog-writer": "cli.mjs"
 			},
 			"engines": {
-				"node": ">=10"
+				"node": ">=16"
 			}
 		},
-		"node_modules/conventional-commits-filter": {
-			"version": "2.0.7",
-			"resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz",
-			"integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==",
+		"node_modules/conventional-changelog-writer/node_modules/meow": {
+			"version": "12.1.1",
+			"resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz",
+			"integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==",
+			"dev": true,
+			"engines": {
+				"node": ">=16.10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/conventional-changelog-writer/node_modules/semver": {
+			"version": "7.5.4",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+			"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
 			"dev": true,
 			"dependencies": {
-				"lodash.ismatch": "^4.4.0",
-				"modify-values": "^1.0.0"
+				"lru-cache": "^6.0.0"
+			},
+			"bin": {
+				"semver": "bin/semver.js"
 			},
 			"engines": {
 				"node": ">=10"
 			}
 		},
+		"node_modules/conventional-changelog-writer/node_modules/split2": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
+			"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
+			"dev": true,
+			"engines": {
+				"node": ">= 10.x"
+			}
+		},
+		"node_modules/conventional-commits-filter": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz",
+			"integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==",
+			"dev": true,
+			"engines": {
+				"node": ">=16"
+			}
+		},
 		"node_modules/conventional-commits-parser": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz",
-			"integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz",
+			"integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==",
 			"dev": true,
 			"dependencies": {
 				"is-text-path": "^1.0.1",
-				"JSONStream": "^1.0.4",
-				"lodash": "^4.17.15",
-				"meow": "^8.0.0",
-				"split2": "^3.0.0",
-				"through2": "^4.0.0"
+				"JSONStream": "^1.3.5",
+				"meow": "^8.1.2",
+				"split2": "^3.2.2"
 			},
 			"bin": {
 				"conventional-commits-parser": "cli.js"
 			},
 			"engines": {
-				"node": ">=10"
+				"node": ">=14"
 			}
 		},
 		"node_modules/convert-source-map": {
@@ -3335,19 +3621,18 @@
 			}
 		},
 		"node_modules/cosmiconfig-typescript-loader": {
-			"version": "4.3.0",
-			"resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz",
-			"integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==",
+			"version": "4.4.0",
+			"resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz",
+			"integrity": "sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==",
 			"dev": true,
 			"engines": {
-				"node": ">=12",
-				"npm": ">=6"
+				"node": ">=v14.21.3"
 			},
 			"peerDependencies": {
 				"@types/node": "*",
 				"cosmiconfig": ">=7",
 				"ts-node": ">=10",
-				"typescript": ">=3"
+				"typescript": ">=4"
 			}
 		},
 		"node_modules/cosmiconfig/node_modules/argparse": {
@@ -3423,15 +3708,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/dateformat": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
-			"integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
-			"dev": true,
-			"engines": {
-				"node": "*"
-			}
-		},
 		"node_modules/debug": {
 			"version": "4.3.4",
 			"dev": true,
@@ -3622,49 +3898,67 @@
 			"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
 			"dev": true
 		},
+		"node_modules/emojilib": {
+			"version": "2.4.0",
+			"resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz",
+			"integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==",
+			"dev": true
+		},
 		"node_modules/env-ci": {
-			"version": "9.1.0",
-			"resolved": "https://registry.npmjs.org/env-ci/-/env-ci-9.1.0.tgz",
-			"integrity": "sha512-ZCEas2sDVFR3gpumwwzSU4OJZwWJ46yqJH3TqH3vSxEBzeAlC0uCJLGAnZC0vX1TIXzHzjcwpKmUn2xw5mC/qA==",
+			"version": "10.0.0",
+			"resolved": "https://registry.npmjs.org/env-ci/-/env-ci-10.0.0.tgz",
+			"integrity": "sha512-U4xcd/utDYFgMh0yWj07R1H6L5fwhVbmxBCpnL0DbVSDZVnsC82HONw0wxtxNkIAcua3KtbomQvIk5xFZGAQJw==",
 			"dev": true,
 			"dependencies": {
-				"execa": "^7.0.0",
+				"execa": "^8.0.0",
 				"java-properties": "^1.0.2"
 			},
 			"engines": {
-				"node": "^16.14 || >=18"
+				"node": "^18.17 || >=20.6.1"
 			}
 		},
 		"node_modules/env-ci/node_modules/execa": {
-			"version": "7.1.1",
-			"resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz",
-			"integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==",
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+			"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
 			"dev": true,
 			"dependencies": {
 				"cross-spawn": "^7.0.3",
-				"get-stream": "^6.0.1",
-				"human-signals": "^4.3.0",
+				"get-stream": "^8.0.1",
+				"human-signals": "^5.0.0",
 				"is-stream": "^3.0.0",
 				"merge-stream": "^2.0.0",
 				"npm-run-path": "^5.1.0",
 				"onetime": "^6.0.0",
-				"signal-exit": "^3.0.7",
+				"signal-exit": "^4.1.0",
 				"strip-final-newline": "^3.0.0"
 			},
 			"engines": {
-				"node": "^14.18.0 || ^16.14.0 || >=18.0.0"
+				"node": ">=16.17"
 			},
 			"funding": {
 				"url": "https://github.com/sindresorhus/execa?sponsor=1"
 			}
 		},
+		"node_modules/env-ci/node_modules/get-stream": {
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+			"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
+			"dev": true,
+			"engines": {
+				"node": ">=16"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/env-ci/node_modules/human-signals": {
-			"version": "4.3.1",
-			"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
-			"integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+			"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
 			"dev": true,
 			"engines": {
-				"node": ">=14.18.0"
+				"node": ">=16.17.0"
 			}
 		},
 		"node_modules/env-ci/node_modules/is-stream": {
@@ -3733,6 +4027,18 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/env-ci/node_modules/signal-exit": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+			"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+			"dev": true,
+			"engines": {
+				"node": ">=14"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
+			}
+		},
 		"node_modules/env-ci/node_modules/strip-final-newline": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
@@ -4065,9 +4371,10 @@
 			"license": "Apache-2.0"
 		},
 		"node_modules/fast-glob": {
-			"version": "3.2.12",
+			"version": "3.3.1",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
+			"integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@nodelib/fs.stat": "^2.0.2",
 				"@nodelib/fs.walk": "^1.2.3",
@@ -4440,13 +4747,13 @@
 			"dev": true
 		},
 		"node_modules/handlebars": {
-			"version": "4.7.7",
-			"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
-			"integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
+			"version": "4.7.8",
+			"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
+			"integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
 			"dev": true,
 			"dependencies": {
 				"minimist": "^1.2.5",
-				"neo-async": "^2.6.0",
+				"neo-async": "^2.6.2",
 				"source-map": "^0.6.1",
 				"wordwrap": "^1.0.0"
 			},
@@ -5742,12 +6049,6 @@
 			"integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==",
 			"dev": true
 		},
-		"node_modules/lodash.ismatch": {
-			"version": "4.4.0",
-			"resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz",
-			"integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==",
-			"dev": true
-		},
 		"node_modules/lodash.isplainobject": {
 			"version": "4.0.6",
 			"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
@@ -5875,35 +6176,35 @@
 			}
 		},
 		"node_modules/marked": {
-			"version": "4.3.0",
-			"resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
-			"integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
+			"version": "9.0.3",
+			"resolved": "https://registry.npmjs.org/marked/-/marked-9.0.3.tgz",
+			"integrity": "sha512-pI/k4nzBG1PEq1J3XFEHxVvjicfjl8rgaMaqclouGSMPhk7Q3Ejb2ZRxx/ZQOcQ1909HzVoWCFYq6oLgtL4BpQ==",
 			"dev": true,
 			"bin": {
 				"marked": "bin/marked.js"
 			},
 			"engines": {
-				"node": ">= 12"
+				"node": ">= 16"
 			}
 		},
 		"node_modules/marked-terminal": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.2.0.tgz",
-			"integrity": "sha512-Piv6yNwAQXGFjZSaiNljyNFw7jKDdGrw70FSbtxEyldLsyeuV5ZHm/1wW++kWbrOF1VPnUgYOhB2oLL0ZpnekA==",
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-6.0.0.tgz",
+			"integrity": "sha512-6rruICvqRfA4N+Mvdc0UyDbLA0A0nI5omtARIlin3P2F+aNc3EbW91Rd9HTuD0v9qWyHmNIu8Bt40gAnPfldsg==",
 			"dev": true,
 			"dependencies": {
 				"ansi-escapes": "^6.2.0",
 				"cardinal": "^2.1.1",
-				"chalk": "^5.2.0",
+				"chalk": "^5.3.0",
 				"cli-table3": "^0.6.3",
-				"node-emoji": "^1.11.0",
-				"supports-hyperlinks": "^2.3.0"
+				"node-emoji": "^2.1.0",
+				"supports-hyperlinks": "^3.0.0"
 			},
 			"engines": {
-				"node": ">=14.13.1 || >=16.0.0"
+				"node": ">=16.0.0"
 			},
 			"peerDependencies": {
-				"marked": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0"
+				"marked": ">=1 <10"
 			}
 		},
 		"node_modules/marked-terminal/node_modules/ansi-escapes": {
@@ -5922,9 +6223,9 @@
 			}
 		},
 		"node_modules/marked-terminal/node_modules/chalk": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz",
-			"integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==",
+			"version": "5.3.0",
+			"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+			"integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
 			"dev": true,
 			"engines": {
 				"node": "^12.17.0 || ^14.13 || >=16.0.0"
@@ -5934,9 +6235,9 @@
 			}
 		},
 		"node_modules/marked-terminal/node_modules/type-fest": {
-			"version": "3.11.1",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.11.1.tgz",
-			"integrity": "sha512-aCuRNRERRVh33lgQaJRlUxZqzfhzwTrsE98Mc3o3VXqmiaQdHacgUtJ0esp+7MvZ92qhtzKPeusaX6vIEcoreA==",
+			"version": "3.13.1",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
+			"integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
 			"dev": true,
 			"engines": {
 				"node": ">=14.16"
@@ -6209,15 +6510,6 @@
 				"node": ">= 6"
 			}
 		},
-		"node_modules/modify-values": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz",
-			"integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==",
-			"dev": true,
-			"engines": {
-				"node": ">=0.10.0"
-			}
-		},
 		"node_modules/ms": {
 			"version": "2.1.2",
 			"dev": true,
@@ -6269,32 +6561,15 @@
 			}
 		},
 		"node_modules/node-emoji": {
-			"version": "1.11.0",
-			"resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
-			"integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
-			"dev": true,
-			"dependencies": {
-				"lodash": "^4.17.21"
-			}
-		},
-		"node_modules/node-fetch": {
-			"version": "2.6.11",
-			"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
-			"integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
-			"dev": true,
-			"dependencies": {
-				"whatwg-url": "^5.0.0"
-			},
-			"engines": {
-				"node": "4.x || >=6.0.0"
-			},
-			"peerDependencies": {
-				"encoding": "^0.1.0"
-			},
-			"peerDependenciesMeta": {
-				"encoding": {
-					"optional": true
-				}
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.0.tgz",
+			"integrity": "sha512-tcsBm9C6FmPN5Wo7OjFi9lgMyJjvkAeirmjR/ax8Ttfqy4N8PoFic26uqFTIgayHPNI5FH4ltUvfh9kHzwcK9A==",
+			"dev": true,
+			"dependencies": {
+				"@sindresorhus/is": "^3.1.2",
+				"char-regex": "^1.0.2",
+				"emojilib": "^2.4.0",
+				"skin-tone": "^2.0.0"
 			}
 		},
 		"node_modules/node-int64": {
@@ -6361,16 +6636,19 @@
 			}
 		},
 		"node_modules/npm": {
-			"version": "9.6.7",
-			"resolved": "https://registry.npmjs.org/npm/-/npm-9.6.7.tgz",
-			"integrity": "sha512-xwkU1hSZl6Qrkfw3fhxVmMfNWu0A67+aZZs5gz/LoehCeAPkVhQDB90Z2NFoPSI1KpfBWCJ6Bp28wXzv5U5/2g==",
+			"version": "10.1.0",
+			"resolved": "https://registry.npmjs.org/npm/-/npm-10.1.0.tgz",
+			"integrity": "sha512-pZ2xybXzNGbJFZEKNbPoEXsE38Xou9VTnxxBk+B3pz0ndsGCs7iWHoUCPSsISU2hjmkWfDkJo3bYKE8RDOg4eg==",
 			"bundleDependencies": [
 				"@isaacs/string-locale-compare",
 				"@npmcli/arborist",
 				"@npmcli/config",
+				"@npmcli/fs",
 				"@npmcli/map-workspaces",
 				"@npmcli/package-json",
+				"@npmcli/promise-spawn",
 				"@npmcli/run-script",
+				"@sigstore/tuf",
 				"abbrev",
 				"archy",
 				"cacache",
@@ -6420,10 +6698,9 @@
 				"proc-log",
 				"qrcode-terminal",
 				"read",
-				"read-package-json",
-				"read-package-json-fast",
 				"semver",
 				"ssri",
+				"supports-color",
 				"tar",
 				"text-table",
 				"tiny-relative-date",
@@ -6435,70 +6712,72 @@
 			"dev": true,
 			"dependencies": {
 				"@isaacs/string-locale-compare": "^1.1.0",
-				"@npmcli/arborist": "^6.2.9",
-				"@npmcli/config": "^6.1.7",
+				"@npmcli/arborist": "^7.1.0",
+				"@npmcli/config": "^7.2.0",
+				"@npmcli/fs": "^3.1.0",
 				"@npmcli/map-workspaces": "^3.0.4",
-				"@npmcli/package-json": "^3.1.0",
-				"@npmcli/run-script": "^6.0.2",
+				"@npmcli/package-json": "^5.0.0",
+				"@npmcli/promise-spawn": "^7.0.0",
+				"@npmcli/run-script": "^7.0.1",
+				"@sigstore/tuf": "^2.1.0",
 				"abbrev": "^2.0.0",
 				"archy": "~1.0.0",
-				"cacache": "^17.1.2",
-				"chalk": "^4.1.2",
+				"cacache": "^18.0.0",
+				"chalk": "^5.3.0",
 				"ci-info": "^3.8.0",
 				"cli-columns": "^4.0.0",
 				"cli-table3": "^0.6.3",
 				"columnify": "^1.6.0",
 				"fastest-levenshtein": "^1.0.16",
-				"fs-minipass": "^3.0.2",
-				"glob": "^10.2.4",
+				"fs-minipass": "^3.0.3",
+				"glob": "^10.3.3",
 				"graceful-fs": "^4.2.11",
-				"hosted-git-info": "^6.1.1",
-				"ini": "^4.1.0",
-				"init-package-json": "^5.0.0",
+				"hosted-git-info": "^7.0.0",
+				"ini": "^4.1.1",
+				"init-package-json": "^6.0.0",
 				"is-cidr": "^4.0.2",
 				"json-parse-even-better-errors": "^3.0.0",
-				"libnpmaccess": "^7.0.2",
-				"libnpmdiff": "^5.0.17",
-				"libnpmexec": "^5.0.17",
-				"libnpmfund": "^4.0.17",
-				"libnpmhook": "^9.0.3",
-				"libnpmorg": "^5.0.4",
-				"libnpmpack": "^5.0.17",
-				"libnpmpublish": "^7.2.0",
-				"libnpmsearch": "^6.0.2",
-				"libnpmteam": "^5.0.3",
-				"libnpmversion": "^4.0.2",
-				"make-fetch-happen": "^11.1.1",
-				"minimatch": "^9.0.0",
-				"minipass": "^5.0.0",
+				"libnpmaccess": "^8.0.0",
+				"libnpmdiff": "^6.0.1",
+				"libnpmexec": "^7.0.1",
+				"libnpmfund": "^4.1.1",
+				"libnpmhook": "^10.0.0",
+				"libnpmorg": "^6.0.0",
+				"libnpmpack": "^6.0.1",
+				"libnpmpublish": "^9.0.0",
+				"libnpmsearch": "^7.0.0",
+				"libnpmteam": "^6.0.0",
+				"libnpmversion": "^5.0.0",
+				"make-fetch-happen": "^13.0.0",
+				"minimatch": "^9.0.3",
+				"minipass": "^7.0.3",
 				"minipass-pipeline": "^1.2.4",
 				"ms": "^2.1.2",
-				"node-gyp": "^9.3.1",
-				"nopt": "^7.1.0",
-				"npm-audit-report": "^4.0.0",
-				"npm-install-checks": "^6.1.1",
-				"npm-package-arg": "^10.1.0",
-				"npm-pick-manifest": "^8.0.1",
-				"npm-profile": "^7.0.1",
-				"npm-registry-fetch": "^14.0.5",
+				"node-gyp": "^9.4.0",
+				"nopt": "^7.2.0",
+				"npm-audit-report": "^5.0.0",
+				"npm-install-checks": "^6.2.0",
+				"npm-package-arg": "^11.0.0",
+				"npm-pick-manifest": "^9.0.0",
+				"npm-profile": "^9.0.0",
+				"npm-registry-fetch": "^16.0.0",
 				"npm-user-validate": "^2.0.0",
 				"npmlog": "^7.0.1",
 				"p-map": "^4.0.0",
-				"pacote": "^15.1.3",
+				"pacote": "^17.0.4",
 				"parse-conflict-json": "^3.0.1",
 				"proc-log": "^3.0.0",
 				"qrcode-terminal": "^0.12.0",
 				"read": "^2.1.0",
-				"read-package-json": "^6.0.3",
-				"read-package-json-fast": "^3.0.2",
-				"semver": "^7.5.1",
-				"ssri": "^10.0.4",
-				"tar": "^6.1.14",
+				"semver": "^7.5.4",
+				"ssri": "^10.0.5",
+				"supports-color": "^9.4.0",
+				"tar": "^6.1.15",
 				"text-table": "~0.2.0",
 				"tiny-relative-date": "^1.3.0",
 				"treeverse": "^3.0.0",
 				"validate-npm-package-name": "^5.0.0",
-				"which": "^3.0.1",
+				"which": "^4.0.0",
 				"write-file-atomic": "^5.0.1"
 			},
 			"bin": {
@@ -6506,7 +6785,7 @@
 				"npx": "bin/npx-cli.js"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^18.17.0 || >=20.5.0"
 			}
 		},
 		"node_modules/npm-run-path": {
@@ -6531,12 +6810,6 @@
 				"node": ">=0.1.90"
 			}
 		},
-		"node_modules/npm/node_modules/@gar/promisify": {
-			"version": "1.1.3",
-			"dev": true,
-			"inBundle": true,
-			"license": "MIT"
-		},
 		"node_modules/npm/node_modules/@isaacs/cliui": {
 			"version": "8.0.2",
 			"dev": true,
@@ -6590,7 +6863,7 @@
 			}
 		},
 		"node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": {
-			"version": "7.0.1",
+			"version": "7.1.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "MIT",
@@ -6610,8 +6883,75 @@
 			"inBundle": true,
 			"license": "ISC"
 		},
+		"node_modules/npm/node_modules/@npmcli/agent": {
+			"version": "2.1.1",
+			"dev": true,
+			"inBundle": true,
+			"license": "ISC",
+			"dependencies": {
+				"http-proxy-agent": "^7.0.0",
+				"https-proxy-agent": "^7.0.1",
+				"lru-cache": "^10.0.1",
+				"socks-proxy-agent": "^8.0.1"
+			},
+			"engines": {
+				"node": "^16.14.0 || >=18.0.0"
+			}
+		},
+		"node_modules/npm/node_modules/@npmcli/agent/node_modules/agent-base": {
+			"version": "7.1.0",
+			"dev": true,
+			"inBundle": true,
+			"license": "MIT",
+			"dependencies": {
+				"debug": "^4.3.4"
+			},
+			"engines": {
+				"node": ">= 14"
+			}
+		},
+		"node_modules/npm/node_modules/@npmcli/agent/node_modules/http-proxy-agent": {
+			"version": "7.0.0",
+			"dev": true,
+			"inBundle": true,
+			"license": "MIT",
+			"dependencies": {
+				"agent-base": "^7.1.0",
+				"debug": "^4.3.4"
+			},
+			"engines": {
+				"node": ">= 14"
+			}
+		},
+		"node_modules/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent": {
+			"version": "7.0.1",
+			"dev": true,
+			"inBundle": true,
+			"license": "MIT",
+			"dependencies": {
+				"agent-base": "^7.0.2",
+				"debug": "4"
+			},
+			"engines": {
+				"node": ">= 14"
+			}
+		},
+		"node_modules/npm/node_modules/@npmcli/agent/node_modules/socks-proxy-agent": {
+			"version": "8.0.1",
+			"dev": true,
+			"inBundle": true,
+			"license": "MIT",
+			"dependencies": {
+				"agent-base": "^7.0.1",
+				"debug": "^4.3.4",
+				"socks": "^2.7.1"
+			},
+			"engines": {
+				"node": ">= 14"
+			}
+		},
 		"node_modules/npm/node_modules/@npmcli/arborist": {
-			"version": "6.2.9",
+			"version": "7.1.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
@@ -6620,33 +6960,33 @@
 				"@npmcli/fs": "^3.1.0",
 				"@npmcli/installed-package-contents": "^2.0.2",
 				"@npmcli/map-workspaces": "^3.0.2",
-				"@npmcli/metavuln-calculator": "^5.0.0",
+				"@npmcli/metavuln-calculator": "^7.0.0",
 				"@npmcli/name-from-folder": "^2.0.0",
 				"@npmcli/node-gyp": "^3.0.0",
-				"@npmcli/package-json": "^3.0.0",
+				"@npmcli/package-json": "^5.0.0",
 				"@npmcli/query": "^3.0.0",
-				"@npmcli/run-script": "^6.0.0",
+				"@npmcli/run-script": "^7.0.1",
 				"bin-links": "^4.0.1",
-				"cacache": "^17.0.4",
+				"cacache": "^18.0.0",
 				"common-ancestor-path": "^1.0.1",
-				"hosted-git-info": "^6.1.1",
+				"hosted-git-info": "^7.0.0",
 				"json-parse-even-better-errors": "^3.0.0",
 				"json-stringify-nice": "^1.1.4",
 				"minimatch": "^9.0.0",
 				"nopt": "^7.0.0",
-				"npm-install-checks": "^6.0.0",
-				"npm-package-arg": "^10.1.0",
-				"npm-pick-manifest": "^8.0.1",
-				"npm-registry-fetch": "^14.0.3",
+				"npm-install-checks": "^6.2.0",
+				"npm-package-arg": "^11.0.0",
+				"npm-pick-manifest": "^9.0.0",
+				"npm-registry-fetch": "^16.0.0",
 				"npmlog": "^7.0.1",
-				"pacote": "^15.0.8",
+				"pacote": "^17.0.4",
 				"parse-conflict-json": "^3.0.0",
 				"proc-log": "^3.0.0",
 				"promise-all-reject-late": "^1.0.0",
 				"promise-call-limit": "^1.0.2",
 				"read-package-json-fast": "^3.0.2",
 				"semver": "^7.3.7",
-				"ssri": "^10.0.1",
+				"ssri": "^10.0.5",
 				"treeverse": "^3.0.0",
 				"walk-up-path": "^3.0.1"
 			},
@@ -6654,16 +6994,17 @@
 				"arborist": "bin/index.js"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/@npmcli/config": {
-			"version": "6.1.7",
+			"version": "7.2.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
 				"@npmcli/map-workspaces": "^3.0.2",
+				"ci-info": "^3.8.0",
 				"ini": "^4.1.0",
 				"nopt": "^7.0.0",
 				"proc-log": "^3.0.0",
@@ -6700,22 +7041,22 @@
 			}
 		},
 		"node_modules/npm/node_modules/@npmcli/git": {
-			"version": "4.0.4",
+			"version": "5.0.3",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"@npmcli/promise-spawn": "^6.0.0",
-				"lru-cache": "^7.4.4",
-				"npm-pick-manifest": "^8.0.0",
+				"@npmcli/promise-spawn": "^7.0.0",
+				"lru-cache": "^10.0.1",
+				"npm-pick-manifest": "^9.0.0",
 				"proc-log": "^3.0.0",
 				"promise-inflight": "^1.0.1",
 				"promise-retry": "^2.0.1",
 				"semver": "^7.3.5",
-				"which": "^3.0.0"
+				"which": "^4.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/@npmcli/installed-package-contents": {
@@ -6750,31 +7091,18 @@
 			}
 		},
 		"node_modules/npm/node_modules/@npmcli/metavuln-calculator": {
-			"version": "5.0.1",
+			"version": "7.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"cacache": "^17.0.0",
+				"cacache": "^18.0.0",
 				"json-parse-even-better-errors": "^3.0.0",
-				"pacote": "^15.0.0",
+				"pacote": "^17.0.0",
 				"semver": "^7.3.5"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
-			}
-		},
-		"node_modules/npm/node_modules/@npmcli/move-file": {
-			"version": "2.0.1",
-			"dev": true,
-			"inBundle": true,
-			"license": "MIT",
-			"dependencies": {
-				"mkdirp": "^1.0.4",
-				"rimraf": "^3.0.2"
-			},
-			"engines": {
-				"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/@npmcli/name-from-folder": {
@@ -6796,30 +7124,33 @@
 			}
 		},
 		"node_modules/npm/node_modules/@npmcli/package-json": {
-			"version": "3.1.0",
+			"version": "5.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
+				"@npmcli/git": "^5.0.0",
 				"glob": "^10.2.2",
+				"hosted-git-info": "^7.0.0",
 				"json-parse-even-better-errors": "^3.0.0",
-				"normalize-package-data": "^5.0.0",
-				"npm-normalize-package-bin": "^3.0.1"
+				"normalize-package-data": "^6.0.0",
+				"proc-log": "^3.0.0",
+				"semver": "^7.5.3"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/@npmcli/promise-spawn": {
-			"version": "6.0.2",
+			"version": "7.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"which": "^3.0.0"
+				"which": "^4.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/@npmcli/query": {
@@ -6835,19 +7166,19 @@
 			}
 		},
 		"node_modules/npm/node_modules/@npmcli/run-script": {
-			"version": "6.0.2",
+			"version": "7.0.1",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
 				"@npmcli/node-gyp": "^3.0.0",
-				"@npmcli/promise-spawn": "^6.0.0",
+				"@npmcli/promise-spawn": "^7.0.0",
 				"node-gyp": "^9.0.0",
 				"read-package-json-fast": "^3.0.0",
-				"which": "^3.0.0"
+				"which": "^4.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/@pkgjs/parseargs": {
@@ -6860,8 +7191,20 @@
 				"node": ">=14"
 			}
 		},
+		"node_modules/npm/node_modules/@sigstore/bundle": {
+			"version": "2.1.0",
+			"dev": true,
+			"inBundle": true,
+			"license": "Apache-2.0",
+			"dependencies": {
+				"@sigstore/protobuf-specs": "^0.2.1"
+			},
+			"engines": {
+				"node": "^16.14.0 || >=18.0.0"
+			}
+		},
 		"node_modules/npm/node_modules/@sigstore/protobuf-specs": {
-			"version": "0.1.0",
+			"version": "0.2.1",
 			"dev": true,
 			"inBundle": true,
 			"license": "Apache-2.0",
@@ -6869,6 +7212,33 @@
 				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
 			}
 		},
+		"node_modules/npm/node_modules/@sigstore/sign": {
+			"version": "2.1.0",
+			"dev": true,
+			"inBundle": true,
+			"license": "Apache-2.0",
+			"dependencies": {
+				"@sigstore/bundle": "^2.1.0",
+				"@sigstore/protobuf-specs": "^0.2.1",
+				"make-fetch-happen": "^13.0.0"
+			},
+			"engines": {
+				"node": "^16.14.0 || >=18.0.0"
+			}
+		},
+		"node_modules/npm/node_modules/@sigstore/tuf": {
+			"version": "2.1.0",
+			"dev": true,
+			"inBundle": true,
+			"license": "Apache-2.0",
+			"dependencies": {
+				"@sigstore/protobuf-specs": "^0.2.1",
+				"tuf-js": "^2.1.0"
+			},
+			"engines": {
+				"node": "^16.14.0 || >=18.0.0"
+			}
+		},
 		"node_modules/npm/node_modules/@tootallnate/once": {
 			"version": "2.0.0",
 			"dev": true,
@@ -6879,25 +7249,25 @@
 			}
 		},
 		"node_modules/npm/node_modules/@tufjs/canonical-json": {
-			"version": "1.0.0",
+			"version": "2.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "MIT",
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/@tufjs/models": {
-			"version": "1.0.4",
+			"version": "2.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "MIT",
 			"dependencies": {
-				"@tufjs/canonical-json": "1.0.0",
-				"minimatch": "^9.0.0"
+				"@tufjs/canonical-json": "2.0.0",
+				"minimatch": "^9.0.3"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/abbrev": {
@@ -6934,13 +7304,11 @@
 			}
 		},
 		"node_modules/npm/node_modules/agentkeepalive": {
-			"version": "4.3.0",
+			"version": "4.5.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "MIT",
 			"dependencies": {
-				"debug": "^4.1.0",
-				"depd": "^2.0.0",
 				"humanize-ms": "^1.2.1"
 			},
 			"engines": {
@@ -7036,7 +7404,7 @@
 			"license": "MIT"
 		},
 		"node_modules/npm/node_modules/bin-links": {
-			"version": "4.0.1",
+			"version": "4.0.2",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
@@ -7102,7 +7470,7 @@
 			}
 		},
 		"node_modules/npm/node_modules/cacache": {
-			"version": "17.1.2",
+			"version": "18.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
@@ -7110,8 +7478,8 @@
 				"@npmcli/fs": "^3.1.0",
 				"fs-minipass": "^3.0.0",
 				"glob": "^10.2.2",
-				"lru-cache": "^7.7.1",
-				"minipass": "^5.0.0",
+				"lru-cache": "^10.0.1",
+				"minipass": "^7.0.3",
 				"minipass-collect": "^1.0.2",
 				"minipass-flush": "^1.0.5",
 				"minipass-pipeline": "^1.2.4",
@@ -7121,20 +7489,16 @@
 				"unique-filename": "^3.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/chalk": {
-			"version": "4.1.2",
+			"version": "5.3.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "MIT",
-			"dependencies": {
-				"ansi-styles": "^4.1.0",
-				"supports-color": "^7.1.0"
-			},
 			"engines": {
-				"node": ">=10"
+				"node": "^12.17.0 || ^14.13 || >=16.0.0"
 			},
 			"funding": {
 				"url": "https://github.com/chalk/chalk?sponsor=1"
@@ -7371,15 +7735,6 @@
 			"inBundle": true,
 			"license": "MIT"
 		},
-		"node_modules/npm/node_modules/depd": {
-			"version": "2.0.0",
-			"dev": true,
-			"inBundle": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 0.8"
-			}
-		},
 		"node_modules/npm/node_modules/diff": {
 			"version": "5.1.0",
 			"dev": true,
@@ -7444,6 +7799,12 @@
 				"node": ">=0.8.x"
 			}
 		},
+		"node_modules/npm/node_modules/exponential-backoff": {
+			"version": "3.1.1",
+			"dev": true,
+			"inBundle": true,
+			"license": "Apache-2.0"
+		},
 		"node_modules/npm/node_modules/fastest-levenshtein": {
 			"version": "1.0.16",
 			"dev": true,
@@ -7470,12 +7831,12 @@
 			}
 		},
 		"node_modules/npm/node_modules/fs-minipass": {
-			"version": "3.0.2",
+			"version": "3.0.3",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"minipass": "^5.0.0"
+				"minipass": "^7.0.3"
 			},
 			"engines": {
 				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -7513,16 +7874,16 @@
 			}
 		},
 		"node_modules/npm/node_modules/glob": {
-			"version": "10.2.4",
+			"version": "10.3.3",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
 				"foreground-child": "^3.1.0",
 				"jackspeak": "^2.0.3",
-				"minimatch": "^9.0.0",
-				"minipass": "^5.0.0 || ^6.0.0",
-				"path-scurry": "^1.7.0"
+				"minimatch": "^9.0.1",
+				"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+				"path-scurry": "^1.10.1"
 			},
 			"bin": {
 				"glob": "dist/cjs/src/bin.js"
@@ -7552,15 +7913,6 @@
 				"node": ">= 0.4.0"
 			}
 		},
-		"node_modules/npm/node_modules/has-flag": {
-			"version": "4.0.0",
-			"dev": true,
-			"inBundle": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/npm/node_modules/has-unicode": {
 			"version": "2.0.1",
 			"dev": true,
@@ -7568,15 +7920,15 @@
 			"license": "ISC"
 		},
 		"node_modules/npm/node_modules/hosted-git-info": {
-			"version": "6.1.1",
+			"version": "7.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"lru-cache": "^7.5.1"
+				"lru-cache": "^10.0.1"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/http-cache-semantics": {
@@ -7684,12 +8036,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/npm/node_modules/infer-owner": {
-			"version": "1.0.4",
-			"dev": true,
-			"inBundle": true,
-			"license": "ISC"
-		},
 		"node_modules/npm/node_modules/inflight": {
 			"version": "1.0.6",
 			"dev": true,
@@ -7707,7 +8053,7 @@
 			"license": "ISC"
 		},
 		"node_modules/npm/node_modules/ini": {
-			"version": "4.1.0",
+			"version": "4.1.1",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
@@ -7716,21 +8062,21 @@
 			}
 		},
 		"node_modules/npm/node_modules/init-package-json": {
-			"version": "5.0.0",
+			"version": "6.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"npm-package-arg": "^10.0.0",
+				"npm-package-arg": "^11.0.0",
 				"promzard": "^1.0.0",
 				"read": "^2.0.0",
-				"read-package-json": "^6.0.0",
+				"read-package-json": "^7.0.0",
 				"semver": "^7.3.5",
 				"validate-npm-package-license": "^3.0.4",
 				"validate-npm-package-name": "^5.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/ip": {
@@ -7761,7 +8107,7 @@
 			}
 		},
 		"node_modules/npm/node_modules/is-core-module": {
-			"version": "2.12.0",
+			"version": "2.12.1",
 			"dev": true,
 			"inBundle": true,
 			"license": "MIT",
@@ -7794,7 +8140,7 @@
 			"license": "ISC"
 		},
 		"node_modules/npm/node_modules/jackspeak": {
-			"version": "2.2.0",
+			"version": "2.2.1",
 			"dev": true,
 			"inBundle": true,
 			"license": "BlueOak-1.0.0",
@@ -7851,51 +8197,50 @@
 			"license": "MIT"
 		},
 		"node_modules/npm/node_modules/libnpmaccess": {
-			"version": "7.0.2",
+			"version": "8.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"npm-package-arg": "^10.1.0",
-				"npm-registry-fetch": "^14.0.3"
+				"npm-package-arg": "^11.0.0",
+				"npm-registry-fetch": "^16.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/libnpmdiff": {
-			"version": "5.0.17",
+			"version": "6.0.1",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"@npmcli/arborist": "^6.2.9",
+				"@npmcli/arborist": "^7.1.0",
 				"@npmcli/disparity-colors": "^3.0.0",
 				"@npmcli/installed-package-contents": "^2.0.2",
 				"binary-extensions": "^2.2.0",
 				"diff": "^5.1.0",
 				"minimatch": "^9.0.0",
-				"npm-package-arg": "^10.1.0",
-				"pacote": "^15.0.8",
+				"npm-package-arg": "^11.0.0",
+				"pacote": "^17.0.4",
 				"tar": "^6.1.13"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/libnpmexec": {
-			"version": "5.0.17",
+			"version": "7.0.1",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"@npmcli/arborist": "^6.2.9",
-				"@npmcli/run-script": "^6.0.0",
-				"chalk": "^4.1.0",
+				"@npmcli/arborist": "^7.1.0",
+				"@npmcli/run-script": "^7.0.1",
 				"ci-info": "^3.7.1",
-				"npm-package-arg": "^10.1.0",
+				"npm-package-arg": "^11.0.0",
 				"npmlog": "^7.0.1",
-				"pacote": "^15.0.8",
+				"pacote": "^17.0.4",
 				"proc-log": "^3.0.0",
 				"read": "^2.0.0",
 				"read-package-json-fast": "^3.0.2",
@@ -7903,159 +8248,155 @@
 				"walk-up-path": "^3.0.1"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/libnpmfund": {
-			"version": "4.0.17",
+			"version": "4.1.1",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"@npmcli/arborist": "^6.2.9"
+				"@npmcli/arborist": "^7.1.0"
 			},
 			"engines": {
 				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/libnpmhook": {
-			"version": "9.0.3",
+			"version": "10.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
 				"aproba": "^2.0.0",
-				"npm-registry-fetch": "^14.0.3"
+				"npm-registry-fetch": "^16.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/libnpmorg": {
-			"version": "5.0.4",
+			"version": "6.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
 				"aproba": "^2.0.0",
-				"npm-registry-fetch": "^14.0.3"
+				"npm-registry-fetch": "^16.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/libnpmpack": {
-			"version": "5.0.17",
+			"version": "6.0.1",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"@npmcli/arborist": "^6.2.9",
-				"@npmcli/run-script": "^6.0.0",
-				"npm-package-arg": "^10.1.0",
-				"pacote": "^15.0.8"
+				"@npmcli/arborist": "^7.1.0",
+				"@npmcli/run-script": "^7.0.1",
+				"npm-package-arg": "^11.0.0",
+				"pacote": "^17.0.4"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/libnpmpublish": {
-			"version": "7.2.0",
+			"version": "9.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
 				"ci-info": "^3.6.1",
-				"normalize-package-data": "^5.0.0",
-				"npm-package-arg": "^10.1.0",
-				"npm-registry-fetch": "^14.0.3",
+				"normalize-package-data": "^6.0.0",
+				"npm-package-arg": "^11.0.0",
+				"npm-registry-fetch": "^16.0.0",
 				"proc-log": "^3.0.0",
 				"semver": "^7.3.7",
-				"sigstore": "^1.4.0",
-				"ssri": "^10.0.1"
+				"sigstore": "^2.1.0",
+				"ssri": "^10.0.5"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/libnpmsearch": {
-			"version": "6.0.2",
+			"version": "7.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"npm-registry-fetch": "^14.0.3"
+				"npm-registry-fetch": "^16.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/libnpmteam": {
-			"version": "5.0.3",
+			"version": "6.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
 				"aproba": "^2.0.0",
-				"npm-registry-fetch": "^14.0.3"
+				"npm-registry-fetch": "^16.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/libnpmversion": {
-			"version": "4.0.2",
+			"version": "5.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"@npmcli/git": "^4.0.1",
-				"@npmcli/run-script": "^6.0.0",
+				"@npmcli/git": "^5.0.3",
+				"@npmcli/run-script": "^7.0.1",
 				"json-parse-even-better-errors": "^3.0.0",
 				"proc-log": "^3.0.0",
 				"semver": "^7.3.7"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/lru-cache": {
-			"version": "7.18.3",
+			"version": "10.0.1",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"engines": {
-				"node": ">=12"
+				"node": "14 || >=16.14"
 			}
 		},
 		"node_modules/npm/node_modules/make-fetch-happen": {
-			"version": "11.1.1",
+			"version": "13.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"agentkeepalive": "^4.2.1",
-				"cacache": "^17.0.0",
+				"@npmcli/agent": "^2.0.0",
+				"cacache": "^18.0.0",
 				"http-cache-semantics": "^4.1.1",
-				"http-proxy-agent": "^5.0.0",
-				"https-proxy-agent": "^5.0.0",
 				"is-lambda": "^1.0.1",
-				"lru-cache": "^7.7.1",
-				"minipass": "^5.0.0",
+				"minipass": "^7.0.2",
 				"minipass-fetch": "^3.0.0",
 				"minipass-flush": "^1.0.5",
 				"minipass-pipeline": "^1.2.4",
 				"negotiator": "^0.6.3",
 				"promise-retry": "^2.0.1",
-				"socks-proxy-agent": "^7.0.0",
 				"ssri": "^10.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/minimatch": {
-			"version": "9.0.0",
+			"version": "9.0.3",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
@@ -8070,12 +8411,12 @@
 			}
 		},
 		"node_modules/npm/node_modules/minipass": {
-			"version": "5.0.0",
+			"version": "7.0.3",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"engines": {
-				"node": ">=8"
+				"node": ">=16 || 14 >=14.17"
 			}
 		},
 		"node_modules/npm/node_modules/minipass-collect": {
@@ -8103,12 +8444,12 @@
 			}
 		},
 		"node_modules/npm/node_modules/minipass-fetch": {
-			"version": "3.0.3",
+			"version": "3.0.4",
 			"dev": true,
 			"inBundle": true,
 			"license": "MIT",
 			"dependencies": {
-				"minipass": "^5.0.0",
+				"minipass": "^7.0.3",
 				"minipass-sized": "^1.0.3",
 				"minizlib": "^2.1.2"
 			},
@@ -8275,15 +8616,16 @@
 			}
 		},
 		"node_modules/npm/node_modules/node-gyp": {
-			"version": "9.3.1",
+			"version": "9.4.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "MIT",
 			"dependencies": {
 				"env-paths": "^2.2.0",
+				"exponential-backoff": "^3.1.1",
 				"glob": "^7.1.4",
 				"graceful-fs": "^4.2.6",
-				"make-fetch-happen": "^10.0.3",
+				"make-fetch-happen": "^11.0.3",
 				"nopt": "^6.0.0",
 				"npmlog": "^6.0.0",
 				"rimraf": "^3.0.2",
@@ -8298,19 +8640,6 @@
 				"node": "^12.13 || ^14.13 || >=16"
 			}
 		},
-		"node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/fs": {
-			"version": "2.1.2",
-			"dev": true,
-			"inBundle": true,
-			"license": "ISC",
-			"dependencies": {
-				"@gar/promisify": "^1.1.3",
-				"semver": "^7.3.5"
-			},
-			"engines": {
-				"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
-			}
-		},
 		"node_modules/npm/node_modules/node-gyp/node_modules/abbrev": {
 			"version": "1.1.1",
 			"dev": true,
@@ -8341,32 +8670,26 @@
 			}
 		},
 		"node_modules/npm/node_modules/node-gyp/node_modules/cacache": {
-			"version": "16.1.3",
+			"version": "17.1.4",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"@npmcli/fs": "^2.1.0",
-				"@npmcli/move-file": "^2.0.0",
-				"chownr": "^2.0.0",
-				"fs-minipass": "^2.1.0",
-				"glob": "^8.0.1",
-				"infer-owner": "^1.0.4",
+				"@npmcli/fs": "^3.1.0",
+				"fs-minipass": "^3.0.0",
+				"glob": "^10.2.2",
 				"lru-cache": "^7.7.1",
-				"minipass": "^3.1.6",
+				"minipass": "^7.0.3",
 				"minipass-collect": "^1.0.2",
 				"minipass-flush": "^1.0.5",
 				"minipass-pipeline": "^1.2.4",
-				"mkdirp": "^1.0.4",
 				"p-map": "^4.0.0",
-				"promise-inflight": "^1.0.1",
-				"rimraf": "^3.0.2",
-				"ssri": "^9.0.0",
+				"ssri": "^10.0.0",
 				"tar": "^6.1.11",
-				"unique-filename": "^2.0.0"
+				"unique-filename": "^3.0.0"
 			},
 			"engines": {
-				"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/brace-expansion": {
@@ -8379,26 +8702,29 @@
 			}
 		},
 		"node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/glob": {
-			"version": "8.1.0",
+			"version": "10.3.3",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"fs.realpath": "^1.0.0",
-				"inflight": "^1.0.4",
-				"inherits": "2",
-				"minimatch": "^5.0.1",
-				"once": "^1.3.0"
+				"foreground-child": "^3.1.0",
+				"jackspeak": "^2.0.3",
+				"minimatch": "^9.0.1",
+				"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+				"path-scurry": "^1.10.1"
+			},
+			"bin": {
+				"glob": "dist/cjs/src/bin.js"
 			},
 			"engines": {
-				"node": ">=12"
+				"node": ">=16 || 14 >=14.17"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
 		"node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minimatch": {
-			"version": "5.1.6",
+			"version": "9.0.3",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
@@ -8406,19 +8732,19 @@
 				"brace-expansion": "^2.0.1"
 			},
 			"engines": {
-				"node": ">=10"
+				"node": ">=16 || 14 >=14.17"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
-		"node_modules/npm/node_modules/node-gyp/node_modules/fs-minipass": {
-			"version": "2.1.0",
+		"node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass": {
+			"version": "7.0.3",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
-			"dependencies": {
-				"minipass": "^3.0.0"
-			},
 			"engines": {
-				"node": ">= 8"
+				"node": ">=16 || 14 >=14.17"
 			}
 		},
 		"node_modules/npm/node_modules/node-gyp/node_modules/gauge": {
@@ -8460,31 +8786,39 @@
 				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
+		"node_modules/npm/node_modules/node-gyp/node_modules/lru-cache": {
+			"version": "7.18.3",
+			"dev": true,
+			"inBundle": true,
+			"license": "ISC",
+			"engines": {
+				"node": ">=12"
+			}
+		},
 		"node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": {
-			"version": "10.2.1",
+			"version": "11.1.1",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
 				"agentkeepalive": "^4.2.1",
-				"cacache": "^16.1.0",
-				"http-cache-semantics": "^4.1.0",
+				"cacache": "^17.0.0",
+				"http-cache-semantics": "^4.1.1",
 				"http-proxy-agent": "^5.0.0",
 				"https-proxy-agent": "^5.0.0",
 				"is-lambda": "^1.0.1",
 				"lru-cache": "^7.7.1",
-				"minipass": "^3.1.6",
-				"minipass-collect": "^1.0.2",
-				"minipass-fetch": "^2.0.3",
+				"minipass": "^5.0.0",
+				"minipass-fetch": "^3.0.0",
 				"minipass-flush": "^1.0.5",
 				"minipass-pipeline": "^1.2.4",
 				"negotiator": "^0.6.3",
 				"promise-retry": "^2.0.1",
 				"socks-proxy-agent": "^7.0.0",
-				"ssri": "^9.0.0"
+				"ssri": "^10.0.0"
 			},
 			"engines": {
-				"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/node-gyp/node_modules/minimatch": {
@@ -8500,34 +8834,14 @@
 			}
 		},
 		"node_modules/npm/node_modules/node-gyp/node_modules/minipass": {
-			"version": "3.3.6",
+			"version": "5.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
-			"dependencies": {
-				"yallist": "^4.0.0"
-			},
 			"engines": {
 				"node": ">=8"
 			}
 		},
-		"node_modules/npm/node_modules/node-gyp/node_modules/minipass-fetch": {
-			"version": "2.1.2",
-			"dev": true,
-			"inBundle": true,
-			"license": "MIT",
-			"dependencies": {
-				"minipass": "^3.1.6",
-				"minipass-sized": "^1.0.3",
-				"minizlib": "^2.1.2"
-			},
-			"engines": {
-				"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
-			},
-			"optionalDependencies": {
-				"encoding": "^0.1.13"
-			}
-		},
 		"node_modules/npm/node_modules/node-gyp/node_modules/nopt": {
 			"version": "6.0.0",
 			"dev": true,
@@ -8578,42 +8892,6 @@
 			"inBundle": true,
 			"license": "ISC"
 		},
-		"node_modules/npm/node_modules/node-gyp/node_modules/ssri": {
-			"version": "9.0.1",
-			"dev": true,
-			"inBundle": true,
-			"license": "ISC",
-			"dependencies": {
-				"minipass": "^3.1.1"
-			},
-			"engines": {
-				"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
-			}
-		},
-		"node_modules/npm/node_modules/node-gyp/node_modules/unique-filename": {
-			"version": "2.0.1",
-			"dev": true,
-			"inBundle": true,
-			"license": "ISC",
-			"dependencies": {
-				"unique-slug": "^3.0.0"
-			},
-			"engines": {
-				"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
-			}
-		},
-		"node_modules/npm/node_modules/node-gyp/node_modules/unique-slug": {
-			"version": "3.0.0",
-			"dev": true,
-			"inBundle": true,
-			"license": "ISC",
-			"dependencies": {
-				"imurmurhash": "^0.1.4"
-			},
-			"engines": {
-				"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
-			}
-		},
 		"node_modules/npm/node_modules/node-gyp/node_modules/which": {
 			"version": "2.0.2",
 			"dev": true,
@@ -8630,7 +8908,7 @@
 			}
 		},
 		"node_modules/npm/node_modules/nopt": {
-			"version": "7.1.0",
+			"version": "7.2.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
@@ -8645,28 +8923,25 @@
 			}
 		},
 		"node_modules/npm/node_modules/normalize-package-data": {
-			"version": "5.0.0",
+			"version": "6.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "BSD-2-Clause",
 			"dependencies": {
-				"hosted-git-info": "^6.0.0",
+				"hosted-git-info": "^7.0.0",
 				"is-core-module": "^2.8.1",
 				"semver": "^7.3.5",
 				"validate-npm-package-license": "^3.0.4"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/npm-audit-report": {
-			"version": "4.0.0",
+			"version": "5.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
-			"dependencies": {
-				"chalk": "^4.0.0"
-			},
 			"engines": {
 				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
 			}
@@ -8684,7 +8959,7 @@
 			}
 		},
 		"node_modules/npm/node_modules/npm-install-checks": {
-			"version": "6.1.1",
+			"version": "6.2.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "BSD-2-Clause",
@@ -8705,22 +8980,22 @@
 			}
 		},
 		"node_modules/npm/node_modules/npm-package-arg": {
-			"version": "10.1.0",
+			"version": "11.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"hosted-git-info": "^6.0.0",
+				"hosted-git-info": "^7.0.0",
 				"proc-log": "^3.0.0",
 				"semver": "^7.3.5",
 				"validate-npm-package-name": "^5.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/npm-packlist": {
-			"version": "7.0.4",
+			"version": "8.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
@@ -8732,49 +9007,49 @@
 			}
 		},
 		"node_modules/npm/node_modules/npm-pick-manifest": {
-			"version": "8.0.1",
+			"version": "9.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
 				"npm-install-checks": "^6.0.0",
 				"npm-normalize-package-bin": "^3.0.0",
-				"npm-package-arg": "^10.0.0",
+				"npm-package-arg": "^11.0.0",
 				"semver": "^7.3.5"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/npm-profile": {
-			"version": "7.0.1",
+			"version": "9.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"npm-registry-fetch": "^14.0.0",
+				"npm-registry-fetch": "^16.0.0",
 				"proc-log": "^3.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/npm-registry-fetch": {
-			"version": "14.0.5",
+			"version": "16.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"make-fetch-happen": "^11.0.0",
-				"minipass": "^5.0.0",
+				"make-fetch-happen": "^13.0.0",
+				"minipass": "^7.0.2",
 				"minipass-fetch": "^3.0.0",
 				"minipass-json-stream": "^1.0.1",
 				"minizlib": "^2.1.2",
-				"npm-package-arg": "^10.0.0",
+				"npm-package-arg": "^11.0.0",
 				"proc-log": "^3.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/npm-user-validate": {
@@ -8826,27 +9101,27 @@
 			}
 		},
 		"node_modules/npm/node_modules/pacote": {
-			"version": "15.1.3",
+			"version": "17.0.4",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"@npmcli/git": "^4.0.0",
+				"@npmcli/git": "^5.0.0",
 				"@npmcli/installed-package-contents": "^2.0.1",
-				"@npmcli/promise-spawn": "^6.0.1",
-				"@npmcli/run-script": "^6.0.0",
-				"cacache": "^17.0.0",
+				"@npmcli/promise-spawn": "^7.0.0",
+				"@npmcli/run-script": "^7.0.0",
+				"cacache": "^18.0.0",
 				"fs-minipass": "^3.0.0",
-				"minipass": "^5.0.0",
-				"npm-package-arg": "^10.0.0",
-				"npm-packlist": "^7.0.0",
-				"npm-pick-manifest": "^8.0.0",
-				"npm-registry-fetch": "^14.0.0",
+				"minipass": "^7.0.2",
+				"npm-package-arg": "^11.0.0",
+				"npm-packlist": "^8.0.0",
+				"npm-pick-manifest": "^9.0.0",
+				"npm-registry-fetch": "^16.0.0",
 				"proc-log": "^3.0.0",
 				"promise-retry": "^2.0.1",
-				"read-package-json": "^6.0.0",
+				"read-package-json": "^7.0.0",
 				"read-package-json-fast": "^3.0.0",
-				"sigstore": "^1.3.0",
+				"sigstore": "^2.0.0",
 				"ssri": "^10.0.0",
 				"tar": "^6.1.11"
 			},
@@ -8854,7 +9129,7 @@
 				"pacote": "lib/bin.js"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/parse-conflict-json": {
@@ -8890,13 +9165,13 @@
 			}
 		},
 		"node_modules/npm/node_modules/path-scurry": {
-			"version": "1.9.1",
+			"version": "1.10.1",
 			"dev": true,
 			"inBundle": true,
 			"license": "BlueOak-1.0.0",
 			"dependencies": {
-				"lru-cache": "^9.1.1",
-				"minipass": "^5.0.0 || ^6.0.0"
+				"lru-cache": "^9.1.1 || ^10.0.0",
+				"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
 			},
 			"engines": {
 				"node": ">=16 || 14 >=14.17"
@@ -8905,15 +9180,6 @@
 				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
-		"node_modules/npm/node_modules/path-scurry/node_modules/lru-cache": {
-			"version": "9.1.1",
-			"dev": true,
-			"inBundle": true,
-			"license": "ISC",
-			"engines": {
-				"node": "14 || >=16.14"
-			}
-		},
 		"node_modules/npm/node_modules/postcss-selector-parser": {
 			"version": "6.0.13",
 			"dev": true,
@@ -9024,18 +9290,18 @@
 			}
 		},
 		"node_modules/npm/node_modules/read-package-json": {
-			"version": "6.0.3",
+			"version": "7.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
 				"glob": "^10.2.2",
 				"json-parse-even-better-errors": "^3.0.0",
-				"normalize-package-data": "^5.0.0",
+				"normalize-package-data": "^6.0.0",
 				"npm-normalize-package-bin": "^3.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/read-package-json-fast": {
@@ -9133,8 +9399,22 @@
 			}
 		},
 		"node_modules/npm/node_modules/safe-buffer": {
-			"version": "5.1.2",
+			"version": "5.2.1",
 			"dev": true,
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/feross"
+				},
+				{
+					"type": "patreon",
+					"url": "https://www.patreon.com/feross"
+				},
+				{
+					"type": "consulting",
+					"url": "https://feross.org/support"
+				}
+			],
 			"inBundle": true,
 			"license": "MIT"
 		},
@@ -9146,7 +9426,7 @@
 			"optional": true
 		},
 		"node_modules/npm/node_modules/semver": {
-			"version": "7.5.1",
+			"version": "7.5.4",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
@@ -9212,20 +9492,18 @@
 			}
 		},
 		"node_modules/npm/node_modules/sigstore": {
-			"version": "1.5.2",
+			"version": "2.1.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "Apache-2.0",
 			"dependencies": {
-				"@sigstore/protobuf-specs": "^0.1.0",
-				"make-fetch-happen": "^11.0.1",
-				"tuf-js": "^1.1.3"
-			},
-			"bin": {
-				"sigstore": "bin/sigstore.js"
+				"@sigstore/bundle": "^2.1.0",
+				"@sigstore/protobuf-specs": "^0.2.1",
+				"@sigstore/sign": "^2.1.0",
+				"@sigstore/tuf": "^2.1.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/smart-buffer": {
@@ -9299,24 +9577,24 @@
 			"license": "CC0-1.0"
 		},
 		"node_modules/npm/node_modules/ssri": {
-			"version": "10.0.4",
+			"version": "10.0.5",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"minipass": "^5.0.0"
+				"minipass": "^7.0.3"
 			},
 			"engines": {
 				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/string_decoder": {
-			"version": "1.1.1",
+			"version": "1.3.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "MIT",
 			"dependencies": {
-				"safe-buffer": "~5.1.0"
+				"safe-buffer": "~5.2.0"
 			}
 		},
 		"node_modules/npm/node_modules/string-width": {
@@ -9374,19 +9652,19 @@
 			}
 		},
 		"node_modules/npm/node_modules/supports-color": {
-			"version": "7.2.0",
+			"version": "9.4.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "MIT",
-			"dependencies": {
-				"has-flag": "^4.0.0"
-			},
 			"engines": {
-				"node": ">=8"
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/chalk/supports-color?sponsor=1"
 			}
 		},
 		"node_modules/npm/node_modules/tar": {
-			"version": "6.1.14",
+			"version": "6.1.15",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
@@ -9426,6 +9704,15 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/npm/node_modules/tar/node_modules/minipass": {
+			"version": "5.0.0",
+			"dev": true,
+			"inBundle": true,
+			"license": "ISC",
+			"engines": {
+				"node": ">=8"
+			}
+		},
 		"node_modules/npm/node_modules/text-table": {
 			"version": "0.2.0",
 			"dev": true,
@@ -9448,17 +9735,17 @@
 			}
 		},
 		"node_modules/npm/node_modules/tuf-js": {
-			"version": "1.1.6",
+			"version": "2.1.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "MIT",
 			"dependencies": {
-				"@tufjs/models": "1.0.4",
+				"@tufjs/models": "2.0.0",
 				"debug": "^4.3.4",
-				"make-fetch-happen": "^11.1.0"
+				"make-fetch-happen": "^13.0.0"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/npm/node_modules/unique-filename": {
@@ -9529,18 +9816,27 @@
 			}
 		},
 		"node_modules/npm/node_modules/which": {
-			"version": "3.0.1",
+			"version": "4.0.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "ISC",
 			"dependencies": {
-				"isexe": "^2.0.0"
+				"isexe": "^3.1.1"
 			},
 			"bin": {
 				"node-which": "bin/which.js"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.13.0 || >=18.0.0"
+			}
+		},
+		"node_modules/npm/node_modules/which/node_modules/isexe": {
+			"version": "3.1.1",
+			"dev": true,
+			"inBundle": true,
+			"license": "ISC",
+			"engines": {
+				"node": ">=16"
 			}
 		},
 		"node_modules/npm/node_modules/wide-align": {
@@ -9635,7 +9931,7 @@
 			}
 		},
 		"node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": {
-			"version": "7.0.1",
+			"version": "7.1.0",
 			"dev": true,
 			"inBundle": true,
 			"license": "MIT",
@@ -9726,15 +10022,18 @@
 			}
 		},
 		"node_modules/p-filter": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz",
-			"integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==",
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz",
+			"integrity": "sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==",
 			"dev": true,
 			"dependencies": {
-				"p-map": "^2.0.0"
+				"p-map": "^5.1.0"
 			},
 			"engines": {
-				"node": ">=8"
+				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/p-is-promise": {
@@ -9774,13 +10073,74 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/p-map": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
-			"integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
+		"node_modules/p-map": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz",
+			"integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==",
+			"dev": true,
+			"dependencies": {
+				"aggregate-error": "^4.0.0"
+			},
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/p-map/node_modules/aggregate-error": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz",
+			"integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==",
+			"dev": true,
+			"dependencies": {
+				"clean-stack": "^4.0.0",
+				"indent-string": "^5.0.0"
+			},
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/p-map/node_modules/clean-stack": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz",
+			"integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==",
+			"dev": true,
+			"dependencies": {
+				"escape-string-regexp": "5.0.0"
+			},
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/p-map/node_modules/escape-string-regexp": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+			"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/p-map/node_modules/indent-string": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
+			"integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
 			"dev": true,
 			"engines": {
-				"node": ">=6"
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/p-reduce": {
@@ -10171,16 +10531,6 @@
 				}
 			]
 		},
-		"node_modules/q": {
-			"version": "1.5.1",
-			"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
-			"integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==",
-			"dev": true,
-			"engines": {
-				"node": ">=0.6.0",
-				"teleport": ">=0.2.0"
-			}
-		},
 		"node_modules/queue-microtask": {
 			"version": "1.2.3",
 			"dev": true,
@@ -10240,15 +10590,15 @@
 			"dev": true
 		},
 		"node_modules/read-pkg": {
-			"version": "8.0.0",
-			"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.0.0.tgz",
-			"integrity": "sha512-Ajb9oSjxXBw0YyOiwtQ2dKbAA/vMnUPnY63XcCk+mXo0BwIdQEMgZLZiMWGttQHcUhUgbK0mH85ethMPKXxziw==",
+			"version": "8.1.0",
+			"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz",
+			"integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==",
 			"dev": true,
 			"dependencies": {
 				"@types/normalize-package-data": "^2.4.1",
-				"normalize-package-data": "^5.0.0",
+				"normalize-package-data": "^6.0.0",
 				"parse-json": "^7.0.0",
-				"type-fest": "^3.8.0"
+				"type-fest": "^4.2.0"
 			},
 			"engines": {
 				"node": ">=16"
@@ -10258,17 +10608,17 @@
 			}
 		},
 		"node_modules/read-pkg-up": {
-			"version": "9.1.0",
-			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz",
-			"integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==",
+			"version": "10.1.0",
+			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz",
+			"integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==",
 			"dev": true,
 			"dependencies": {
 				"find-up": "^6.3.0",
-				"read-pkg": "^7.1.0",
-				"type-fest": "^2.5.0"
+				"read-pkg": "^8.1.0",
+				"type-fest": "^4.2.0"
 			},
 			"engines": {
-				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+				"node": ">=16"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -10344,31 +10694,13 @@
 				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
 			}
 		},
-		"node_modules/read-pkg-up/node_modules/read-pkg": {
-			"version": "7.1.0",
-			"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz",
-			"integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==",
-			"dev": true,
-			"dependencies": {
-				"@types/normalize-package-data": "^2.4.1",
-				"normalize-package-data": "^3.0.2",
-				"parse-json": "^5.2.0",
-				"type-fest": "^2.0.0"
-			},
-			"engines": {
-				"node": ">=12.20"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
 		"node_modules/read-pkg-up/node_modules/type-fest": {
-			"version": "2.19.0",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
-			"integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
+			"version": "4.3.3",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.3.3.tgz",
+			"integrity": "sha512-bxhiFii6BBv6UiSDq7uKTMyADT9unXEl3ydGefndVLxFeB44LRbT4K7OJGDYSyDrKnklCC1Pre68qT2wbUl2Aw==",
 			"dev": true,
 			"engines": {
-				"node": ">=12.20"
+				"node": ">=16"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -10387,24 +10719,24 @@
 			}
 		},
 		"node_modules/read-pkg/node_modules/hosted-git-info": {
-			"version": "6.1.1",
-			"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz",
-			"integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==",
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz",
+			"integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==",
 			"dev": true,
 			"dependencies": {
-				"lru-cache": "^7.5.1"
+				"lru-cache": "^10.0.1"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/read-pkg/node_modules/hosted-git-info/node_modules/lru-cache": {
-			"version": "7.18.3",
-			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-			"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+			"version": "10.0.1",
+			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
+			"integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==",
 			"dev": true,
 			"engines": {
-				"node": ">=12"
+				"node": "14 || >=16.14"
 			}
 		},
 		"node_modules/read-pkg/node_modules/json-parse-even-better-errors": {
@@ -10426,18 +10758,18 @@
 			}
 		},
 		"node_modules/read-pkg/node_modules/normalize-package-data": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz",
-			"integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==",
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz",
+			"integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==",
 			"dev": true,
 			"dependencies": {
-				"hosted-git-info": "^6.0.0",
+				"hosted-git-info": "^7.0.0",
 				"is-core-module": "^2.8.1",
 				"semver": "^7.3.5",
 				"validate-npm-package-license": "^3.0.4"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/read-pkg/node_modules/parse-json": {
@@ -10459,10 +10791,22 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/read-pkg/node_modules/parse-json/node_modules/type-fest": {
+			"version": "3.13.1",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
+			"integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
+			"dev": true,
+			"engines": {
+				"node": ">=14.16"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/read-pkg/node_modules/semver": {
-			"version": "7.5.1",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
-			"integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
+			"version": "7.5.4",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+			"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
 			"dev": true,
 			"dependencies": {
 				"lru-cache": "^6.0.0"
@@ -10475,12 +10819,12 @@
 			}
 		},
 		"node_modules/read-pkg/node_modules/type-fest": {
-			"version": "3.11.1",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.11.1.tgz",
-			"integrity": "sha512-aCuRNRERRVh33lgQaJRlUxZqzfhzwTrsE98Mc3o3VXqmiaQdHacgUtJ0esp+7MvZ92qhtzKPeusaX6vIEcoreA==",
+			"version": "4.3.3",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.3.3.tgz",
+			"integrity": "sha512-bxhiFii6BBv6UiSDq7uKTMyADT9unXEl3ydGefndVLxFeB44LRbT4K7OJGDYSyDrKnklCC1Pre68qT2wbUl2Aw==",
 			"dev": true,
 			"engines": {
-				"node": ">=14.16"
+				"node": ">=16"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -10677,34 +11021,34 @@
 			"dev": true
 		},
 		"node_modules/semantic-release": {
-			"version": "21.0.2",
-			"resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.0.2.tgz",
-			"integrity": "sha512-Hl6lyJdZ0pAYD07Z1FIUmg06UzSC3fEjHS7U31YppNQ8jOwjjt7pVzW9OfpoO0vbmqD3Tc+b/iZh5fqvKt01OA==",
+			"version": "22.0.5",
+			"resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-22.0.5.tgz",
+			"integrity": "sha512-ESCEQsZlBj1DWMA84RthaJzQHHnihoGk49s9nUxHfRNUNZelLE9JZrE94bHO2Y00EWb7iwrzr1OYhv5QNVmf8A==",
 			"dev": true,
 			"dependencies": {
-				"@semantic-release/commit-analyzer": "^9.0.2",
-				"@semantic-release/error": "^3.0.0",
-				"@semantic-release/github": "^8.0.0",
-				"@semantic-release/npm": "^10.0.2",
-				"@semantic-release/release-notes-generator": "^11.0.0",
-				"aggregate-error": "^4.0.1",
+				"@semantic-release/commit-analyzer": "^11.0.0",
+				"@semantic-release/error": "^4.0.0",
+				"@semantic-release/github": "^9.0.0",
+				"@semantic-release/npm": "^11.0.0",
+				"@semantic-release/release-notes-generator": "^12.0.0",
+				"aggregate-error": "^5.0.0",
 				"cosmiconfig": "^8.0.0",
 				"debug": "^4.0.0",
-				"env-ci": "^9.0.0",
-				"execa": "^7.0.0",
+				"env-ci": "^10.0.0",
+				"execa": "^8.0.0",
 				"figures": "^5.0.0",
 				"find-versions": "^5.1.0",
 				"get-stream": "^6.0.0",
 				"git-log-parser": "^1.2.0",
 				"hook-std": "^3.0.0",
-				"hosted-git-info": "^6.0.0",
+				"hosted-git-info": "^7.0.0",
 				"lodash-es": "^4.17.21",
-				"marked": "^4.1.0",
-				"marked-terminal": "^5.1.1",
+				"marked": "^9.0.0",
+				"marked-terminal": "^6.0.0",
 				"micromatch": "^4.0.2",
 				"p-each-series": "^3.0.0",
 				"p-reduce": "^3.0.0",
-				"read-pkg-up": "^9.1.0",
+				"read-pkg-up": "^10.0.0",
 				"resolve-from": "^5.0.0",
 				"semver": "^7.3.2",
 				"semver-diff": "^4.0.0",
@@ -10714,36 +11058,45 @@
 			"bin": {
 				"semantic-release": "bin/semantic-release.js"
 			},
+			"engines": {
+				"node": "^18.17 || >=20.6.1"
+			}
+		},
+		"node_modules/semantic-release/node_modules/@semantic-release/error": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
+			"integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
+			"dev": true,
 			"engines": {
 				"node": ">=18"
 			}
 		},
 		"node_modules/semantic-release/node_modules/aggregate-error": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz",
-			"integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
+			"integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
 			"dev": true,
 			"dependencies": {
-				"clean-stack": "^4.0.0",
+				"clean-stack": "^5.2.0",
 				"indent-string": "^5.0.0"
 			},
 			"engines": {
-				"node": ">=12"
+				"node": ">=18"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/semantic-release/node_modules/clean-stack": {
-			"version": "4.2.0",
-			"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz",
-			"integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==",
+			"version": "5.2.0",
+			"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
+			"integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
 			"dev": true,
 			"dependencies": {
 				"escape-string-regexp": "5.0.0"
 			},
 			"engines": {
-				"node": ">=12"
+				"node": ">=14.16"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -10762,56 +11115,68 @@
 			}
 		},
 		"node_modules/semantic-release/node_modules/execa": {
-			"version": "7.1.1",
-			"resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz",
-			"integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==",
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+			"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
 			"dev": true,
 			"dependencies": {
 				"cross-spawn": "^7.0.3",
-				"get-stream": "^6.0.1",
-				"human-signals": "^4.3.0",
+				"get-stream": "^8.0.1",
+				"human-signals": "^5.0.0",
 				"is-stream": "^3.0.0",
 				"merge-stream": "^2.0.0",
 				"npm-run-path": "^5.1.0",
 				"onetime": "^6.0.0",
-				"signal-exit": "^3.0.7",
+				"signal-exit": "^4.1.0",
 				"strip-final-newline": "^3.0.0"
 			},
 			"engines": {
-				"node": "^14.18.0 || ^16.14.0 || >=18.0.0"
+				"node": ">=16.17"
 			},
 			"funding": {
 				"url": "https://github.com/sindresorhus/execa?sponsor=1"
 			}
 		},
+		"node_modules/semantic-release/node_modules/execa/node_modules/get-stream": {
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+			"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
+			"dev": true,
+			"engines": {
+				"node": ">=16"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/semantic-release/node_modules/hosted-git-info": {
-			"version": "6.1.1",
-			"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz",
-			"integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==",
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz",
+			"integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==",
 			"dev": true,
 			"dependencies": {
-				"lru-cache": "^7.5.1"
+				"lru-cache": "^10.0.1"
 			},
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^16.14.0 || >=18.0.0"
 			}
 		},
 		"node_modules/semantic-release/node_modules/hosted-git-info/node_modules/lru-cache": {
-			"version": "7.18.3",
-			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-			"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+			"version": "10.0.1",
+			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
+			"integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==",
 			"dev": true,
 			"engines": {
-				"node": ">=12"
+				"node": "14 || >=16.14"
 			}
 		},
 		"node_modules/semantic-release/node_modules/human-signals": {
-			"version": "4.3.1",
-			"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
-			"integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+			"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
 			"dev": true,
 			"engines": {
-				"node": ">=14.18.0"
+				"node": ">=16.17.0"
 			}
 		},
 		"node_modules/semantic-release/node_modules/indent-string": {
@@ -10928,6 +11293,18 @@
 				"node": ">=10"
 			}
 		},
+		"node_modules/semantic-release/node_modules/signal-exit": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+			"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+			"dev": true,
+			"engines": {
+				"node": ">=14"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
+			}
+		},
 		"node_modules/semantic-release/node_modules/strip-final-newline": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
@@ -11136,6 +11513,18 @@
 			"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
 			"dev": true
 		},
+		"node_modules/skin-tone": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz",
+			"integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==",
+			"dev": true,
+			"dependencies": {
+				"unicode-emoji-modifier-base": "^1.0.0"
+			},
+			"engines": {
+				"node": ">=8"
+			}
+		},
 		"node_modules/slash": {
 			"version": "3.0.0",
 			"dev": true,
@@ -11201,18 +11590,6 @@
 			"integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==",
 			"dev": true
 		},
-		"node_modules/split": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
-			"integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
-			"dev": true,
-			"dependencies": {
-				"through": "2"
-			},
-			"engines": {
-				"node": "*"
-			}
-		},
 		"node_modules/split2": {
 			"version": "3.2.2",
 			"resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz",
@@ -11364,16 +11741,16 @@
 			}
 		},
 		"node_modules/supports-hyperlinks": {
-			"version": "2.3.0",
-			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
-			"integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz",
+			"integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==",
 			"dev": true,
 			"dependencies": {
 				"has-flag": "^4.0.0",
 				"supports-color": "^7.0.0"
 			},
 			"engines": {
-				"node": ">=8"
+				"node": ">=14.18"
 			}
 		},
 		"node_modules/supports-preserve-symlinks-flag": {
@@ -11521,12 +11898,6 @@
 				"node": ">=8.0"
 			}
 		},
-		"node_modules/tr46": {
-			"version": "0.0.3",
-			"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
-			"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
-			"dev": true
-		},
 		"node_modules/traverse": {
 			"version": "0.6.7",
 			"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz",
@@ -11730,6 +12101,15 @@
 				"node": ">=0.8.0"
 			}
 		},
+		"node_modules/unicode-emoji-modifier-base": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz",
+			"integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==",
+			"dev": true,
+			"engines": {
+				"node": ">=4"
+			}
+		},
 		"node_modules/unique-string": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz",
@@ -11795,10 +12175,13 @@
 			}
 		},
 		"node_modules/url-join": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz",
-			"integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==",
-			"dev": true
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz",
+			"integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==",
+			"dev": true,
+			"engines": {
+				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+			}
 		},
 		"node_modules/util-deprecate": {
 			"version": "1.0.2",
@@ -11851,22 +12234,6 @@
 				"makeerror": "1.0.12"
 			}
 		},
-		"node_modules/webidl-conversions": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
-			"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
-			"dev": true
-		},
-		"node_modules/whatwg-url": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
-			"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
-			"dev": true,
-			"dependencies": {
-				"tr46": "~0.0.3",
-				"webidl-conversions": "^3.0.0"
-			}
-		},
 		"node_modules/which": {
 			"version": "2.0.2",
 			"dev": true,
@@ -12479,14 +12846,14 @@
 			"optional": true
 		},
 		"@commitlint/cli": {
-			"version": "17.6.6",
-			"resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.6.6.tgz",
-			"integrity": "sha512-sTKpr2i/Fjs9OmhU+beBxjPavpnLSqZaO6CzwKVq2Tc4UYVTMFgpKOslDhUBVlfAUBfjVO8ParxC/MXkIOevEA==",
+			"version": "17.7.2",
+			"resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.7.2.tgz",
+			"integrity": "sha512-t3N7TZq7lOeqTOyEgfGcaltHqEJf7YDlPg75MldeVPPyz14jZq/+mbGF9tueDLFX8R6RwdymrN6D+U5XwZ8Iwg==",
 			"dev": true,
 			"requires": {
 				"@commitlint/format": "^17.4.4",
-				"@commitlint/lint": "^17.6.6",
-				"@commitlint/load": "^17.5.0",
+				"@commitlint/lint": "^17.7.0",
+				"@commitlint/load": "^17.7.2",
 				"@commitlint/read": "^17.5.1",
 				"@commitlint/types": "^17.4.4",
 				"execa": "^5.0.0",
@@ -12505,9 +12872,9 @@
 			}
 		},
 		"@commitlint/config-validator": {
-			"version": "17.4.4",
-			"resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.4.4.tgz",
-			"integrity": "sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg==",
+			"version": "17.6.7",
+			"resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.6.7.tgz",
+			"integrity": "sha512-vJSncmnzwMvpr3lIcm0I8YVVDJTzyjy7NZAeXbTXy+MPUdAr9pKyyg7Tx/ebOQ9kqzE6O9WT6jg2164br5UdsQ==",
 			"dev": true,
 			"requires": {
 				"@commitlint/types": "^17.4.4",
@@ -12535,9 +12902,9 @@
 			}
 		},
 		"@commitlint/ensure": {
-			"version": "17.4.4",
-			"resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.4.4.tgz",
-			"integrity": "sha512-AHsFCNh8hbhJiuZ2qHv/m59W/GRE9UeOXbkOqxYMNNg9pJ7qELnFcwj5oYpa6vzTSHtPGKf3C2yUFNy1GGHq6g==",
+			"version": "17.6.7",
+			"resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.6.7.tgz",
+			"integrity": "sha512-mfDJOd1/O/eIb/h4qwXzUxkmskXDL9vNPnZ4AKYKiZALz4vHzwMxBSYtyL2mUIDeU9DRSpEUins8SeKtFkYHSw==",
 			"dev": true,
 			"requires": {
 				"@commitlint/types": "^17.4.4",
@@ -12565,19 +12932,19 @@
 			}
 		},
 		"@commitlint/is-ignored": {
-			"version": "17.6.6",
-			"resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.6.6.tgz",
-			"integrity": "sha512-4Fw875faAKO+2nILC04yW/2Vy/wlV3BOYCSQ4CEFzriPEprc1Td2LILmqmft6PDEK5Sr14dT9tEzeaZj0V56Gg==",
+			"version": "17.7.0",
+			"resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.7.0.tgz",
+			"integrity": "sha512-043rA7m45tyEfW7Zv2vZHF++176MLHH9h70fnPoYlB1slKBeKl8BwNIlnPg4xBdRBVNPaCqvXxWswx2GR4c9Hw==",
 			"dev": true,
 			"requires": {
 				"@commitlint/types": "^17.4.4",
-				"semver": "7.5.2"
+				"semver": "7.5.4"
 			},
 			"dependencies": {
 				"semver": {
-					"version": "7.5.2",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
-					"integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
+					"version": "7.5.4",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+					"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
 					"dev": true,
 					"requires": {
 						"lru-cache": "^6.0.0"
@@ -12586,28 +12953,28 @@
 			}
 		},
 		"@commitlint/lint": {
-			"version": "17.6.6",
-			"resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.6.6.tgz",
-			"integrity": "sha512-5bN+dnHcRLkTvwCHYMS7Xpbr+9uNi0Kq5NR3v4+oPNx6pYXt8ACuw9luhM/yMgHYwW0ajIR20wkPAFkZLEMGmg==",
+			"version": "17.7.0",
+			"resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.7.0.tgz",
+			"integrity": "sha512-TCQihm7/uszA5z1Ux1vw+Nf3yHTgicus/+9HiUQk+kRSQawByxZNESeQoX9ujfVd3r4Sa+3fn0JQAguG4xvvbA==",
 			"dev": true,
 			"requires": {
-				"@commitlint/is-ignored": "^17.6.6",
-				"@commitlint/parse": "^17.6.5",
-				"@commitlint/rules": "^17.6.5",
+				"@commitlint/is-ignored": "^17.7.0",
+				"@commitlint/parse": "^17.7.0",
+				"@commitlint/rules": "^17.7.0",
 				"@commitlint/types": "^17.4.4"
 			}
 		},
 		"@commitlint/load": {
-			"version": "17.5.0",
-			"resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.5.0.tgz",
-			"integrity": "sha512-l+4W8Sx4CD5rYFsrhHH8HP01/8jEP7kKf33Xlx2Uk2out/UKoKPYMOIRcDH5ppT8UXLMV+x6Wm5osdRKKgaD1Q==",
+			"version": "17.7.2",
+			"resolved": "https://registry.npmjs.org/@commitlint/load/-/load-17.7.2.tgz",
+			"integrity": "sha512-XA7WTnsjHZ4YH6ZYsrnxgLdXzriwMMq+utZUET6spbOEEIPBCDLdOQXS26P+v3TTO4hUHOEhzUquaBv3jbBixw==",
 			"dev": true,
 			"requires": {
-				"@commitlint/config-validator": "^17.4.4",
+				"@commitlint/config-validator": "^17.6.7",
 				"@commitlint/execute-rule": "^17.4.0",
-				"@commitlint/resolve-extends": "^17.4.4",
+				"@commitlint/resolve-extends": "^17.6.7",
 				"@commitlint/types": "^17.4.4",
-				"@types/node": "*",
+				"@types/node": "20.5.1",
 				"chalk": "^4.1.0",
 				"cosmiconfig": "^8.0.0",
 				"cosmiconfig-typescript-loader": "^4.0.0",
@@ -12619,6 +12986,12 @@
 				"typescript": "^4.6.4 || ^5.0.0"
 			},
 			"dependencies": {
+				"@types/node": {
+					"version": "20.5.1",
+					"resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz",
+					"integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==",
+					"dev": true
+				},
 				"resolve-from": {
 					"version": "5.0.0",
 					"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
@@ -12634,14 +13007,14 @@
 			"dev": true
 		},
 		"@commitlint/parse": {
-			"version": "17.6.5",
-			"resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.6.5.tgz",
-			"integrity": "sha512-0zle3bcn1Hevw5Jqpz/FzEWNo2KIzUbc1XyGg6WrWEoa6GH3A1pbqNF6MvE6rjuy6OY23c8stWnb4ETRZyN+Yw==",
+			"version": "17.7.0",
+			"resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-17.7.0.tgz",
+			"integrity": "sha512-dIvFNUMCUHqq5Abv80mIEjLVfw8QNuA4DS7OWip4pcK/3h5wggmjVnlwGCDvDChkw2TjK1K6O+tAEV78oxjxag==",
 			"dev": true,
 			"requires": {
 				"@commitlint/types": "^17.4.4",
-				"conventional-changelog-angular": "^5.0.11",
-				"conventional-commits-parser": "^3.2.2"
+				"conventional-changelog-angular": "^6.0.0",
+				"conventional-commits-parser": "^4.0.0"
 			}
 		},
 		"@commitlint/read": {
@@ -12658,12 +13031,12 @@
 			}
 		},
 		"@commitlint/resolve-extends": {
-			"version": "17.4.4",
-			"resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.4.4.tgz",
-			"integrity": "sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A==",
+			"version": "17.6.7",
+			"resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.6.7.tgz",
+			"integrity": "sha512-PfeoAwLHtbOaC9bGn/FADN156CqkFz6ZKiVDMjuC2N5N0740Ke56rKU7Wxdwya8R8xzLK9vZzHgNbuGhaOVKIg==",
 			"dev": true,
 			"requires": {
-				"@commitlint/config-validator": "^17.4.4",
+				"@commitlint/config-validator": "^17.6.7",
 				"@commitlint/types": "^17.4.4",
 				"import-fresh": "^3.0.0",
 				"lodash.mergewith": "^4.6.2",
@@ -12680,12 +13053,12 @@
 			}
 		},
 		"@commitlint/rules": {
-			"version": "17.6.5",
-			"resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.6.5.tgz",
-			"integrity": "sha512-uTB3zSmnPyW2qQQH+Dbq2rekjlWRtyrjDo4aLFe63uteandgkI+cc0NhhbBAzcXShzVk0qqp8SlkQMu0mgHg/A==",
+			"version": "17.7.0",
+			"resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-17.7.0.tgz",
+			"integrity": "sha512-J3qTh0+ilUE5folSaoK91ByOb8XeQjiGcdIdiB/8UT1/Rd1itKo0ju/eQVGyFzgTMYt8HrDJnGTmNWwcMR1rmA==",
 			"dev": true,
 			"requires": {
-				"@commitlint/ensure": "^17.4.4",
+				"@commitlint/ensure": "^17.6.7",
 				"@commitlint/message": "^17.4.2",
 				"@commitlint/to-lines": "^17.4.0",
 				"@commitlint/types": "^17.4.4",
@@ -12806,43 +13179,22 @@
 			"dev": true
 		},
 		"@insurgentlab/commitlint-config": {
-			"version": "18.1.0",
-			"resolved": "https://registry.npmjs.org/@insurgentlab/commitlint-config/-/commitlint-config-18.1.0.tgz",
-			"integrity": "sha512-mNkzictkH6ebvQmtCxUIxxX+ynv6Lqm/CsVkFLs1ByPRK8WE/O2FhCqejTBn2IP+S4h6xp6EawfxTPDqQXglmA==",
+			"version": "18.1.3",
+			"resolved": "https://registry.npmjs.org/@insurgentlab/commitlint-config/-/commitlint-config-18.1.3.tgz",
+			"integrity": "sha512-Vdwyra65Tg891Ct9xf4q1mbfjovpC7VfapKVP0C8GknVinEJuhMcOWF0o8604E4wyCAAOEhPFOXChINrxjq7rg==",
 			"dev": true,
 			"requires": {
-				"@insurgentlab/conventional-changelog-preset": "6.0.2"
-			},
-			"dependencies": {
-				"@insurgentlab/conventional-changelog-preset": {
-					"version": "6.0.2",
-					"resolved": "https://registry.npmjs.org/@insurgentlab/conventional-changelog-preset/-/conventional-changelog-preset-6.0.2.tgz",
-					"integrity": "sha512-23jAmLmmgfvvMS4g/C3zuRBb2K12wvHi60JQmSX5KqJeC3EO84N9jgG8XcoDt05eWNYtk2X/7/WNGw7Zi+eJTA==",
-					"dev": true,
-					"requires": {
-						"conventional-changelog-conventionalcommits": "6.0.0",
-						"lodash": "^4.17.21"
-					}
-				},
-				"conventional-changelog-conventionalcommits": {
-					"version": "6.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-6.0.0.tgz",
-					"integrity": "sha512-pOQWvJ2se8UmGj3Vz5NzhljdgHvGow6ATZ7pM0TZqGekAfwgJkr3YQ9ZbooB4VIh35KS/cpfIgVrLoqLNvFNYg==",
-					"dev": true,
-					"requires": {
-						"compare-func": "^2.0.0"
-					}
-				}
+				"@insurgentlab/conventional-changelog-preset": "^7.0.0"
 			}
 		},
 		"@insurgentlab/conventional-changelog-preset": {
-			"version": "6.0.3",
-			"resolved": "https://registry.npmjs.org/@insurgentlab/conventional-changelog-preset/-/conventional-changelog-preset-6.0.3.tgz",
-			"integrity": "sha512-t6GalSR1OvnOmopZkovRzkNeAzlWtlsdfa7EGRmLKvl2GXqE87H+mATk8m/R5kwcsfMOoWrBC+AQzK97Pzvubg==",
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/@insurgentlab/conventional-changelog-preset/-/conventional-changelog-preset-7.0.0.tgz",
+			"integrity": "sha512-lBHaW0aDGGOvR8zkEGooCzBAln3h2GC8+mX6smuIaS9iHmpKv9N7EMPhfysrmu8DCIIXCvsGAcRYqqMhK7tUQw==",
 			"dev": true,
 			"requires": {
-				"conventional-changelog-conventionalcommits": "6.1.0",
-				"lodash": "4.17.21"
+				"conventional-changelog-conventionalcommits": "^7.0.0",
+				"lodash": "^4.17.21"
 			}
 		},
 		"@istanbuljs/load-nyc-config": {
@@ -13188,125 +13540,115 @@
 			}
 		},
 		"@octokit/auth-token": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz",
-			"integrity": "sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==",
-			"dev": true,
-			"requires": {
-				"@octokit/types": "^9.0.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==",
+			"dev": true
 		},
 		"@octokit/core": {
-			"version": "4.2.1",
-			"resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.1.tgz",
-			"integrity": "sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==",
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.0.1.tgz",
+			"integrity": "sha512-lyeeeZyESFo+ffI801SaBKmCfsvarO+dgV8/0gD8u1d87clbEdWsP5yC+dSj3zLhb2eIf5SJrn6vDz9AheETHw==",
 			"dev": true,
 			"requires": {
-				"@octokit/auth-token": "^3.0.0",
-				"@octokit/graphql": "^5.0.0",
-				"@octokit/request": "^6.0.0",
-				"@octokit/request-error": "^3.0.0",
-				"@octokit/types": "^9.0.0",
+				"@octokit/auth-token": "^4.0.0",
+				"@octokit/graphql": "^7.0.0",
+				"@octokit/request": "^8.0.2",
+				"@octokit/request-error": "^5.0.0",
+				"@octokit/types": "^12.0.0",
 				"before-after-hook": "^2.2.0",
 				"universal-user-agent": "^6.0.0"
 			}
 		},
 		"@octokit/endpoint": {
-			"version": "7.0.5",
-			"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz",
-			"integrity": "sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==",
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.1.tgz",
+			"integrity": "sha512-hRlOKAovtINHQPYHZlfyFwaM8OyetxeoC81lAkBy34uLb8exrZB50SQdeW3EROqiY9G9yxQTpp5OHTV54QD+vA==",
 			"dev": true,
 			"requires": {
-				"@octokit/types": "^9.0.0",
+				"@octokit/types": "^12.0.0",
 				"is-plain-object": "^5.0.0",
 				"universal-user-agent": "^6.0.0"
 			}
 		},
 		"@octokit/graphql": {
-			"version": "5.0.6",
-			"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz",
-			"integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==",
+			"version": "7.0.2",
+			"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz",
+			"integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==",
 			"dev": true,
 			"requires": {
-				"@octokit/request": "^6.0.0",
-				"@octokit/types": "^9.0.0",
+				"@octokit/request": "^8.0.1",
+				"@octokit/types": "^12.0.0",
 				"universal-user-agent": "^6.0.0"
 			}
 		},
 		"@octokit/openapi-types": {
-			"version": "17.2.0",
-			"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-17.2.0.tgz",
-			"integrity": "sha512-MazrFNx4plbLsGl+LFesMo96eIXkFgEtaKbnNpdh4aQ0VM10aoylFsTYP1AEjkeoRNZiiPe3T6Gl2Hr8dJWdlQ==",
+			"version": "19.0.0",
+			"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.0.0.tgz",
+			"integrity": "sha512-PclQ6JGMTE9iUStpzMkwLCISFn/wDeRjkZFIKALpvJQNBGwDoYYi2fFvuHwssoQ1rXI5mfh6jgTgWuddeUzfWw==",
 			"dev": true
 		},
 		"@octokit/plugin-paginate-rest": {
-			"version": "6.1.2",
-			"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz",
-			"integrity": "sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==",
+			"version": "9.0.0",
+			"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.0.0.tgz",
+			"integrity": "sha512-oIJzCpttmBTlEhBmRvb+b9rlnGpmFgDtZ0bB6nq39qIod6A5DP+7RkVLMOixIgRCYSHDTeayWqmiJ2SZ6xgfdw==",
 			"dev": true,
 			"requires": {
-				"@octokit/tsconfig": "^1.0.2",
-				"@octokit/types": "^9.2.3"
+				"@octokit/types": "^12.0.0"
 			}
 		},
 		"@octokit/plugin-retry": {
-			"version": "4.1.5",
-			"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-4.1.5.tgz",
-			"integrity": "sha512-Hft2gYesEXomiUmk/YsFVRBUrzHRv14Iff7PzlLJ3DLte/56VdyV332SOSKz1BbODWLTBkO2zUgxtmMaKCEJPw==",
+			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-6.0.1.tgz",
+			"integrity": "sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==",
 			"dev": true,
 			"requires": {
-				"@octokit/types": "^9.0.0",
+				"@octokit/request-error": "^5.0.0",
+				"@octokit/types": "^12.0.0",
 				"bottleneck": "^2.15.3"
 			}
 		},
 		"@octokit/plugin-throttling": {
-			"version": "5.2.3",
-			"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-5.2.3.tgz",
-			"integrity": "sha512-C9CFg9mrf6cugneKiaI841iG8DOv6P5XXkjmiNNut+swePxQ7RWEdAZRp5rJoE1hjsIqiYcKa/ZkOQ+ujPI39Q==",
+			"version": "8.0.0",
+			"resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-8.0.0.tgz",
+			"integrity": "sha512-OkMbHYUidj81q92YRkPzWmwXkEtsI3KOcSkNm763aqUOh9IEplyX05XjKAdZFANAvaYH0Q4JBZwu4h2VnPVXZA==",
 			"dev": true,
 			"requires": {
-				"@octokit/types": "^9.0.0",
+				"@octokit/types": "^12.0.0",
 				"bottleneck": "^2.15.3"
 			}
 		},
 		"@octokit/request": {
-			"version": "6.2.5",
-			"resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.5.tgz",
-			"integrity": "sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ==",
+			"version": "8.1.2",
+			"resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.2.tgz",
+			"integrity": "sha512-A0RJJfzjlZQwb+39eDm5UM23dkxbp28WEG4p2ueH+Q2yY4p349aRK/vcUlEuIB//ggcrHJceoYYkBP/LYCoXEg==",
 			"dev": true,
 			"requires": {
-				"@octokit/endpoint": "^7.0.0",
-				"@octokit/request-error": "^3.0.0",
-				"@octokit/types": "^9.0.0",
+				"@octokit/endpoint": "^9.0.0",
+				"@octokit/request-error": "^5.0.0",
+				"@octokit/types": "^12.0.0",
 				"is-plain-object": "^5.0.0",
-				"node-fetch": "^2.6.7",
 				"universal-user-agent": "^6.0.0"
 			}
 		},
 		"@octokit/request-error": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz",
-			"integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==",
+			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz",
+			"integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==",
 			"dev": true,
 			"requires": {
-				"@octokit/types": "^9.0.0",
+				"@octokit/types": "^12.0.0",
 				"deprecation": "^2.0.0",
 				"once": "^1.4.0"
 			}
 		},
-		"@octokit/tsconfig": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz",
-			"integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==",
-			"dev": true
-		},
 		"@octokit/types": {
-			"version": "9.2.3",
-			"resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.2.3.tgz",
-			"integrity": "sha512-MMeLdHyFIALioycq+LFcA71v0S2xpQUX2cw6pPbHQjaibcHYwLnmK/kMZaWuGfGfjBJZ3wRUq+dOaWsvrPJVvA==",
+			"version": "12.0.0",
+			"resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.0.0.tgz",
+			"integrity": "sha512-EzD434aHTFifGudYAygnFlS1Tl6KhbTynEWELQXIbTY8Msvb5nEqTZIm7sbPEt4mQYLZwu3zPKVdeIrw0g7ovg==",
 			"dev": true,
 			"requires": {
-				"@octokit/openapi-types": "^17.2.0"
+				"@octokit/openapi-types": "^19.0.0"
 			}
 		},
 		"@pnpm/config.env-replace": {
@@ -13356,18 +13698,68 @@
 			}
 		},
 		"@semantic-release/commit-analyzer": {
-			"version": "9.0.2",
-			"resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-9.0.2.tgz",
-			"integrity": "sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g==",
+			"version": "11.0.0",
+			"resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-11.0.0.tgz",
+			"integrity": "sha512-uEXyf4Z0AWJuxI9TbSQP5kkIYqus1/E1NcmE7pIv6d6/m/5EJcNWAGR4FOo34vrV26FhEaRVkxFfYzp/M7BKIg==",
 			"dev": true,
 			"requires": {
-				"conventional-changelog-angular": "^5.0.0",
-				"conventional-commits-filter": "^2.0.0",
-				"conventional-commits-parser": "^3.2.3",
+				"conventional-changelog-angular": "^7.0.0",
+				"conventional-commits-filter": "^4.0.0",
+				"conventional-commits-parser": "^5.0.0",
 				"debug": "^4.0.0",
 				"import-from": "^4.0.0",
-				"lodash": "^4.17.4",
+				"lodash-es": "^4.17.21",
 				"micromatch": "^4.0.2"
+			},
+			"dependencies": {
+				"conventional-changelog-angular": {
+					"version": "7.0.0",
+					"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz",
+					"integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==",
+					"dev": true,
+					"requires": {
+						"compare-func": "^2.0.0"
+					}
+				},
+				"conventional-commits-parser": {
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz",
+					"integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==",
+					"dev": true,
+					"requires": {
+						"is-text-path": "^2.0.0",
+						"JSONStream": "^1.3.5",
+						"meow": "^12.0.1",
+						"split2": "^4.0.0"
+					}
+				},
+				"is-text-path": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz",
+					"integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==",
+					"dev": true,
+					"requires": {
+						"text-extensions": "^2.0.0"
+					}
+				},
+				"meow": {
+					"version": "12.1.1",
+					"resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz",
+					"integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==",
+					"dev": true
+				},
+				"split2": {
+					"version": "4.2.0",
+					"resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
+					"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
+					"dev": true
+				},
+				"text-extensions": {
+					"version": "2.4.0",
+					"resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz",
+					"integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==",
+					"dev": true
+				}
 			}
 		},
 		"@semantic-release/error": {
@@ -13393,44 +13785,101 @@
 			}
 		},
 		"@semantic-release/github": {
-			"version": "8.1.0",
-			"resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-8.1.0.tgz",
-			"integrity": "sha512-erR9E5rpdsz0dW1I7785JtndQuMWN/iDcemcptf67tBNOmBUN0b2YNOgcjYUnBpgRpZ5ozfBHrK7Bz+2ets/Dg==",
+			"version": "9.2.1",
+			"resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-9.2.1.tgz",
+			"integrity": "sha512-fEn9uOe6jwWR6ro2Wh6YNBCBuZ5lRi8Myz+1j3KDTSt8OuUGlpVM4lFac/0bDrql2NOKrIEAMGCfWb9WMIdzIg==",
 			"dev": true,
 			"requires": {
-				"@octokit/core": "^4.2.1",
-				"@octokit/plugin-paginate-rest": "^6.1.2",
-				"@octokit/plugin-retry": "^4.1.3",
-				"@octokit/plugin-throttling": "^5.2.3",
-				"@semantic-release/error": "^3.0.0",
-				"aggregate-error": "^3.0.0",
-				"debug": "^4.0.0",
-				"dir-glob": "^3.0.0",
-				"fs-extra": "^11.0.0",
-				"globby": "^11.0.0",
+				"@octokit/core": "^5.0.0",
+				"@octokit/plugin-paginate-rest": "^9.0.0",
+				"@octokit/plugin-retry": "^6.0.0",
+				"@octokit/plugin-throttling": "^8.0.0",
+				"@semantic-release/error": "^4.0.0",
+				"aggregate-error": "^5.0.0",
+				"debug": "^4.3.4",
+				"dir-glob": "^3.0.1",
+				"globby": "^13.1.4",
 				"http-proxy-agent": "^7.0.0",
 				"https-proxy-agent": "^7.0.0",
 				"issue-parser": "^6.0.0",
-				"lodash": "^4.17.4",
+				"lodash-es": "^4.17.21",
 				"mime": "^3.0.0",
-				"p-filter": "^2.0.0",
-				"url-join": "^4.0.0"
+				"p-filter": "^3.0.0",
+				"url-join": "^5.0.0"
+			},
+			"dependencies": {
+				"@semantic-release/error": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
+					"integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
+					"dev": true
+				},
+				"aggregate-error": {
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
+					"integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
+					"dev": true,
+					"requires": {
+						"clean-stack": "^5.2.0",
+						"indent-string": "^5.0.0"
+					}
+				},
+				"clean-stack": {
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
+					"integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
+					"dev": true,
+					"requires": {
+						"escape-string-regexp": "5.0.0"
+					}
+				},
+				"escape-string-regexp": {
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+					"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+					"dev": true
+				},
+				"globby": {
+					"version": "13.2.2",
+					"resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
+					"integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
+					"dev": true,
+					"requires": {
+						"dir-glob": "^3.0.1",
+						"fast-glob": "^3.3.0",
+						"ignore": "^5.2.4",
+						"merge2": "^1.4.1",
+						"slash": "^4.0.0"
+					}
+				},
+				"indent-string": {
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
+					"integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
+					"dev": true
+				},
+				"slash": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+					"integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+					"dev": true
+				}
 			}
 		},
 		"@semantic-release/npm": {
-			"version": "10.0.3",
-			"resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-10.0.3.tgz",
-			"integrity": "sha512-Chbv3kX4o+y+r1X6hsqBVB8NFbSVfiNlYOqMG6o9Wc8r5Y4cjxfbaMCuJ++XAtw3YXYX/NVD05cPzBi4Orjusg==",
+			"version": "11.0.0",
+			"resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.0.tgz",
+			"integrity": "sha512-ozNCiPUp14Xp2rgeY7j96yFTEhDncLSWOJr0IAUr888+ax6fH5xgYkNVv08vpkV8C5GIXBgnGd9coRiOCD6oqQ==",
 			"dev": true,
 			"requires": {
-				"@semantic-release/error": "^3.0.0",
-				"aggregate-error": "^4.0.1",
-				"execa": "^7.0.0",
+				"@semantic-release/error": "^4.0.0",
+				"aggregate-error": "^5.0.0",
+				"execa": "^8.0.0",
 				"fs-extra": "^11.0.0",
 				"lodash-es": "^4.17.21",
 				"nerf-dart": "^1.0.0",
 				"normalize-url": "^8.0.0",
-				"npm": "^9.5.0",
+				"npm": "^10.0.0",
 				"rc": "^1.2.8",
 				"read-pkg": "^8.0.0",
 				"registry-auth-token": "^5.0.0",
@@ -13438,20 +13887,26 @@
 				"tempy": "^3.0.0"
 			},
 			"dependencies": {
+				"@semantic-release/error": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
+					"integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
+					"dev": true
+				},
 				"aggregate-error": {
-					"version": "4.0.1",
-					"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz",
-					"integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==",
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
+					"integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
 					"dev": true,
 					"requires": {
-						"clean-stack": "^4.0.0",
+						"clean-stack": "^5.2.0",
 						"indent-string": "^5.0.0"
 					}
 				},
 				"clean-stack": {
-					"version": "4.2.0",
-					"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz",
-					"integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==",
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
+					"integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
 					"dev": true,
 					"requires": {
 						"escape-string-regexp": "5.0.0"
@@ -13464,26 +13919,32 @@
 					"dev": true
 				},
 				"execa": {
-					"version": "7.1.1",
-					"resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz",
-					"integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==",
+					"version": "8.0.1",
+					"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+					"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
 					"dev": true,
 					"requires": {
 						"cross-spawn": "^7.0.3",
-						"get-stream": "^6.0.1",
-						"human-signals": "^4.3.0",
+						"get-stream": "^8.0.1",
+						"human-signals": "^5.0.0",
 						"is-stream": "^3.0.0",
 						"merge-stream": "^2.0.0",
 						"npm-run-path": "^5.1.0",
 						"onetime": "^6.0.0",
-						"signal-exit": "^3.0.7",
+						"signal-exit": "^4.1.0",
 						"strip-final-newline": "^3.0.0"
 					}
 				},
+				"get-stream": {
+					"version": "8.0.1",
+					"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+					"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
+					"dev": true
+				},
 				"human-signals": {
-					"version": "4.3.1",
-					"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
-					"integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+					"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
 					"dev": true
 				},
 				"indent-string": {
@@ -13537,6 +13998,12 @@
 						"lru-cache": "^6.0.0"
 					}
 				},
+				"signal-exit": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+					"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+					"dev": true
+				},
 				"strip-final-newline": {
 					"version": "3.0.0",
 					"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
@@ -13546,28 +14013,76 @@
 			}
 		},
 		"@semantic-release/release-notes-generator": {
-			"version": "11.0.2",
-			"resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-11.0.2.tgz",
-			"integrity": "sha512-B+Aa82uciufoaoJulnzq7ezqH36nrHOO15ubJmg2hZitzCpPAa6X0pOtkffG+30HLdck5Ky2uJC4uAm/YylbOw==",
+			"version": "12.0.0",
+			"resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-12.0.0.tgz",
+			"integrity": "sha512-m7Ds8ComP1KJgA2Lke2xMwE1TOOU40U7AzP4lT8hJ2tUAeicziPz/1GeDFmRkTOkMFlfHvE6kuvMkvU+mIzIDQ==",
 			"dev": true,
 			"requires": {
-				"conventional-changelog-angular": "^5.0.0",
-				"conventional-changelog-writer": "^5.0.0",
-				"conventional-commits-filter": "^2.0.0",
-				"conventional-commits-parser": "^3.2.3",
+				"conventional-changelog-angular": "^7.0.0",
+				"conventional-changelog-writer": "^7.0.0",
+				"conventional-commits-filter": "^4.0.0",
+				"conventional-commits-parser": "^5.0.0",
 				"debug": "^4.0.0",
 				"get-stream": "^7.0.0",
 				"import-from": "^4.0.0",
 				"into-stream": "^7.0.0",
 				"lodash-es": "^4.17.21",
-				"read-pkg-up": "^9.0.0"
+				"read-pkg-up": "^10.0.0"
 			},
 			"dependencies": {
+				"conventional-changelog-angular": {
+					"version": "7.0.0",
+					"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz",
+					"integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==",
+					"dev": true,
+					"requires": {
+						"compare-func": "^2.0.0"
+					}
+				},
+				"conventional-commits-parser": {
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz",
+					"integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==",
+					"dev": true,
+					"requires": {
+						"is-text-path": "^2.0.0",
+						"JSONStream": "^1.3.5",
+						"meow": "^12.0.1",
+						"split2": "^4.0.0"
+					}
+				},
 				"get-stream": {
 					"version": "7.0.0",
 					"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.0.tgz",
 					"integrity": "sha512-ql6FW5b8tgMYvI4UaoxG3EQN3VyZ6VeQpxNBGg5BZ4xD4u+HJeprzhMMA4OCBEGQgSR+m87pstWMpiVW64W8Fw==",
 					"dev": true
+				},
+				"is-text-path": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz",
+					"integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==",
+					"dev": true,
+					"requires": {
+						"text-extensions": "^2.0.0"
+					}
+				},
+				"meow": {
+					"version": "12.1.1",
+					"resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz",
+					"integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==",
+					"dev": true
+				},
+				"split2": {
+					"version": "4.2.0",
+					"resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
+					"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
+					"dev": true
+				},
+				"text-extensions": {
+					"version": "2.4.0",
+					"resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz",
+					"integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==",
+					"dev": true
 				}
 			}
 		},
@@ -13577,6 +14092,12 @@
 			"integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==",
 			"dev": true
 		},
+		"@sindresorhus/is": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-3.1.2.tgz",
+			"integrity": "sha512-JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==",
+			"dev": true
+		},
 		"@sinonjs/commons": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz",
@@ -14383,63 +14904,76 @@
 			}
 		},
 		"conventional-changelog-angular": {
-			"version": "5.0.13",
-			"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz",
-			"integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==",
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz",
+			"integrity": "sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==",
 			"dev": true,
 			"requires": {
-				"compare-func": "^2.0.0",
-				"q": "^1.5.1"
+				"compare-func": "^2.0.0"
 			}
 		},
 		"conventional-changelog-conventionalcommits": {
-			"version": "6.1.0",
-			"resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-6.1.0.tgz",
-			"integrity": "sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==",
+			"version": "7.0.2",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz",
+			"integrity": "sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==",
 			"dev": true,
 			"requires": {
 				"compare-func": "^2.0.0"
 			}
 		},
 		"conventional-changelog-writer": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz",
-			"integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==",
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz",
+			"integrity": "sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==",
 			"dev": true,
 			"requires": {
-				"conventional-commits-filter": "^2.0.7",
-				"dateformat": "^3.0.0",
+				"conventional-commits-filter": "^4.0.0",
 				"handlebars": "^4.7.7",
 				"json-stringify-safe": "^5.0.1",
-				"lodash": "^4.17.15",
-				"meow": "^8.0.0",
-				"semver": "^6.0.0",
-				"split": "^1.0.0",
-				"through2": "^4.0.0"
+				"meow": "^12.0.1",
+				"semver": "^7.5.2",
+				"split2": "^4.0.0"
+			},
+			"dependencies": {
+				"meow": {
+					"version": "12.1.1",
+					"resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz",
+					"integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==",
+					"dev": true
+				},
+				"semver": {
+					"version": "7.5.4",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+					"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+					"dev": true,
+					"requires": {
+						"lru-cache": "^6.0.0"
+					}
+				},
+				"split2": {
+					"version": "4.2.0",
+					"resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
+					"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
+					"dev": true
+				}
 			}
 		},
 		"conventional-commits-filter": {
-			"version": "2.0.7",
-			"resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz",
-			"integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==",
-			"dev": true,
-			"requires": {
-				"lodash.ismatch": "^4.4.0",
-				"modify-values": "^1.0.0"
-			}
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz",
+			"integrity": "sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==",
+			"dev": true
 		},
 		"conventional-commits-parser": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz",
-			"integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==",
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz",
+			"integrity": "sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==",
 			"dev": true,
 			"requires": {
 				"is-text-path": "^1.0.1",
-				"JSONStream": "^1.0.4",
-				"lodash": "^4.17.15",
-				"meow": "^8.0.0",
-				"split2": "^3.0.0",
-				"through2": "^4.0.0"
+				"JSONStream": "^1.3.5",
+				"meow": "^8.1.2",
+				"split2": "^3.2.2"
 			}
 		},
 		"convert-source-map": {
@@ -14484,9 +15018,9 @@
 			}
 		},
 		"cosmiconfig-typescript-loader": {
-			"version": "4.3.0",
-			"resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz",
-			"integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==",
+			"version": "4.4.0",
+			"resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz",
+			"integrity": "sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==",
 			"dev": true,
 			"requires": {}
 		},
@@ -14528,12 +15062,6 @@
 			"integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==",
 			"dev": true
 		},
-		"dateformat": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
-			"integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
-			"dev": true
-		},
 		"debug": {
 			"version": "4.3.4",
 			"dev": true,
@@ -14668,37 +15196,49 @@
 			"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
 			"dev": true
 		},
+		"emojilib": {
+			"version": "2.4.0",
+			"resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz",
+			"integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==",
+			"dev": true
+		},
 		"env-ci": {
-			"version": "9.1.0",
-			"resolved": "https://registry.npmjs.org/env-ci/-/env-ci-9.1.0.tgz",
-			"integrity": "sha512-ZCEas2sDVFR3gpumwwzSU4OJZwWJ46yqJH3TqH3vSxEBzeAlC0uCJLGAnZC0vX1TIXzHzjcwpKmUn2xw5mC/qA==",
+			"version": "10.0.0",
+			"resolved": "https://registry.npmjs.org/env-ci/-/env-ci-10.0.0.tgz",
+			"integrity": "sha512-U4xcd/utDYFgMh0yWj07R1H6L5fwhVbmxBCpnL0DbVSDZVnsC82HONw0wxtxNkIAcua3KtbomQvIk5xFZGAQJw==",
 			"dev": true,
 			"requires": {
-				"execa": "^7.0.0",
+				"execa": "^8.0.0",
 				"java-properties": "^1.0.2"
 			},
 			"dependencies": {
 				"execa": {
-					"version": "7.1.1",
-					"resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz",
-					"integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==",
+					"version": "8.0.1",
+					"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+					"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
 					"dev": true,
 					"requires": {
 						"cross-spawn": "^7.0.3",
-						"get-stream": "^6.0.1",
-						"human-signals": "^4.3.0",
+						"get-stream": "^8.0.1",
+						"human-signals": "^5.0.0",
 						"is-stream": "^3.0.0",
 						"merge-stream": "^2.0.0",
 						"npm-run-path": "^5.1.0",
 						"onetime": "^6.0.0",
-						"signal-exit": "^3.0.7",
+						"signal-exit": "^4.1.0",
 						"strip-final-newline": "^3.0.0"
 					}
 				},
+				"get-stream": {
+					"version": "8.0.1",
+					"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+					"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
+					"dev": true
+				},
 				"human-signals": {
-					"version": "4.3.1",
-					"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
-					"integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+					"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
 					"dev": true
 				},
 				"is-stream": {
@@ -14737,6 +15277,12 @@
 					"integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
 					"dev": true
 				},
+				"signal-exit": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+					"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+					"dev": true
+				},
 				"strip-final-newline": {
 					"version": "3.0.0",
 					"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
@@ -14950,7 +15496,9 @@
 			"dev": true
 		},
 		"fast-glob": {
-			"version": "3.2.12",
+			"version": "3.3.1",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
+			"integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
 			"dev": true,
 			"requires": {
 				"@nodelib/fs.stat": "^2.0.2",
@@ -15223,13 +15771,13 @@
 			"dev": true
 		},
 		"handlebars": {
-			"version": "4.7.7",
-			"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
-			"integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
+			"version": "4.7.8",
+			"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
+			"integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
 			"dev": true,
 			"requires": {
 				"minimist": "^1.2.5",
-				"neo-async": "^2.6.0",
+				"neo-async": "^2.6.2",
 				"source-map": "^0.6.1",
 				"uglify-js": "^3.1.4",
 				"wordwrap": "^1.0.0"
@@ -16179,12 +16727,6 @@
 			"integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==",
 			"dev": true
 		},
-		"lodash.ismatch": {
-			"version": "4.4.0",
-			"resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz",
-			"integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==",
-			"dev": true
-		},
 		"lodash.isplainobject": {
 			"version": "4.0.6",
 			"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
@@ -16292,23 +16834,23 @@
 			"dev": true
 		},
 		"marked": {
-			"version": "4.3.0",
-			"resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
-			"integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
+			"version": "9.0.3",
+			"resolved": "https://registry.npmjs.org/marked/-/marked-9.0.3.tgz",
+			"integrity": "sha512-pI/k4nzBG1PEq1J3XFEHxVvjicfjl8rgaMaqclouGSMPhk7Q3Ejb2ZRxx/ZQOcQ1909HzVoWCFYq6oLgtL4BpQ==",
 			"dev": true
 		},
 		"marked-terminal": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.2.0.tgz",
-			"integrity": "sha512-Piv6yNwAQXGFjZSaiNljyNFw7jKDdGrw70FSbtxEyldLsyeuV5ZHm/1wW++kWbrOF1VPnUgYOhB2oLL0ZpnekA==",
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-6.0.0.tgz",
+			"integrity": "sha512-6rruICvqRfA4N+Mvdc0UyDbLA0A0nI5omtARIlin3P2F+aNc3EbW91Rd9HTuD0v9qWyHmNIu8Bt40gAnPfldsg==",
 			"dev": true,
 			"requires": {
 				"ansi-escapes": "^6.2.0",
 				"cardinal": "^2.1.1",
-				"chalk": "^5.2.0",
+				"chalk": "^5.3.0",
 				"cli-table3": "^0.6.3",
-				"node-emoji": "^1.11.0",
-				"supports-hyperlinks": "^2.3.0"
+				"node-emoji": "^2.1.0",
+				"supports-hyperlinks": "^3.0.0"
 			},
 			"dependencies": {
 				"ansi-escapes": {
@@ -16321,15 +16863,15 @@
 					}
 				},
 				"chalk": {
-					"version": "5.2.0",
-					"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz",
-					"integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==",
+					"version": "5.3.0",
+					"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+					"integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
 					"dev": true
 				},
 				"type-fest": {
-					"version": "3.11.1",
-					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.11.1.tgz",
-					"integrity": "sha512-aCuRNRERRVh33lgQaJRlUxZqzfhzwTrsE98Mc3o3VXqmiaQdHacgUtJ0esp+7MvZ92qhtzKPeusaX6vIEcoreA==",
+					"version": "3.13.1",
+					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
+					"integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
 					"dev": true
 				}
 			}
@@ -16525,12 +17067,6 @@
 				"kind-of": "^6.0.3"
 			}
 		},
-		"modify-values": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz",
-			"integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==",
-			"dev": true
-		},
 		"ms": {
 			"version": "2.1.2",
 			"dev": true
@@ -16582,21 +17118,15 @@
 			}
 		},
 		"node-emoji": {
-			"version": "1.11.0",
-			"resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
-			"integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
-			"dev": true,
-			"requires": {
-				"lodash": "^4.17.21"
-			}
-		},
-		"node-fetch": {
-			"version": "2.6.11",
-			"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
-			"integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.0.tgz",
+			"integrity": "sha512-tcsBm9C6FmPN5Wo7OjFi9lgMyJjvkAeirmjR/ax8Ttfqy4N8PoFic26uqFTIgayHPNI5FH4ltUvfh9kHzwcK9A==",
 			"dev": true,
 			"requires": {
-				"whatwg-url": "^5.0.0"
+				"@sindresorhus/is": "^3.1.2",
+				"char-regex": "^1.0.2",
+				"emojilib": "^2.4.0",
+				"skin-tone": "^2.0.0"
 			}
 		},
 		"node-int64": {
@@ -16647,76 +17177,78 @@
 			"dev": true
 		},
 		"npm": {
-			"version": "9.6.7",
-			"resolved": "https://registry.npmjs.org/npm/-/npm-9.6.7.tgz",
-			"integrity": "sha512-xwkU1hSZl6Qrkfw3fhxVmMfNWu0A67+aZZs5gz/LoehCeAPkVhQDB90Z2NFoPSI1KpfBWCJ6Bp28wXzv5U5/2g==",
+			"version": "10.1.0",
+			"resolved": "https://registry.npmjs.org/npm/-/npm-10.1.0.tgz",
+			"integrity": "sha512-pZ2xybXzNGbJFZEKNbPoEXsE38Xou9VTnxxBk+B3pz0ndsGCs7iWHoUCPSsISU2hjmkWfDkJo3bYKE8RDOg4eg==",
 			"dev": true,
 			"requires": {
 				"@isaacs/string-locale-compare": "^1.1.0",
-				"@npmcli/arborist": "^6.2.9",
-				"@npmcli/config": "^6.1.7",
+				"@npmcli/arborist": "^7.1.0",
+				"@npmcli/config": "^7.2.0",
+				"@npmcli/fs": "^3.1.0",
 				"@npmcli/map-workspaces": "^3.0.4",
-				"@npmcli/package-json": "^3.1.0",
-				"@npmcli/run-script": "^6.0.2",
+				"@npmcli/package-json": "^5.0.0",
+				"@npmcli/promise-spawn": "^7.0.0",
+				"@npmcli/run-script": "^7.0.1",
+				"@sigstore/tuf": "^2.1.0",
 				"abbrev": "^2.0.0",
 				"archy": "~1.0.0",
-				"cacache": "^17.1.2",
-				"chalk": "^4.1.2",
+				"cacache": "^18.0.0",
+				"chalk": "^5.3.0",
 				"ci-info": "^3.8.0",
 				"cli-columns": "^4.0.0",
 				"cli-table3": "^0.6.3",
 				"columnify": "^1.6.0",
 				"fastest-levenshtein": "^1.0.16",
-				"fs-minipass": "^3.0.2",
-				"glob": "^10.2.4",
+				"fs-minipass": "^3.0.3",
+				"glob": "^10.3.3",
 				"graceful-fs": "^4.2.11",
-				"hosted-git-info": "^6.1.1",
-				"ini": "^4.1.0",
-				"init-package-json": "^5.0.0",
+				"hosted-git-info": "^7.0.0",
+				"ini": "^4.1.1",
+				"init-package-json": "^6.0.0",
 				"is-cidr": "^4.0.2",
 				"json-parse-even-better-errors": "^3.0.0",
-				"libnpmaccess": "^7.0.2",
-				"libnpmdiff": "^5.0.17",
-				"libnpmexec": "^5.0.17",
-				"libnpmfund": "^4.0.17",
-				"libnpmhook": "^9.0.3",
-				"libnpmorg": "^5.0.4",
-				"libnpmpack": "^5.0.17",
-				"libnpmpublish": "^7.2.0",
-				"libnpmsearch": "^6.0.2",
-				"libnpmteam": "^5.0.3",
-				"libnpmversion": "^4.0.2",
-				"make-fetch-happen": "^11.1.1",
-				"minimatch": "^9.0.0",
-				"minipass": "^5.0.0",
+				"libnpmaccess": "^8.0.0",
+				"libnpmdiff": "^6.0.1",
+				"libnpmexec": "^7.0.1",
+				"libnpmfund": "^4.1.1",
+				"libnpmhook": "^10.0.0",
+				"libnpmorg": "^6.0.0",
+				"libnpmpack": "^6.0.1",
+				"libnpmpublish": "^9.0.0",
+				"libnpmsearch": "^7.0.0",
+				"libnpmteam": "^6.0.0",
+				"libnpmversion": "^5.0.0",
+				"make-fetch-happen": "^13.0.0",
+				"minimatch": "^9.0.3",
+				"minipass": "^7.0.3",
 				"minipass-pipeline": "^1.2.4",
 				"ms": "^2.1.2",
-				"node-gyp": "^9.3.1",
-				"nopt": "^7.1.0",
-				"npm-audit-report": "^4.0.0",
-				"npm-install-checks": "^6.1.1",
-				"npm-package-arg": "^10.1.0",
-				"npm-pick-manifest": "^8.0.1",
-				"npm-profile": "^7.0.1",
-				"npm-registry-fetch": "^14.0.5",
+				"node-gyp": "^9.4.0",
+				"nopt": "^7.2.0",
+				"npm-audit-report": "^5.0.0",
+				"npm-install-checks": "^6.2.0",
+				"npm-package-arg": "^11.0.0",
+				"npm-pick-manifest": "^9.0.0",
+				"npm-profile": "^9.0.0",
+				"npm-registry-fetch": "^16.0.0",
 				"npm-user-validate": "^2.0.0",
 				"npmlog": "^7.0.1",
 				"p-map": "^4.0.0",
-				"pacote": "^15.1.3",
+				"pacote": "^17.0.4",
 				"parse-conflict-json": "^3.0.1",
 				"proc-log": "^3.0.0",
 				"qrcode-terminal": "^0.12.0",
 				"read": "^2.1.0",
-				"read-package-json": "^6.0.3",
-				"read-package-json-fast": "^3.0.2",
-				"semver": "^7.5.1",
-				"ssri": "^10.0.4",
-				"tar": "^6.1.14",
+				"semver": "^7.5.4",
+				"ssri": "^10.0.5",
+				"supports-color": "^9.4.0",
+				"tar": "^6.1.15",
 				"text-table": "~0.2.0",
 				"tiny-relative-date": "^1.3.0",
 				"treeverse": "^3.0.0",
 				"validate-npm-package-name": "^5.0.0",
-				"which": "^3.0.1",
+				"which": "^4.0.0",
 				"write-file-atomic": "^5.0.1"
 			},
 			"dependencies": {
@@ -16726,11 +17258,6 @@
 					"dev": true,
 					"optional": true
 				},
-				"@gar/promisify": {
-					"version": "1.1.3",
-					"bundled": true,
-					"dev": true
-				},
 				"@isaacs/cliui": {
 					"version": "8.0.2",
 					"bundled": true,
@@ -16765,7 +17292,7 @@
 							}
 						},
 						"strip-ansi": {
-							"version": "7.0.1",
+							"version": "7.1.0",
 							"bundled": true,
 							"dev": true,
 							"requires": {
@@ -16779,8 +17306,57 @@
 					"bundled": true,
 					"dev": true
 				},
+				"@npmcli/agent": {
+					"version": "2.1.1",
+					"bundled": true,
+					"dev": true,
+					"requires": {
+						"http-proxy-agent": "^7.0.0",
+						"https-proxy-agent": "^7.0.1",
+						"lru-cache": "^10.0.1",
+						"socks-proxy-agent": "^8.0.1"
+					},
+					"dependencies": {
+						"agent-base": {
+							"version": "7.1.0",
+							"bundled": true,
+							"dev": true,
+							"requires": {
+								"debug": "^4.3.4"
+							}
+						},
+						"http-proxy-agent": {
+							"version": "7.0.0",
+							"bundled": true,
+							"dev": true,
+							"requires": {
+								"agent-base": "^7.1.0",
+								"debug": "^4.3.4"
+							}
+						},
+						"https-proxy-agent": {
+							"version": "7.0.1",
+							"bundled": true,
+							"dev": true,
+							"requires": {
+								"agent-base": "^7.0.2",
+								"debug": "4"
+							}
+						},
+						"socks-proxy-agent": {
+							"version": "8.0.1",
+							"bundled": true,
+							"dev": true,
+							"requires": {
+								"agent-base": "^7.0.1",
+								"debug": "^4.3.4",
+								"socks": "^2.7.1"
+							}
+						}
+					}
+				},
 				"@npmcli/arborist": {
-					"version": "6.2.9",
+					"version": "7.1.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
@@ -16788,43 +17364,44 @@
 						"@npmcli/fs": "^3.1.0",
 						"@npmcli/installed-package-contents": "^2.0.2",
 						"@npmcli/map-workspaces": "^3.0.2",
-						"@npmcli/metavuln-calculator": "^5.0.0",
+						"@npmcli/metavuln-calculator": "^7.0.0",
 						"@npmcli/name-from-folder": "^2.0.0",
 						"@npmcli/node-gyp": "^3.0.0",
-						"@npmcli/package-json": "^3.0.0",
+						"@npmcli/package-json": "^5.0.0",
 						"@npmcli/query": "^3.0.0",
-						"@npmcli/run-script": "^6.0.0",
+						"@npmcli/run-script": "^7.0.1",
 						"bin-links": "^4.0.1",
-						"cacache": "^17.0.4",
+						"cacache": "^18.0.0",
 						"common-ancestor-path": "^1.0.1",
-						"hosted-git-info": "^6.1.1",
+						"hosted-git-info": "^7.0.0",
 						"json-parse-even-better-errors": "^3.0.0",
 						"json-stringify-nice": "^1.1.4",
 						"minimatch": "^9.0.0",
 						"nopt": "^7.0.0",
-						"npm-install-checks": "^6.0.0",
-						"npm-package-arg": "^10.1.0",
-						"npm-pick-manifest": "^8.0.1",
-						"npm-registry-fetch": "^14.0.3",
+						"npm-install-checks": "^6.2.0",
+						"npm-package-arg": "^11.0.0",
+						"npm-pick-manifest": "^9.0.0",
+						"npm-registry-fetch": "^16.0.0",
 						"npmlog": "^7.0.1",
-						"pacote": "^15.0.8",
+						"pacote": "^17.0.4",
 						"parse-conflict-json": "^3.0.0",
 						"proc-log": "^3.0.0",
 						"promise-all-reject-late": "^1.0.0",
 						"promise-call-limit": "^1.0.2",
 						"read-package-json-fast": "^3.0.2",
 						"semver": "^7.3.7",
-						"ssri": "^10.0.1",
+						"ssri": "^10.0.5",
 						"treeverse": "^3.0.0",
 						"walk-up-path": "^3.0.1"
 					}
 				},
 				"@npmcli/config": {
-					"version": "6.1.7",
+					"version": "7.2.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
 						"@npmcli/map-workspaces": "^3.0.2",
+						"ci-info": "^3.8.0",
 						"ini": "^4.1.0",
 						"nopt": "^7.0.0",
 						"proc-log": "^3.0.0",
@@ -16850,18 +17427,18 @@
 					}
 				},
 				"@npmcli/git": {
-					"version": "4.0.4",
+					"version": "5.0.3",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"@npmcli/promise-spawn": "^6.0.0",
-						"lru-cache": "^7.4.4",
-						"npm-pick-manifest": "^8.0.0",
+						"@npmcli/promise-spawn": "^7.0.0",
+						"lru-cache": "^10.0.1",
+						"npm-pick-manifest": "^9.0.0",
 						"proc-log": "^3.0.0",
 						"promise-inflight": "^1.0.1",
 						"promise-retry": "^2.0.1",
 						"semver": "^7.3.5",
-						"which": "^3.0.0"
+						"which": "^4.0.0"
 					}
 				},
 				"@npmcli/installed-package-contents": {
@@ -16885,25 +17462,16 @@
 					}
 				},
 				"@npmcli/metavuln-calculator": {
-					"version": "5.0.1",
+					"version": "7.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"cacache": "^17.0.0",
+						"cacache": "^18.0.0",
 						"json-parse-even-better-errors": "^3.0.0",
-						"pacote": "^15.0.0",
+						"pacote": "^17.0.0",
 						"semver": "^7.3.5"
 					}
 				},
-				"@npmcli/move-file": {
-					"version": "2.0.1",
-					"bundled": true,
-					"dev": true,
-					"requires": {
-						"mkdirp": "^1.0.4",
-						"rimraf": "^3.0.2"
-					}
-				},
 				"@npmcli/name-from-folder": {
 					"version": "2.0.0",
 					"bundled": true,
@@ -16915,22 +17483,25 @@
 					"dev": true
 				},
 				"@npmcli/package-json": {
-					"version": "3.1.0",
+					"version": "5.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
+						"@npmcli/git": "^5.0.0",
 						"glob": "^10.2.2",
+						"hosted-git-info": "^7.0.0",
 						"json-parse-even-better-errors": "^3.0.0",
-						"normalize-package-data": "^5.0.0",
-						"npm-normalize-package-bin": "^3.0.1"
+						"normalize-package-data": "^6.0.0",
+						"proc-log": "^3.0.0",
+						"semver": "^7.5.3"
 					}
 				},
 				"@npmcli/promise-spawn": {
-					"version": "6.0.2",
+					"version": "7.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"which": "^3.0.0"
+						"which": "^4.0.0"
 					}
 				},
 				"@npmcli/query": {
@@ -16942,15 +17513,15 @@
 					}
 				},
 				"@npmcli/run-script": {
-					"version": "6.0.2",
+					"version": "7.0.1",
 					"bundled": true,
 					"dev": true,
 					"requires": {
 						"@npmcli/node-gyp": "^3.0.0",
-						"@npmcli/promise-spawn": "^6.0.0",
+						"@npmcli/promise-spawn": "^7.0.0",
 						"node-gyp": "^9.0.0",
 						"read-package-json-fast": "^3.0.0",
-						"which": "^3.0.0"
+						"which": "^4.0.0"
 					}
 				},
 				"@pkgjs/parseargs": {
@@ -16959,28 +17530,55 @@
 					"dev": true,
 					"optional": true
 				},
+				"@sigstore/bundle": {
+					"version": "2.1.0",
+					"bundled": true,
+					"dev": true,
+					"requires": {
+						"@sigstore/protobuf-specs": "^0.2.1"
+					}
+				},
 				"@sigstore/protobuf-specs": {
-					"version": "0.1.0",
+					"version": "0.2.1",
 					"bundled": true,
 					"dev": true
 				},
+				"@sigstore/sign": {
+					"version": "2.1.0",
+					"bundled": true,
+					"dev": true,
+					"requires": {
+						"@sigstore/bundle": "^2.1.0",
+						"@sigstore/protobuf-specs": "^0.2.1",
+						"make-fetch-happen": "^13.0.0"
+					}
+				},
+				"@sigstore/tuf": {
+					"version": "2.1.0",
+					"bundled": true,
+					"dev": true,
+					"requires": {
+						"@sigstore/protobuf-specs": "^0.2.1",
+						"tuf-js": "^2.1.0"
+					}
+				},
 				"@tootallnate/once": {
 					"version": "2.0.0",
 					"bundled": true,
 					"dev": true
 				},
 				"@tufjs/canonical-json": {
-					"version": "1.0.0",
+					"version": "2.0.0",
 					"bundled": true,
 					"dev": true
 				},
 				"@tufjs/models": {
-					"version": "1.0.4",
+					"version": "2.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"@tufjs/canonical-json": "1.0.0",
-						"minimatch": "^9.0.0"
+						"@tufjs/canonical-json": "2.0.0",
+						"minimatch": "^9.0.3"
 					}
 				},
 				"abbrev": {
@@ -17005,12 +17603,10 @@
 					}
 				},
 				"agentkeepalive": {
-					"version": "4.3.0",
+					"version": "4.5.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"debug": "^4.1.0",
-						"depd": "^2.0.0",
 						"humanize-ms": "^1.2.1"
 					}
 				},
@@ -17066,7 +17662,7 @@
 					"dev": true
 				},
 				"bin-links": {
-					"version": "4.0.1",
+					"version": "4.0.2",
 					"bundled": true,
 					"dev": true,
 					"requires": {
@@ -17107,15 +17703,15 @@
 					}
 				},
 				"cacache": {
-					"version": "17.1.2",
+					"version": "18.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
 						"@npmcli/fs": "^3.1.0",
 						"fs-minipass": "^3.0.0",
 						"glob": "^10.2.2",
-						"lru-cache": "^7.7.1",
-						"minipass": "^5.0.0",
+						"lru-cache": "^10.0.1",
+						"minipass": "^7.0.3",
 						"minipass-collect": "^1.0.2",
 						"minipass-flush": "^1.0.5",
 						"minipass-pipeline": "^1.2.4",
@@ -17126,13 +17722,9 @@
 					}
 				},
 				"chalk": {
-					"version": "4.1.2",
+					"version": "5.3.0",
 					"bundled": true,
-					"dev": true,
-					"requires": {
-						"ansi-styles": "^4.1.0",
-						"supports-color": "^7.1.0"
-					}
+					"dev": true
 				},
 				"chownr": {
 					"version": "2.0.0",
@@ -17280,11 +17872,6 @@
 					"bundled": true,
 					"dev": true
 				},
-				"depd": {
-					"version": "2.0.0",
-					"bundled": true,
-					"dev": true
-				},
 				"diff": {
 					"version": "5.1.0",
 					"bundled": true,
@@ -17329,6 +17916,11 @@
 					"bundled": true,
 					"dev": true
 				},
+				"exponential-backoff": {
+					"version": "3.1.1",
+					"bundled": true,
+					"dev": true
+				},
 				"fastest-levenshtein": {
 					"version": "1.0.16",
 					"bundled": true,
@@ -17344,11 +17936,11 @@
 					}
 				},
 				"fs-minipass": {
-					"version": "3.0.2",
+					"version": "3.0.3",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"minipass": "^5.0.0"
+						"minipass": "^7.0.3"
 					}
 				},
 				"fs.realpath": {
@@ -17377,15 +17969,15 @@
 					}
 				},
 				"glob": {
-					"version": "10.2.4",
+					"version": "10.3.3",
 					"bundled": true,
 					"dev": true,
 					"requires": {
 						"foreground-child": "^3.1.0",
 						"jackspeak": "^2.0.3",
-						"minimatch": "^9.0.0",
-						"minipass": "^5.0.0 || ^6.0.0",
-						"path-scurry": "^1.7.0"
+						"minimatch": "^9.0.1",
+						"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+						"path-scurry": "^1.10.1"
 					}
 				},
 				"graceful-fs": {
@@ -17401,22 +17993,17 @@
 						"function-bind": "^1.1.1"
 					}
 				},
-				"has-flag": {
-					"version": "4.0.0",
-					"bundled": true,
-					"dev": true
-				},
 				"has-unicode": {
 					"version": "2.0.1",
 					"bundled": true,
 					"dev": true
 				},
 				"hosted-git-info": {
-					"version": "6.1.1",
+					"version": "7.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"lru-cache": "^7.5.1"
+						"lru-cache": "^10.0.1"
 					}
 				},
 				"http-cache-semantics": {
@@ -17479,12 +18066,7 @@
 					"dev": true
 				},
 				"indent-string": {
-					"version": "4.0.0",
-					"bundled": true,
-					"dev": true
-				},
-				"infer-owner": {
-					"version": "1.0.4",
+					"version": "4.0.0",
 					"bundled": true,
 					"dev": true
 				},
@@ -17503,19 +18085,19 @@
 					"dev": true
 				},
 				"ini": {
-					"version": "4.1.0",
+					"version": "4.1.1",
 					"bundled": true,
 					"dev": true
 				},
 				"init-package-json": {
-					"version": "5.0.0",
+					"version": "6.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"npm-package-arg": "^10.0.0",
+						"npm-package-arg": "^11.0.0",
 						"promzard": "^1.0.0",
 						"read": "^2.0.0",
-						"read-package-json": "^6.0.0",
+						"read-package-json": "^7.0.0",
 						"semver": "^7.3.5",
 						"validate-npm-package-license": "^3.0.4",
 						"validate-npm-package-name": "^5.0.0"
@@ -17540,7 +18122,7 @@
 					}
 				},
 				"is-core-module": {
-					"version": "2.12.0",
+					"version": "2.12.1",
 					"bundled": true,
 					"dev": true,
 					"requires": {
@@ -17563,7 +18145,7 @@
 					"dev": true
 				},
 				"jackspeak": {
-					"version": "2.2.0",
+					"version": "2.2.1",
 					"bundled": true,
 					"dev": true,
 					"requires": {
@@ -17597,42 +18179,41 @@
 					"dev": true
 				},
 				"libnpmaccess": {
-					"version": "7.0.2",
+					"version": "8.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"npm-package-arg": "^10.1.0",
-						"npm-registry-fetch": "^14.0.3"
+						"npm-package-arg": "^11.0.0",
+						"npm-registry-fetch": "^16.0.0"
 					}
 				},
 				"libnpmdiff": {
-					"version": "5.0.17",
+					"version": "6.0.1",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"@npmcli/arborist": "^6.2.9",
+						"@npmcli/arborist": "^7.1.0",
 						"@npmcli/disparity-colors": "^3.0.0",
 						"@npmcli/installed-package-contents": "^2.0.2",
 						"binary-extensions": "^2.2.0",
 						"diff": "^5.1.0",
 						"minimatch": "^9.0.0",
-						"npm-package-arg": "^10.1.0",
-						"pacote": "^15.0.8",
+						"npm-package-arg": "^11.0.0",
+						"pacote": "^17.0.4",
 						"tar": "^6.1.13"
 					}
 				},
 				"libnpmexec": {
-					"version": "5.0.17",
+					"version": "7.0.1",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"@npmcli/arborist": "^6.2.9",
-						"@npmcli/run-script": "^6.0.0",
-						"chalk": "^4.1.0",
+						"@npmcli/arborist": "^7.1.0",
+						"@npmcli/run-script": "^7.0.1",
 						"ci-info": "^3.7.1",
-						"npm-package-arg": "^10.1.0",
+						"npm-package-arg": "^11.0.0",
 						"npmlog": "^7.0.1",
-						"pacote": "^15.0.8",
+						"pacote": "^17.0.4",
 						"proc-log": "^3.0.0",
 						"read": "^2.0.0",
 						"read-package-json-fast": "^3.0.2",
@@ -17641,115 +18222,111 @@
 					}
 				},
 				"libnpmfund": {
-					"version": "4.0.17",
+					"version": "4.1.1",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"@npmcli/arborist": "^6.2.9"
+						"@npmcli/arborist": "^7.1.0"
 					}
 				},
 				"libnpmhook": {
-					"version": "9.0.3",
+					"version": "10.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
 						"aproba": "^2.0.0",
-						"npm-registry-fetch": "^14.0.3"
+						"npm-registry-fetch": "^16.0.0"
 					}
 				},
 				"libnpmorg": {
-					"version": "5.0.4",
+					"version": "6.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
 						"aproba": "^2.0.0",
-						"npm-registry-fetch": "^14.0.3"
+						"npm-registry-fetch": "^16.0.0"
 					}
 				},
 				"libnpmpack": {
-					"version": "5.0.17",
+					"version": "6.0.1",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"@npmcli/arborist": "^6.2.9",
-						"@npmcli/run-script": "^6.0.0",
-						"npm-package-arg": "^10.1.0",
-						"pacote": "^15.0.8"
+						"@npmcli/arborist": "^7.1.0",
+						"@npmcli/run-script": "^7.0.1",
+						"npm-package-arg": "^11.0.0",
+						"pacote": "^17.0.4"
 					}
 				},
 				"libnpmpublish": {
-					"version": "7.2.0",
+					"version": "9.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
 						"ci-info": "^3.6.1",
-						"normalize-package-data": "^5.0.0",
-						"npm-package-arg": "^10.1.0",
-						"npm-registry-fetch": "^14.0.3",
+						"normalize-package-data": "^6.0.0",
+						"npm-package-arg": "^11.0.0",
+						"npm-registry-fetch": "^16.0.0",
 						"proc-log": "^3.0.0",
 						"semver": "^7.3.7",
-						"sigstore": "^1.4.0",
-						"ssri": "^10.0.1"
+						"sigstore": "^2.1.0",
+						"ssri": "^10.0.5"
 					}
 				},
 				"libnpmsearch": {
-					"version": "6.0.2",
+					"version": "7.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"npm-registry-fetch": "^14.0.3"
+						"npm-registry-fetch": "^16.0.0"
 					}
 				},
 				"libnpmteam": {
-					"version": "5.0.3",
+					"version": "6.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
 						"aproba": "^2.0.0",
-						"npm-registry-fetch": "^14.0.3"
+						"npm-registry-fetch": "^16.0.0"
 					}
 				},
 				"libnpmversion": {
-					"version": "4.0.2",
+					"version": "5.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"@npmcli/git": "^4.0.1",
-						"@npmcli/run-script": "^6.0.0",
+						"@npmcli/git": "^5.0.3",
+						"@npmcli/run-script": "^7.0.1",
 						"json-parse-even-better-errors": "^3.0.0",
 						"proc-log": "^3.0.0",
 						"semver": "^7.3.7"
 					}
 				},
 				"lru-cache": {
-					"version": "7.18.3",
+					"version": "10.0.1",
 					"bundled": true,
 					"dev": true
 				},
 				"make-fetch-happen": {
-					"version": "11.1.1",
+					"version": "13.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"agentkeepalive": "^4.2.1",
-						"cacache": "^17.0.0",
+						"@npmcli/agent": "^2.0.0",
+						"cacache": "^18.0.0",
 						"http-cache-semantics": "^4.1.1",
-						"http-proxy-agent": "^5.0.0",
-						"https-proxy-agent": "^5.0.0",
 						"is-lambda": "^1.0.1",
-						"lru-cache": "^7.7.1",
-						"minipass": "^5.0.0",
+						"minipass": "^7.0.2",
 						"minipass-fetch": "^3.0.0",
 						"minipass-flush": "^1.0.5",
 						"minipass-pipeline": "^1.2.4",
 						"negotiator": "^0.6.3",
 						"promise-retry": "^2.0.1",
-						"socks-proxy-agent": "^7.0.0",
 						"ssri": "^10.0.0"
 					}
 				},
 				"minimatch": {
-					"version": "9.0.0",
+					"version": "9.0.3",
 					"bundled": true,
 					"dev": true,
 					"requires": {
@@ -17757,7 +18334,7 @@
 					}
 				},
 				"minipass": {
-					"version": "5.0.0",
+					"version": "7.0.3",
 					"bundled": true,
 					"dev": true
 				},
@@ -17780,12 +18357,12 @@
 					}
 				},
 				"minipass-fetch": {
-					"version": "3.0.3",
+					"version": "3.0.4",
 					"bundled": true,
 					"dev": true,
 					"requires": {
 						"encoding": "^0.1.13",
-						"minipass": "^5.0.0",
+						"minipass": "^7.0.3",
 						"minipass-sized": "^1.0.3",
 						"minizlib": "^2.1.2"
 					}
@@ -17903,14 +18480,15 @@
 					"dev": true
 				},
 				"node-gyp": {
-					"version": "9.3.1",
+					"version": "9.4.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
 						"env-paths": "^2.2.0",
+						"exponential-backoff": "^3.1.1",
 						"glob": "^7.1.4",
 						"graceful-fs": "^4.2.6",
-						"make-fetch-happen": "^10.0.3",
+						"make-fetch-happen": "^11.0.3",
 						"nopt": "^6.0.0",
 						"npmlog": "^6.0.0",
 						"rimraf": "^3.0.2",
@@ -17919,15 +18497,6 @@
 						"which": "^2.0.2"
 					},
 					"dependencies": {
-						"@npmcli/fs": {
-							"version": "2.1.2",
-							"bundled": true,
-							"dev": true,
-							"requires": {
-								"@gar/promisify": "^1.1.3",
-								"semver": "^7.3.5"
-							}
-						},
 						"abbrev": {
 							"version": "1.1.1",
 							"bundled": true,
@@ -17952,28 +18521,22 @@
 							}
 						},
 						"cacache": {
-							"version": "16.1.3",
+							"version": "17.1.4",
 							"bundled": true,
 							"dev": true,
 							"requires": {
-								"@npmcli/fs": "^2.1.0",
-								"@npmcli/move-file": "^2.0.0",
-								"chownr": "^2.0.0",
-								"fs-minipass": "^2.1.0",
-								"glob": "^8.0.1",
-								"infer-owner": "^1.0.4",
+								"@npmcli/fs": "^3.1.0",
+								"fs-minipass": "^3.0.0",
+								"glob": "^10.2.2",
 								"lru-cache": "^7.7.1",
-								"minipass": "^3.1.6",
+								"minipass": "^7.0.3",
 								"minipass-collect": "^1.0.2",
 								"minipass-flush": "^1.0.5",
 								"minipass-pipeline": "^1.2.4",
-								"mkdirp": "^1.0.4",
 								"p-map": "^4.0.0",
-								"promise-inflight": "^1.0.1",
-								"rimraf": "^3.0.2",
-								"ssri": "^9.0.0",
+								"ssri": "^10.0.0",
 								"tar": "^6.1.11",
-								"unique-filename": "^2.0.0"
+								"unique-filename": "^3.0.0"
 							},
 							"dependencies": {
 								"brace-expansion": {
@@ -17985,35 +18548,32 @@
 									}
 								},
 								"glob": {
-									"version": "8.1.0",
+									"version": "10.3.3",
 									"bundled": true,
 									"dev": true,
 									"requires": {
-										"fs.realpath": "^1.0.0",
-										"inflight": "^1.0.4",
-										"inherits": "2",
-										"minimatch": "^5.0.1",
-										"once": "^1.3.0"
+										"foreground-child": "^3.1.0",
+										"jackspeak": "^2.0.3",
+										"minimatch": "^9.0.1",
+										"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+										"path-scurry": "^1.10.1"
 									}
 								},
 								"minimatch": {
-									"version": "5.1.6",
+									"version": "9.0.3",
 									"bundled": true,
 									"dev": true,
 									"requires": {
 										"brace-expansion": "^2.0.1"
 									}
+								},
+								"minipass": {
+									"version": "7.0.3",
+									"bundled": true,
+									"dev": true
 								}
 							}
 						},
-						"fs-minipass": {
-							"version": "2.1.0",
-							"bundled": true,
-							"dev": true,
-							"requires": {
-								"minipass": "^3.0.0"
-							}
-						},
 						"gauge": {
 							"version": "4.0.4",
 							"bundled": true,
@@ -18042,27 +18602,31 @@
 								"path-is-absolute": "^1.0.0"
 							}
 						},
+						"lru-cache": {
+							"version": "7.18.3",
+							"bundled": true,
+							"dev": true
+						},
 						"make-fetch-happen": {
-							"version": "10.2.1",
+							"version": "11.1.1",
 							"bundled": true,
 							"dev": true,
 							"requires": {
 								"agentkeepalive": "^4.2.1",
-								"cacache": "^16.1.0",
-								"http-cache-semantics": "^4.1.0",
+								"cacache": "^17.0.0",
+								"http-cache-semantics": "^4.1.1",
 								"http-proxy-agent": "^5.0.0",
 								"https-proxy-agent": "^5.0.0",
 								"is-lambda": "^1.0.1",
 								"lru-cache": "^7.7.1",
-								"minipass": "^3.1.6",
-								"minipass-collect": "^1.0.2",
-								"minipass-fetch": "^2.0.3",
+								"minipass": "^5.0.0",
+								"minipass-fetch": "^3.0.0",
 								"minipass-flush": "^1.0.5",
 								"minipass-pipeline": "^1.2.4",
 								"negotiator": "^0.6.3",
 								"promise-retry": "^2.0.1",
 								"socks-proxy-agent": "^7.0.0",
-								"ssri": "^9.0.0"
+								"ssri": "^10.0.0"
 							}
 						},
 						"minimatch": {
@@ -18074,23 +18638,9 @@
 							}
 						},
 						"minipass": {
-							"version": "3.3.6",
-							"bundled": true,
-							"dev": true,
-							"requires": {
-								"yallist": "^4.0.0"
-							}
-						},
-						"minipass-fetch": {
-							"version": "2.1.2",
+							"version": "5.0.0",
 							"bundled": true,
-							"dev": true,
-							"requires": {
-								"encoding": "^0.1.13",
-								"minipass": "^3.1.6",
-								"minipass-sized": "^1.0.3",
-								"minizlib": "^2.1.2"
-							}
+							"dev": true
 						},
 						"nopt": {
 							"version": "6.0.0",
@@ -18126,30 +18676,6 @@
 							"bundled": true,
 							"dev": true
 						},
-						"ssri": {
-							"version": "9.0.1",
-							"bundled": true,
-							"dev": true,
-							"requires": {
-								"minipass": "^3.1.1"
-							}
-						},
-						"unique-filename": {
-							"version": "2.0.1",
-							"bundled": true,
-							"dev": true,
-							"requires": {
-								"unique-slug": "^3.0.0"
-							}
-						},
-						"unique-slug": {
-							"version": "3.0.0",
-							"bundled": true,
-							"dev": true,
-							"requires": {
-								"imurmurhash": "^0.1.4"
-							}
-						},
 						"which": {
 							"version": "2.0.2",
 							"bundled": true,
@@ -18161,7 +18687,7 @@
 					}
 				},
 				"nopt": {
-					"version": "7.1.0",
+					"version": "7.2.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
@@ -18169,23 +18695,20 @@
 					}
 				},
 				"normalize-package-data": {
-					"version": "5.0.0",
+					"version": "6.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"hosted-git-info": "^6.0.0",
+						"hosted-git-info": "^7.0.0",
 						"is-core-module": "^2.8.1",
 						"semver": "^7.3.5",
 						"validate-npm-package-license": "^3.0.4"
 					}
 				},
 				"npm-audit-report": {
-					"version": "4.0.0",
+					"version": "5.0.0",
 					"bundled": true,
-					"dev": true,
-					"requires": {
-						"chalk": "^4.0.0"
-					}
+					"dev": true
 				},
 				"npm-bundled": {
 					"version": "3.0.0",
@@ -18196,7 +18719,7 @@
 					}
 				},
 				"npm-install-checks": {
-					"version": "6.1.1",
+					"version": "6.2.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
@@ -18209,18 +18732,18 @@
 					"dev": true
 				},
 				"npm-package-arg": {
-					"version": "10.1.0",
+					"version": "11.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"hosted-git-info": "^6.0.0",
+						"hosted-git-info": "^7.0.0",
 						"proc-log": "^3.0.0",
 						"semver": "^7.3.5",
 						"validate-npm-package-name": "^5.0.0"
 					}
 				},
 				"npm-packlist": {
-					"version": "7.0.4",
+					"version": "8.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
@@ -18228,36 +18751,36 @@
 					}
 				},
 				"npm-pick-manifest": {
-					"version": "8.0.1",
+					"version": "9.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
 						"npm-install-checks": "^6.0.0",
 						"npm-normalize-package-bin": "^3.0.0",
-						"npm-package-arg": "^10.0.0",
+						"npm-package-arg": "^11.0.0",
 						"semver": "^7.3.5"
 					}
 				},
 				"npm-profile": {
-					"version": "7.0.1",
+					"version": "9.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"npm-registry-fetch": "^14.0.0",
+						"npm-registry-fetch": "^16.0.0",
 						"proc-log": "^3.0.0"
 					}
 				},
 				"npm-registry-fetch": {
-					"version": "14.0.5",
+					"version": "16.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"make-fetch-happen": "^11.0.0",
-						"minipass": "^5.0.0",
+						"make-fetch-happen": "^13.0.0",
+						"minipass": "^7.0.2",
 						"minipass-fetch": "^3.0.0",
 						"minipass-json-stream": "^1.0.1",
 						"minizlib": "^2.1.2",
-						"npm-package-arg": "^10.0.0",
+						"npm-package-arg": "^11.0.0",
 						"proc-log": "^3.0.0"
 					}
 				},
@@ -18294,26 +18817,26 @@
 					}
 				},
 				"pacote": {
-					"version": "15.1.3",
+					"version": "17.0.4",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"@npmcli/git": "^4.0.0",
+						"@npmcli/git": "^5.0.0",
 						"@npmcli/installed-package-contents": "^2.0.1",
-						"@npmcli/promise-spawn": "^6.0.1",
-						"@npmcli/run-script": "^6.0.0",
-						"cacache": "^17.0.0",
+						"@npmcli/promise-spawn": "^7.0.0",
+						"@npmcli/run-script": "^7.0.0",
+						"cacache": "^18.0.0",
 						"fs-minipass": "^3.0.0",
-						"minipass": "^5.0.0",
-						"npm-package-arg": "^10.0.0",
-						"npm-packlist": "^7.0.0",
-						"npm-pick-manifest": "^8.0.0",
-						"npm-registry-fetch": "^14.0.0",
+						"minipass": "^7.0.2",
+						"npm-package-arg": "^11.0.0",
+						"npm-packlist": "^8.0.0",
+						"npm-pick-manifest": "^9.0.0",
+						"npm-registry-fetch": "^16.0.0",
 						"proc-log": "^3.0.0",
 						"promise-retry": "^2.0.1",
-						"read-package-json": "^6.0.0",
+						"read-package-json": "^7.0.0",
 						"read-package-json-fast": "^3.0.0",
-						"sigstore": "^1.3.0",
+						"sigstore": "^2.0.0",
 						"ssri": "^10.0.0",
 						"tar": "^6.1.11"
 					}
@@ -18339,19 +18862,12 @@
 					"dev": true
 				},
 				"path-scurry": {
-					"version": "1.9.1",
+					"version": "1.10.1",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"lru-cache": "^9.1.1",
-						"minipass": "^5.0.0 || ^6.0.0"
-					},
-					"dependencies": {
-						"lru-cache": {
-							"version": "9.1.1",
-							"bundled": true,
-							"dev": true
-						}
+						"lru-cache": "^9.1.1 || ^10.0.0",
+						"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
 					}
 				},
 				"postcss-selector-parser": {
@@ -18424,13 +18940,13 @@
 					"dev": true
 				},
 				"read-package-json": {
-					"version": "6.0.3",
+					"version": "7.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
 						"glob": "^10.2.2",
 						"json-parse-even-better-errors": "^3.0.0",
-						"normalize-package-data": "^5.0.0",
+						"normalize-package-data": "^6.0.0",
 						"npm-normalize-package-bin": "^3.0.0"
 					}
 				},
@@ -18500,7 +19016,7 @@
 					}
 				},
 				"safe-buffer": {
-					"version": "5.1.2",
+					"version": "5.2.1",
 					"bundled": true,
 					"dev": true
 				},
@@ -18511,7 +19027,7 @@
 					"optional": true
 				},
 				"semver": {
-					"version": "7.5.1",
+					"version": "7.5.4",
 					"bundled": true,
 					"dev": true,
 					"requires": {
@@ -18552,13 +19068,14 @@
 					"dev": true
 				},
 				"sigstore": {
-					"version": "1.5.2",
+					"version": "2.1.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"@sigstore/protobuf-specs": "^0.1.0",
-						"make-fetch-happen": "^11.0.1",
-						"tuf-js": "^1.1.3"
+						"@sigstore/bundle": "^2.1.0",
+						"@sigstore/protobuf-specs": "^0.2.1",
+						"@sigstore/sign": "^2.1.0",
+						"@sigstore/tuf": "^2.1.0"
 					}
 				},
 				"smart-buffer": {
@@ -18614,19 +19131,19 @@
 					"dev": true
 				},
 				"ssri": {
-					"version": "10.0.4",
+					"version": "10.0.5",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"minipass": "^5.0.0"
+						"minipass": "^7.0.3"
 					}
 				},
 				"string_decoder": {
-					"version": "1.1.1",
+					"version": "1.3.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"safe-buffer": "~5.1.0"
+						"safe-buffer": "~5.2.0"
 					}
 				},
 				"string-width": {
@@ -18666,15 +19183,12 @@
 					}
 				},
 				"supports-color": {
-					"version": "7.2.0",
+					"version": "9.4.0",
 					"bundled": true,
-					"dev": true,
-					"requires": {
-						"has-flag": "^4.0.0"
-					}
+					"dev": true
 				},
 				"tar": {
-					"version": "6.1.14",
+					"version": "6.1.15",
 					"bundled": true,
 					"dev": true,
 					"requires": {
@@ -18703,6 +19217,11 @@
 									}
 								}
 							}
+						},
+						"minipass": {
+							"version": "5.0.0",
+							"bundled": true,
+							"dev": true
 						}
 					}
 				},
@@ -18722,13 +19241,13 @@
 					"dev": true
 				},
 				"tuf-js": {
-					"version": "1.1.6",
+					"version": "2.1.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"@tufjs/models": "1.0.4",
+						"@tufjs/models": "2.0.0",
 						"debug": "^4.3.4",
-						"make-fetch-happen": "^11.1.0"
+						"make-fetch-happen": "^13.0.0"
 					}
 				},
 				"unique-filename": {
@@ -18783,11 +19302,18 @@
 					}
 				},
 				"which": {
-					"version": "3.0.1",
+					"version": "4.0.0",
 					"bundled": true,
 					"dev": true,
 					"requires": {
-						"isexe": "^2.0.0"
+						"isexe": "^3.1.1"
+					},
+					"dependencies": {
+						"isexe": {
+							"version": "3.1.1",
+							"bundled": true,
+							"dev": true
+						}
 					}
 				},
 				"wide-align": {
@@ -18834,7 +19360,7 @@
 							}
 						},
 						"strip-ansi": {
-							"version": "7.0.1",
+							"version": "7.1.0",
 							"bundled": true,
 							"dev": true,
 							"requires": {
@@ -18918,12 +19444,12 @@
 			"dev": true
 		},
 		"p-filter": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz",
-			"integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==",
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/p-filter/-/p-filter-3.0.0.tgz",
+			"integrity": "sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==",
 			"dev": true,
 			"requires": {
-				"p-map": "^2.0.0"
+				"p-map": "^5.1.0"
 			}
 		},
 		"p-is-promise": {
@@ -18947,10 +19473,46 @@
 			}
 		},
 		"p-map": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
-			"integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
-			"dev": true
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/p-map/-/p-map-5.5.0.tgz",
+			"integrity": "sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==",
+			"dev": true,
+			"requires": {
+				"aggregate-error": "^4.0.0"
+			},
+			"dependencies": {
+				"aggregate-error": {
+					"version": "4.0.1",
+					"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz",
+					"integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==",
+					"dev": true,
+					"requires": {
+						"clean-stack": "^4.0.0",
+						"indent-string": "^5.0.0"
+					}
+				},
+				"clean-stack": {
+					"version": "4.2.0",
+					"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz",
+					"integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==",
+					"dev": true,
+					"requires": {
+						"escape-string-regexp": "5.0.0"
+					}
+				},
+				"escape-string-regexp": {
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+					"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+					"dev": true
+				},
+				"indent-string": {
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
+					"integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
+					"dev": true
+				}
+			}
 		},
 		"p-reduce": {
 			"version": "2.1.0",
@@ -19213,12 +19775,6 @@
 			"integrity": "sha512-t+x1zEHDjBwkDGY5v5ApnZ/utcd4XYDiJsaQQoptTXgUXX95sDg1elCdJghzicm7n2mbCBJ3uYWr6M22SO19rg==",
 			"dev": true
 		},
-		"q": {
-			"version": "1.5.1",
-			"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
-			"integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==",
-			"dev": true
-		},
 		"queue-microtask": {
 			"version": "1.2.3",
 			"dev": true
@@ -19256,30 +19812,30 @@
 			"dev": true
 		},
 		"read-pkg": {
-			"version": "8.0.0",
-			"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.0.0.tgz",
-			"integrity": "sha512-Ajb9oSjxXBw0YyOiwtQ2dKbAA/vMnUPnY63XcCk+mXo0BwIdQEMgZLZiMWGttQHcUhUgbK0mH85ethMPKXxziw==",
+			"version": "8.1.0",
+			"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz",
+			"integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==",
 			"dev": true,
 			"requires": {
 				"@types/normalize-package-data": "^2.4.1",
-				"normalize-package-data": "^5.0.0",
+				"normalize-package-data": "^6.0.0",
 				"parse-json": "^7.0.0",
-				"type-fest": "^3.8.0"
+				"type-fest": "^4.2.0"
 			},
 			"dependencies": {
 				"hosted-git-info": {
-					"version": "6.1.1",
-					"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz",
-					"integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==",
+					"version": "7.0.1",
+					"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz",
+					"integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==",
 					"dev": true,
 					"requires": {
-						"lru-cache": "^7.5.1"
+						"lru-cache": "^10.0.1"
 					},
 					"dependencies": {
 						"lru-cache": {
-							"version": "7.18.3",
-							"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-							"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+							"version": "10.0.1",
+							"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
+							"integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==",
 							"dev": true
 						}
 					}
@@ -19297,12 +19853,12 @@
 					"dev": true
 				},
 				"normalize-package-data": {
-					"version": "5.0.0",
-					"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz",
-					"integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==",
+					"version": "6.0.0",
+					"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz",
+					"integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==",
 					"dev": true,
 					"requires": {
-						"hosted-git-info": "^6.0.0",
+						"hosted-git-info": "^7.0.0",
 						"is-core-module": "^2.8.1",
 						"semver": "^7.3.5",
 						"validate-npm-package-license": "^3.0.4"
@@ -19319,34 +19875,42 @@
 						"json-parse-even-better-errors": "^3.0.0",
 						"lines-and-columns": "^2.0.3",
 						"type-fest": "^3.8.0"
+					},
+					"dependencies": {
+						"type-fest": {
+							"version": "3.13.1",
+							"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
+							"integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
+							"dev": true
+						}
 					}
 				},
 				"semver": {
-					"version": "7.5.1",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
-					"integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
+					"version": "7.5.4",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+					"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
 					"dev": true,
 					"requires": {
 						"lru-cache": "^6.0.0"
 					}
 				},
 				"type-fest": {
-					"version": "3.11.1",
-					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.11.1.tgz",
-					"integrity": "sha512-aCuRNRERRVh33lgQaJRlUxZqzfhzwTrsE98Mc3o3VXqmiaQdHacgUtJ0esp+7MvZ92qhtzKPeusaX6vIEcoreA==",
+					"version": "4.3.3",
+					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.3.3.tgz",
+					"integrity": "sha512-bxhiFii6BBv6UiSDq7uKTMyADT9unXEl3ydGefndVLxFeB44LRbT4K7OJGDYSyDrKnklCC1Pre68qT2wbUl2Aw==",
 					"dev": true
 				}
 			}
 		},
 		"read-pkg-up": {
-			"version": "9.1.0",
-			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-9.1.0.tgz",
-			"integrity": "sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==",
+			"version": "10.1.0",
+			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz",
+			"integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==",
 			"dev": true,
 			"requires": {
 				"find-up": "^6.3.0",
-				"read-pkg": "^7.1.0",
-				"type-fest": "^2.5.0"
+				"read-pkg": "^8.1.0",
+				"type-fest": "^4.2.0"
 			},
 			"dependencies": {
 				"find-up": {
@@ -19392,22 +19956,10 @@
 					"integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
 					"dev": true
 				},
-				"read-pkg": {
-					"version": "7.1.0",
-					"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-7.1.0.tgz",
-					"integrity": "sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==",
-					"dev": true,
-					"requires": {
-						"@types/normalize-package-data": "^2.4.1",
-						"normalize-package-data": "^3.0.2",
-						"parse-json": "^5.2.0",
-						"type-fest": "^2.0.0"
-					}
-				},
 				"type-fest": {
-					"version": "2.19.0",
-					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
-					"integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
+					"version": "4.3.3",
+					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.3.3.tgz",
+					"integrity": "sha512-bxhiFii6BBv6UiSDq7uKTMyADT9unXEl3ydGefndVLxFeB44LRbT4K7OJGDYSyDrKnklCC1Pre68qT2wbUl2Aw==",
 					"dev": true
 				},
 				"yocto-queue": {
@@ -19551,34 +20103,34 @@
 			"dev": true
 		},
 		"semantic-release": {
-			"version": "21.0.2",
-			"resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-21.0.2.tgz",
-			"integrity": "sha512-Hl6lyJdZ0pAYD07Z1FIUmg06UzSC3fEjHS7U31YppNQ8jOwjjt7pVzW9OfpoO0vbmqD3Tc+b/iZh5fqvKt01OA==",
+			"version": "22.0.5",
+			"resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-22.0.5.tgz",
+			"integrity": "sha512-ESCEQsZlBj1DWMA84RthaJzQHHnihoGk49s9nUxHfRNUNZelLE9JZrE94bHO2Y00EWb7iwrzr1OYhv5QNVmf8A==",
 			"dev": true,
 			"requires": {
-				"@semantic-release/commit-analyzer": "^9.0.2",
-				"@semantic-release/error": "^3.0.0",
-				"@semantic-release/github": "^8.0.0",
-				"@semantic-release/npm": "^10.0.2",
-				"@semantic-release/release-notes-generator": "^11.0.0",
-				"aggregate-error": "^4.0.1",
+				"@semantic-release/commit-analyzer": "^11.0.0",
+				"@semantic-release/error": "^4.0.0",
+				"@semantic-release/github": "^9.0.0",
+				"@semantic-release/npm": "^11.0.0",
+				"@semantic-release/release-notes-generator": "^12.0.0",
+				"aggregate-error": "^5.0.0",
 				"cosmiconfig": "^8.0.0",
 				"debug": "^4.0.0",
-				"env-ci": "^9.0.0",
-				"execa": "^7.0.0",
+				"env-ci": "^10.0.0",
+				"execa": "^8.0.0",
 				"figures": "^5.0.0",
 				"find-versions": "^5.1.0",
 				"get-stream": "^6.0.0",
 				"git-log-parser": "^1.2.0",
 				"hook-std": "^3.0.0",
-				"hosted-git-info": "^6.0.0",
+				"hosted-git-info": "^7.0.0",
 				"lodash-es": "^4.17.21",
-				"marked": "^4.1.0",
-				"marked-terminal": "^5.1.1",
+				"marked": "^9.0.0",
+				"marked-terminal": "^6.0.0",
 				"micromatch": "^4.0.2",
 				"p-each-series": "^3.0.0",
 				"p-reduce": "^3.0.0",
-				"read-pkg-up": "^9.1.0",
+				"read-pkg-up": "^10.0.0",
 				"resolve-from": "^5.0.0",
 				"semver": "^7.3.2",
 				"semver-diff": "^4.0.0",
@@ -19586,20 +20138,26 @@
 				"yargs": "^17.5.1"
 			},
 			"dependencies": {
+				"@semantic-release/error": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz",
+					"integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==",
+					"dev": true
+				},
 				"aggregate-error": {
-					"version": "4.0.1",
-					"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz",
-					"integrity": "sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==",
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz",
+					"integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==",
 					"dev": true,
 					"requires": {
-						"clean-stack": "^4.0.0",
+						"clean-stack": "^5.2.0",
 						"indent-string": "^5.0.0"
 					}
 				},
 				"clean-stack": {
-					"version": "4.2.0",
-					"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.2.0.tgz",
-					"integrity": "sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==",
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz",
+					"integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==",
 					"dev": true,
 					"requires": {
 						"escape-string-regexp": "5.0.0"
@@ -19612,43 +20170,51 @@
 					"dev": true
 				},
 				"execa": {
-					"version": "7.1.1",
-					"resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz",
-					"integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==",
+					"version": "8.0.1",
+					"resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+					"integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
 					"dev": true,
 					"requires": {
 						"cross-spawn": "^7.0.3",
-						"get-stream": "^6.0.1",
-						"human-signals": "^4.3.0",
+						"get-stream": "^8.0.1",
+						"human-signals": "^5.0.0",
 						"is-stream": "^3.0.0",
 						"merge-stream": "^2.0.0",
 						"npm-run-path": "^5.1.0",
 						"onetime": "^6.0.0",
-						"signal-exit": "^3.0.7",
+						"signal-exit": "^4.1.0",
 						"strip-final-newline": "^3.0.0"
+					},
+					"dependencies": {
+						"get-stream": {
+							"version": "8.0.1",
+							"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+							"integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
+							"dev": true
+						}
 					}
 				},
 				"hosted-git-info": {
-					"version": "6.1.1",
-					"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz",
-					"integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==",
+					"version": "7.0.1",
+					"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz",
+					"integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==",
 					"dev": true,
 					"requires": {
-						"lru-cache": "^7.5.1"
+						"lru-cache": "^10.0.1"
 					},
 					"dependencies": {
 						"lru-cache": {
-							"version": "7.18.3",
-							"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-							"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+							"version": "10.0.1",
+							"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
+							"integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==",
 							"dev": true
 						}
 					}
 				},
 				"human-signals": {
-					"version": "4.3.1",
-					"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz",
-					"integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==",
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+					"integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
 					"dev": true
 				},
 				"indent-string": {
@@ -19714,6 +20280,12 @@
 						"lru-cache": "^6.0.0"
 					}
 				},
+				"signal-exit": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+					"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+					"dev": true
+				},
 				"strip-final-newline": {
 					"version": "3.0.0",
 					"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
@@ -19867,6 +20439,15 @@
 			"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
 			"dev": true
 		},
+		"skin-tone": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz",
+			"integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==",
+			"dev": true,
+			"requires": {
+				"unicode-emoji-modifier-base": "^1.0.0"
+			}
+		},
 		"slash": {
 			"version": "3.0.0",
 			"dev": true
@@ -19925,15 +20506,6 @@
 			"integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==",
 			"dev": true
 		},
-		"split": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
-			"integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
-			"dev": true,
-			"requires": {
-				"through": "2"
-			}
-		},
 		"split2": {
 			"version": "3.2.2",
 			"resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz",
@@ -20051,9 +20623,9 @@
 			}
 		},
 		"supports-hyperlinks": {
-			"version": "2.3.0",
-			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
-			"integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz",
+			"integrity": "sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==",
 			"dev": true,
 			"requires": {
 				"has-flag": "^4.0.0",
@@ -20164,12 +20736,6 @@
 				"is-number": "^7.0.0"
 			}
 		},
-		"tr46": {
-			"version": "0.0.3",
-			"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
-			"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
-			"dev": true
-		},
 		"traverse": {
 			"version": "0.6.7",
 			"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz",
@@ -20277,6 +20843,12 @@
 			"dev": true,
 			"optional": true
 		},
+		"unicode-emoji-modifier-base": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz",
+			"integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==",
+			"dev": true
+		},
 		"unique-string": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz",
@@ -20316,9 +20888,9 @@
 			}
 		},
 		"url-join": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz",
-			"integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz",
+			"integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==",
 			"dev": true
 		},
 		"util-deprecate": {
@@ -20371,22 +20943,6 @@
 				"makeerror": "1.0.12"
 			}
 		},
-		"webidl-conversions": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
-			"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
-			"dev": true
-		},
-		"whatwg-url": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
-			"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
-			"dev": true,
-			"requires": {
-				"tr46": "~0.0.3",
-				"webidl-conversions": "^3.0.0"
-			}
-		},
 		"which": {
 			"version": "2.0.2",
 			"dev": true,
diff --git a/package.json b/package.json
index a523d59..a26991e 100644
--- a/package.json
+++ b/package.json
@@ -27,15 +27,15 @@
 		"luxon": "~3.3.0"
 	},
 	"devDependencies": {
-		"@commitlint/cli": "~17.6.6",
-		"@insurgentlab/commitlint-config": "^18.1.0",
-		"@insurgentlab/conventional-changelog-preset": "~6.0.3",
-		"@semantic-release/changelog": "~6.0.x",
-		"@semantic-release/commit-analyzer": "~9.0.x",
-		"@semantic-release/git": "~10.0.x",
-		"@semantic-release/github": "~8.1.x",
-		"@semantic-release/npm": "~10.0.x",
-		"@semantic-release/release-notes-generator": "~11.0.x",
+		"@commitlint/cli": "17.7.2",
+		"@insurgentlab/commitlint-config": "18.1.3",
+		"@insurgentlab/conventional-changelog-preset": "7.0.0",
+		"@semantic-release/changelog": "6.0.3",
+		"@semantic-release/commit-analyzer": "11.0.0",
+		"@semantic-release/git": "10.0.1",
+		"@semantic-release/github": "9.2.1",
+		"@semantic-release/npm": "11.0.0",
+		"@semantic-release/release-notes-generator": "12.0.0",
 		"@types/jest": "^29.5.5",
 		"@types/node": "^20.6.0",
 		"@types/sinon": "^10.0.16",
@@ -48,7 +48,7 @@
 		"husky": "^8.0.3",
 		"jest": "~29.5.x",
 		"prettier": "~2.8.x",
-		"semantic-release": "~21.0.x",
+		"semantic-release": "22.0.5",
 		"sinon": "^15.0.x",
 		"ts-jest": "^29.1.1",
 		"typescript": "~5.1.6"
diff --git a/src/index.ts b/src/index.ts
index 391d596..779f1a4 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -5,8 +5,12 @@ export { CronJob } from './job';
 export { CronTime } from './time';
 
 export {
+	CronCallback,
 	CronCommand,
+	CronContext,
 	CronJobParams,
+	CronOnCompleteCallback,
+	CronOnCompleteCommand,
 	Ranges,
 	TimeUnit
 } from './types/cron.types';
diff --git a/src/job.ts b/src/job.ts
index 9659b46..b03b58a 100644
--- a/src/job.ts
+++ b/src/job.ts
@@ -1,56 +1,64 @@
 import { spawn } from 'child_process';
 import { ExclusiveParametersError } from './errors';
 import { CronTime } from './time';
-import { CronCommand, CronJobParams } from './types/cron.types';
-
-export class CronJob {
+import {
+	CronCallback,
+	CronCommand,
+	CronContext,
+	CronJobParams,
+	CronOnCompleteCallback,
+	CronOnCompleteCommand,
+	WithOnComplete
+} from './types/cron.types';
+
+export class CronJob<OC extends CronOnCompleteCommand<C> | null, C = null> {
 	cronTime: CronTime;
 	running = false;
 	unrefTimeout = false;
 	lastExecution: Date | null = null;
 	runOnce = false;
-	context: unknown;
-	// eslint-disable-next-line @typescript-eslint/no-explicit-any
-	onComplete?: (...args: any) => void;
+	context: CronContext<C>;
+	onComplete?: WithOnComplete<OC> extends true
+		? CronOnCompleteCallback<C>
+		: undefined;
 
 	private _timeout?: NodeJS.Timeout;
-	// eslint-disable-next-line @typescript-eslint/no-explicit-any
-	private _callbacks: ((...args: any) => void)[] = [];
+	private _callbacks: CronCallback<C, WithOnComplete<OC>>[] = [];
 
 	constructor(
-		cronTime: CronJobParams['cronTime'],
-		onTick: CronJobParams['onTick'],
-		onComplete?: CronJobParams['onComplete'],
-		start?: CronJobParams['start'],
-		timeZone?: CronJobParams['timeZone'],
-		context?: CronJobParams['context'],
-		runOnInit?: CronJobParams['runOnInit'],
+		cronTime: CronJobParams<OC, C>['cronTime'],
+		onTick: CronJobParams<OC, C>['onTick'],
+		onComplete?: CronJobParams<OC, C>['onComplete'],
+		start?: CronJobParams<OC, C>['start'],
+		timeZone?: CronJobParams<OC, C>['timeZone'],
+		context?: CronJobParams<OC, C>['context'],
+		runOnInit?: CronJobParams<OC, C>['runOnInit'],
 		utcOffset?: null,
-		unrefTimeout?: CronJobParams['unrefTimeout']
+		unrefTimeout?: CronJobParams<OC, C>['unrefTimeout']
 	);
 	constructor(
-		cronTime: CronJobParams['cronTime'],
-		onTick: CronJobParams['onTick'],
-		onComplete?: CronJobParams['onComplete'],
-		start?: CronJobParams['start'],
+		cronTime: CronJobParams<OC, C>['cronTime'],
+		onTick: CronJobParams<OC, C>['onTick'],
+		onComplete?: CronJobParams<OC, C>['onComplete'],
+		start?: CronJobParams<OC, C>['start'],
 		timeZone?: null,
-		context?: CronJobParams['context'],
-		runOnInit?: CronJobParams['runOnInit'],
-		utcOffset?: CronJobParams['utcOffset'],
-		unrefTimeout?: CronJobParams['unrefTimeout']
+		context?: CronJobParams<OC, C>['context'],
+		runOnInit?: CronJobParams<OC, C>['runOnInit'],
+		utcOffset?: CronJobParams<OC, C>['utcOffset'],
+		unrefTimeout?: CronJobParams<OC, C>['unrefTimeout']
 	);
 	constructor(
-		cronTime: CronJobParams['cronTime'],
-		onTick: CronJobParams['onTick'],
-		onComplete?: CronJobParams['onComplete'],
-		start?: CronJobParams['start'],
-		timeZone?: CronJobParams['timeZone'],
-		context?: CronJobParams['context'],
-		runOnInit?: CronJobParams['runOnInit'],
-		utcOffset?: CronJobParams['utcOffset'],
-		unrefTimeout?: CronJobParams['unrefTimeout']
+		cronTime: CronJobParams<OC, C>['cronTime'],
+		onTick: CronJobParams<OC, C>['onTick'],
+		onComplete?: CronJobParams<OC, C>['onComplete'],
+		start?: CronJobParams<OC, C>['start'],
+		timeZone?: CronJobParams<OC, C>['timeZone'],
+		context?: CronJobParams<OC, C>['context'],
+		runOnInit?: CronJobParams<OC, C>['runOnInit'],
+		utcOffset?: CronJobParams<OC, C>['utcOffset'],
+		unrefTimeout?: CronJobParams<OC, C>['unrefTimeout']
 	) {
-		this.context = context || this;
+		this.context = (context ?? this) as CronContext<C>;
 
 		// runtime check for JS users
 		if (timeZone != null && utcOffset != null) {
@@ -70,7 +78,12 @@ export class CronJob {
 		}
 
 		if (onComplete != null) {
-			this.onComplete = this._fnWrap(onComplete);
+			// casting to the correct type since we just made sure that WithOnComplete<OC> = true
+			this.onComplete = this._fnWrap(
+				onComplete
+			) as WithOnComplete<OC> extends true
+				? CronOnCompleteCallback<C>
+				: undefined;
 		}
 
 		if (this.cronTime.realDate) {
@@ -87,7 +100,9 @@ export class CronJob {
 		if (start) this.start();
 	}
 
-	static from(params: CronJobParams) {
+	static from<C = null, OC extends CronOnCompleteCommand<C> | null = null>(
+		params: CronJobParams<OC, C>
+	) {
 		// runtime check for JS users
 		// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
 		if (params.timeZone != null && params.utcOffset != null) {
@@ -95,7 +110,7 @@ export class CronJob {
 		}
 
 		if (params.timeZone != null) {
-			return new CronJob(
+			return new CronJob<OC, C>(
 				params.cronTime,
 				params.onTick,
 				params.onComplete,
@@ -107,7 +122,7 @@ export class CronJob {
 				params.unrefTimeout
 			);
 		} else if (params.utcOffset != null) {
-			return new CronJob(
+			return new CronJob<OC, C>(
 				params.cronTime,
 				params.onTick,
 				params.onComplete,
@@ -119,7 +134,7 @@ export class CronJob {
 				params.unrefTimeout
 			);
 		} else {
-			return new CronJob(
+			return new CronJob<OC, C>(
 				params.cronTime,
 				params.onTick,
 				params.onComplete,
@@ -133,7 +148,7 @@ export class CronJob {
 		}
 	}
 
-	private _fnWrap(cmd: CronCommand | string) {
+	private _fnWrap(cmd: CronCommand<C, boolean>): CronCallback<C, boolean> {
 		switch (typeof cmd) {
 			case 'function': {
 				return cmd;
@@ -142,7 +157,7 @@ export class CronJob {
 			case 'string': {
 				const [command, ...args] = cmd.split(' ');
 
-				return spawn.bind(undefined, command ?? cmd, args);
+				return spawn.bind(undefined, command ?? cmd, args, {});
 			}
 
 			case 'object': {
@@ -156,8 +171,7 @@ export class CronJob {
 		}
 	}
 
-	// eslint-disable-next-line @typescript-eslint/no-explicit-any
-	addCallback(callback: (...args: any) => void) {
+	addCallback(callback: CronCallback<C, WithOnComplete<OC>>) {
 		if (typeof callback === 'function') {
 			this._callbacks.push(callback);
 		}
@@ -179,7 +193,12 @@ export class CronJob {
 
 	fireOnTick() {
 		for (const callback of this._callbacks) {
-			callback.call(this.context, this.onComplete);
+			callback.call(
+				this.context,
+				this.onComplete as WithOnComplete<OC> extends true
+					? CronOnCompleteCallback<C>
+					: never
+			);
 		}
 	}
 
@@ -276,7 +295,7 @@ export class CronJob {
 		if (this._timeout) clearTimeout(this._timeout);
 		this.running = false;
 		if (typeof this.onComplete === 'function') {
-			this.onComplete();
+			this.onComplete.call(this.context);
 		}
 	}
 }
diff --git a/src/time.ts b/src/time.ts
index 1a32b9f..a87d456 100644
--- a/src/time.ts
+++ b/src/time.ts
@@ -37,19 +37,19 @@ export class CronTime {
 	private dayOfWeek: TimeUnitField<'dayOfWeek'> = {};
 
 	constructor(
-		source: CronJobParams['cronTime'],
-		timeZone?: CronJobParams['timeZone'],
+		source: CronJobParams<null>['cronTime'],
+		timeZone?: CronJobParams<null>['timeZone'],
 		utcOffset?: null
 	);
 	constructor(
-		source: CronJobParams['cronTime'],
+		source: CronJobParams<null>['cronTime'],
 		timeZone?: null,
-		utcOffset?: CronJobParams['utcOffset']
+		utcOffset?: CronJobParams<null>['utcOffset']
 	);
 	constructor(
-		source: CronJobParams['cronTime'],
-		timeZone?: CronJobParams['timeZone'],
-		utcOffset?: CronJobParams['utcOffset']
+		source: CronJobParams<null>['cronTime'],
+		timeZone?: CronJobParams<null>['timeZone'],
+		utcOffset?: CronJobParams<null>['utcOffset']
 	) {
 		// runtime check for JS users
 		if (timeZone != null && utcOffset != null) {
diff --git a/src/types/cron.types.ts b/src/types/cron.types.ts
index 1d799ca..67fe1a6 100644
--- a/src/types/cron.types.ts
+++ b/src/types/cron.types.ts
@@ -4,18 +4,24 @@ import { CONSTRAINTS, TIME_UNITS_MAP } from '../constants';
 import { CronJob } from '../job';
 import { IntRange } from './utils';
 
-interface BaseCronJobParams {
+interface BaseCronJobParams<
+	OC extends CronOnCompleteCommand<C> | null,
+	C = null
+> {
 	cronTime: string | Date | DateTime;
-	onTick: CronCommand;
-	onComplete?: CronCommand | null;
+	onTick: CronCommand<C, WithOnComplete<OC>>;
+	onComplete?: OC;
 	start?: boolean | null;
-	context?: unknown | null;
+	context?: C;
 	runOnInit?: boolean | null;
 	unrefTimeout?: boolean | null;
 }
 
-export type CronJobParams =
-	| BaseCronJobParams &
+export type CronJobParams<
+	OC extends CronOnCompleteCommand<C> | null,
+	C = null
+> =
+	| BaseCronJobParams<OC, C> &
 			(
 				| {
 						timeZone?: string | null;
@@ -27,14 +33,18 @@ export type CronJobParams =
 				  }
 			);
 
-export type CronCommand =
-	/**
-	 * TODO: find out how to type the context correctly, based on
-	 * if the "context" was provided to the CronJob constructor
-	 * leaving "any" for now...
-	 */
-	// eslint-disable-next-line @typescript-eslint/no-explicit-any
-	| ((this: CronJob | any) => void)
+export type CronContext<C> = C extends null ? CronJob<null> : NonNullable<C>;
+
+export type CronCallback<C, WithOnCompleteBool extends boolean = false> = (
+	this: CronContext<C>,
+	onComplete: WithOnCompleteBool extends true
+		? OmitThisParameter<CronOnCompleteCallback<C>>
+		: never
+) => void;
+
+export type CronOnCompleteCallback<C> = (this: CronContext<C>) => void;
+
+export type CronSystemCommand =
 	| string
 	| {
 			command: string;
@@ -42,6 +52,16 @@ export type CronCommand =
 			options?: SpawnOptions | null;
 	  };
 
+export type CronCommand<C, WithOnCompleteBool extends boolean = false> =
+	| CronCallback<C, WithOnCompleteBool>
+	| CronSystemCommand;
+
+export type CronOnCompleteCommand<C> =
+	| OmitThisParameter<CronOnCompleteCallback<C>>
+	| CronSystemCommand;
+
+export type WithOnComplete<OC> = OC extends null ? false : true;
+
 export type TimeUnit = (typeof TIME_UNITS_MAP)[keyof typeof TIME_UNITS_MAP];
 
 export type TimeUnitField<T extends TimeUnit> = Partial<


Test patch:
diff --git a/tests/cron.test.ts b/tests/cron.test.ts
index 9e75f93..6ae9516 100644
--- a/tests/cron.test.ts
+++ b/tests/cron.test.ts
@@ -3,6 +3,9 @@ import sinon from 'sinon';
 import { CronJob, CronTime } from '../src';
 
 describe('cron', () => {
+	// eslint-disable-next-line jest/no-standalone-expect
+	afterEach(() => expect.hasAssertions());
+
 	describe('with seconds', () => {
 		it('should run every second (* * * * * *)', () => {
 			const clock = sinon.useFakeTimers();
@@ -16,7 +19,7 @@ describe('cron', () => {
 			expect(callback).toHaveBeenCalledTimes(1);
 		});
 
-		it('should run second with oncomplete (* * * * * *)', done => {
+		it('should run second with onComplete (* * * * * *)', done => {
 			const clock = sinon.useFakeTimers();
 			const callback = jest.fn();
 
@@ -60,7 +63,7 @@ describe('cron', () => {
 			expect(callback).toHaveBeenCalledTimes(5);
 		});
 
-		it('should run every second for 5 seconds with oncomplete (* * * * * *)', done => {
+		it('should run every second for 5 seconds with onComplete (* * * * * *)', done => {
 			const callback = jest.fn();
 			const clock = sinon.useFakeTimers();
 			const job = new CronJob(
@@ -107,7 +110,7 @@ describe('cron', () => {
 			expect(callback).toHaveBeenCalledTimes(2);
 		});
 
-		it('should run every second for 5 seconds with oncomplete (*/1 * * * * *)', done => {
+		it('should run every second for 5 seconds with onComplete (*/1 * * * * *)', done => {
 			const clock = sinon.useFakeTimers();
 			const callback = jest.fn();
 			const job = new CronJob(
@@ -182,7 +185,7 @@ describe('cron', () => {
 			expect(callback).toHaveBeenCalledTimes(1);
 		});
 
-		it('should run every second with oncomplete (* * * * * *) using the object constructor', done => {
+		it('should run every second with onComplete (* * * * * *) using the object constructor', done => {
 			const clock = sinon.useFakeTimers();
 			const callback = jest.fn();
 			const job = CronJob.from({
@@ -277,7 +280,7 @@ describe('cron', () => {
 			'* * * * * *',
 			function () {
 				callback();
-				(this as CronJob).stop();
+				this.stop();
 			},
 			() => {
 				expect(callback).toHaveBeenCalledTimes(1);
@@ -312,28 +315,64 @@ describe('cron', () => {
 			expect(callback).toHaveBeenCalledTimes(1);
 		});
 
-		it('should run on a specific date with oncomplete', done => {
+		it('should run on a specific date and call onComplete from onTick', async () => {
 			const d = new Date();
 			const clock = sinon.useFakeTimers(d.getTime());
-			const s = d.getSeconds() + 1;
-			d.setSeconds(s);
+			d.setSeconds(d.getSeconds() + 1);
 			const callback = jest.fn();
+
+			await new Promise<void>(resolve => {
+				const job = new CronJob(
+					d,
+					onComplete => {
+						const t = new Date();
+						expect(t.getSeconds()).toBe(d.getSeconds());
+						onComplete();
+					},
+					function () {
+						callback();
+						resolve();
+					},
+					true
+				);
+				clock.tick(1000);
+				clock.restore();
+				job.stop();
+			});
+
+			// onComplete is called 2 times: once in onTick() & once when calling job.stop()
+			expect(callback).toHaveBeenCalledTimes(2);
+		});
+
+		it("should not be able to call onComplete from onTick if if wasn't provided", () => {
+			expect.assertions(4);
+			const d = new Date();
+			const clock = sinon.useFakeTimers(d.getTime());
+			d.setSeconds(d.getSeconds() + 1);
+
 			const job = new CronJob(
 				d,
-				() => {
+				onComplete => {
 					const t = new Date();
+					expect(onComplete).toBeUndefined();
+					try {
+						// @ts-expect-error should be a TS warning and throw
+						onComplete();
+					} catch (e) {
+						// we make sure this isn't skipped with `expect.assertions()`
+						// at the beginning of the test
+						// eslint-disable-next-line jest/no-conditional-expect
+						expect(e).toBeInstanceOf(TypeError);
+					}
+					expect(onComplete).toBeUndefined();
 					expect(t.getSeconds()).toBe(d.getSeconds());
-					callback();
-				},
-				() => {
-					expect(callback).toHaveBeenCalledTimes(1);
-					done();
 				},
+				null,
 				true
 			);
 			clock.tick(1000);
-			clock.restore();
 			job.stop();
+			clock.restore();
 		});
 
 		it('should wait and not fire immediately', () => {
@@ -500,7 +539,6 @@ describe('cron', () => {
 
 		it('should test if timezone is valid.', () => {
 			expect(() => {
-				// eslint-disable-next-line no-new
 				CronJob.from({
 					cronTime: '* * * * * *',
 					onTick: () => {},
@@ -510,63 +548,83 @@ describe('cron', () => {
 		});
 	});
 
-	it('should scope onTick to running job', () => {
-		const clock = sinon.useFakeTimers();
+	describe('onTick scoping', () => {
+		it('should scope onTick to running job', () => {
+			const clock = sinon.useFakeTimers();
 
-		const job = new CronJob(
-			'* * * * * *',
-			function () {
-				expect(job).toBeInstanceOf(CronJob);
-				expect(job).toEqual(this);
-			},
-			null,
-			true
-		);
+			const job = new CronJob(
+				'* * * * * *',
+				function () {
+					expect(job).toBeInstanceOf(CronJob);
+					expect(job).toEqual(this);
+				},
+				null,
+				true
+			);
 
-		clock.tick(1000);
+			clock.tick(1000);
 
-		clock.restore();
-		job.stop();
-	});
+			clock.restore();
+			job.stop();
+		});
 
-	it('should scope onTick to object', () => {
-		const clock = sinon.useFakeTimers();
+		it('should scope onTick to running job using the object constructor', () => {
+			const clock = sinon.useFakeTimers();
 
-		const job = new CronJob(
-			'* * * * * *',
-			function () {
-				expect((this as { hello: string }).hello).toBe('world');
-				expect(job).not.toEqual(this);
-			},
-			null,
-			true,
-			null,
-			{ hello: 'world' }
-		);
+			const job = CronJob.from({
+				cronTime: '* * * * * *',
+				onTick: function () {
+					expect(job).toBeInstanceOf(CronJob);
+					expect(job).toEqual(this);
+				},
+				start: true
+			});
 
-		clock.tick(1000);
+			clock.tick(1000);
 
-		clock.restore();
-		job.stop();
-	});
+			clock.restore();
+			job.stop();
+		});
 
-	it('should scope onTick to object within constructor object', () => {
-		const clock = sinon.useFakeTimers();
+		it('should scope onTick to object', () => {
+			const clock = sinon.useFakeTimers();
 
-		const job = CronJob.from({
-			cronTime: '* * * * * *',
-			onTick: function () {
-				expect((this as { hello: string }).hello).toBe('world');
-				expect(job).not.toEqual(this);
-			},
-			start: true,
-			context: { hello: 'world' }
+			const job = new CronJob(
+				'* * * * * *',
+				function () {
+					expect(this.hello).toBe('world');
+					expect(job).not.toEqual(this);
+				},
+				null,
+				true,
+				null,
+				{ hello: 'world' }
+			);
+
+			clock.tick(1000);
+
+			clock.restore();
+			job.stop();
 		});
 
-		clock.tick(1000);
+		it('should scope onTick to object using the object constructor', () => {
+			const clock = sinon.useFakeTimers();
 
-		clock.restore();
-		job.stop();
+			const job = CronJob.from({
+				cronTime: '* * * * * *',
+				onTick: function () {
+					expect(this.hello).toBe('world');
+					expect(job).not.toEqual(this);
+				},
+				start: true,
+				context: { hello: 'world' }
+			});
+
+			clock.tick(1000);
+
+			clock.restore();
+			job.stop();
+		});
 	});
 
 	it('should not get into an infinite loop on invalid times', () => {
diff --git a/tests/crontime.test.ts b/tests/crontime.test.ts
index daa64ee..5954a21 100644
--- a/tests/crontime.test.ts
+++ b/tests/crontime.test.ts
@@ -3,6 +3,9 @@ import sinon from 'sinon';
 import { CronTime } from '../src';
 
 describe('crontime', () => {
+	// eslint-disable-next-line jest/no-standalone-expect
+	afterEach(() => expect.hasAssertions());
+
 	it('should test stars (* * * * * *)', () => {
 		expect(() => {
 			new CronTime('* * * * * *');