Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.27.0 · метрики 1.13.0 · 2026-07-24 07:16 UTC

modelcontextprotocol / inspector

Visual testing tool for MCP servers

TypeScriptВласна ліцензія★ 10 454 зірки⑂ 1 437 форківз жовт. 2024 р.Переглянути на GitHub ↗

modelcontextprotocol/inspector має індекс здоров’я 83 зі 100, що відповідає смузі «Добрий». Найвищий показник — Vitality (95/100), найнижчий — AI Readiness (72/100). Останнє оновлення — сьогодні. Більшість нещодавньої роботи виконують 4 учасники.

83
загалом / 100
Добрий

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє середнє; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 49 («Під ризиком»). Готовність до ШІ не входить до індексу.

83
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Власність

Model Context ProtocolОрганізація
49 109 підписників42 публічні репозиторіїз вер. 2024 р.

За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікація
npm@modelcontextprotocol/inspector1.0.0809 996565 днів тому
npm@modelcontextprotocol/inspector-cli1.0.0807 023325 днів тому
npm@modelcontextprotocol/inspector-client1.0.0833 382535 днів тому
npm@modelcontextprotocol/inspector-server1.0.0774 236535 днів тому

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

95Відмінний · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 0 дн. тому
28.4/36Ритм комітів — 41/52 тижнів із комітами
18/18Обсяг комітів — 675 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 18 commit(s) and 25 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year675
human_commit_share0,89
days_since_last_push0
active_weeks_last_year41
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 52 релізів
36/36Свіжість релізів — останній реліз 5 дн. тому
27/27Ритм релізів — реліз кожні ~26 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count52
latest_release_tag1.0.0
releases_from_tagsні
days_since_latest_release5
mean_days_between_releases26
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

93Відмінний · 18% загального індексу
Як обчислюється оцінка
60/60Зірки — 10 454 зірок
25/25Форки — 1 437 форків
10/15Спостерігачі — 64 спостерігачів
Використані вхідні дані
forks1 437
stars10 454
watchers64
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
16.9/22.5Ліцензія — файл ліцензії наявний, не є визнаною ліцензією
18/18Настанови CONTRIBUTING
13.5/13.5Кодекс поведінки
0/7.2Шаблон issue
6.3/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingтак
has_issue_templateні
has_code_of_conductтак
has_pull_request_templateтак
Як обчислюється оцінка
80/80Щомісячні завантаження — 3 224 637 завантажень/місяць у npm
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packages@modelcontextprotocol/inspector, @modelcontextprotocol/inspector-cli, @modelcontextprotocol/inspector-client, @modelcontextprotocol/inspector-server
dependents
ecosystemsnpm
total_downloads
monthly_downloads3 224 637
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

81Добрий · 24% загального індексу
Як обчислюється оцінка
43.2/54Бас-фактор — на 4 контриб’ютор(ів) припадає половина всіх комітів
17.8/22.5Розподіл комітів — головний контриб’ютор — автор 21% комітів
13.5/13.5Широта контриб’юторів — 95 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 88 contributing companies or organizations
Використані вхідні дані
bus_factor4
contributors_sampled95
top_contributor_share0,21
Як обчислюється оцінка
36.4/46.8Вирішення issue — закрито 78% issue
29.1/38.3Прийняття PR — злито 625/821 вирішених PR
9/15OpenSSF Scorecard: Code-Review — Found 13/21 approved changesets -- score normalized to 6
Використані вхідні дані
merged_prs625
open_issues173
closed_issues611
issue_closed_ratio0,779
closed_unmerged_prs196
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
25/25Охоплення власника — 49 109 підписників у modelcontextprotocol
15.6/25Послужний список — 42 публічних репозиторіїв, вік облікового запису ~1 р.
Використані вхідні дані
followers49 109
owner_typeOrganization
is_verified
owner_loginmodelcontextprotocol
public_repos42
account_age_days671

Супровід пакетів

100Відмінний
Як обчислюється оцінка
25/25Опубліковано й доступно — 4 пакет(ів) у npm
35/35Свіжість публікацій — остання публікація 5 дн. тому
20/20Історія версій — 56 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packages@modelcontextprotocol/inspector, @modelcontextprotocol/inspector-cli, @modelcontextprotocol/inspector-client, @modelcontextprotocol/inspector-server
ecosystemsnpm
any_deprecatedні
min_days_since_publish5

Інженерна якість

Чи наявні базові інженерні практики та документація?

72Добрий · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 4 процес(ів) CI
24/24Наявні тести
16/16Конфігурація лінтера — eslint.config.js
0/9.6Pre-commit-хуки
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 25 out of 25 merged PRs checked by a CI test -- score normalized to 10
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configтак
has_precommit_configні

Документація

55Помірний
Як обчислюється оцінка
30/30README
0/25Каталог документації
15/15Сайт документації / домашня сторінка — https://modelcontextprotocol.io
10/10Опис репозиторію
0/10Теми
0/10Wiki
Використані вхідні дані
topics
has_wikiні
homepagehttps://modelcontextprotocol.io
has_readmeтак
has_docs_dirні
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

73Добрий · 16% загального індексу

Стан безпеки

69Помірний
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
3.8/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 25 out of 25 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
4.5/7.5Code-Review — Found 13/21 approved changesets -- score normalized to 6
2.5/2.5Contributors — project has 88 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.2/2.5Ліцензія — license file detected
7.5/7.5Maintained — 18 commit(s) and 25 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
1/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
3/5SAST — SAST tool is not run on all commits -- score normalized to 6
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
5.2/7.5Vulnerabilities — 3 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate6,9
Виключено з оцінювання (немає даних або не застосовно): signed_releases. Залишкові ваги перенормовано.
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
13.2/25Непрямі залежності без відомих сповіщень — уражено 1: @hono/node-server 1.19.14 (moderate 5.9)
40/40Немає задавнених сповіщень — жодне сповіщення не є публічним довше за 90 дн.
Використані вхідні дані
sourceosv
advisories1
affected_packages1
assessed_packages255
unassessed_packages0
affected_by_severitymoderate 1
direct_affected_packages0
Звірено з runtime-замиканням залежностей npm:@modelcontextprotocol/inspector@1.0.0 — тим, що тягне за собою встановлення опублікованого пакета, — 255 пакетів. Досяжність не аналізується.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

72Добрий · 0% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — AGENTS.md, CLAUDE.md
0/15Машиночитана документація (llms.txt)
37.8/40Читабельна історія комітів — намір зазначено у 63 з 89 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,708
agent_instruction_filesAGENTS.md, CLAUDE.md
agent_instruction_max_bytes1 429
Як обчислюється оцінка
0/18Розгортання однією командою
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера — eslint.config.js
11/11Статична перевірка типів — cli/tsconfig.json, client/tsconfig.json, server/tsconfig.json
10/10Відтворюване середовище — Dockerfile, lockfile
10/10Підтверджена практика роботи з агентами — 23 з останніх 100 комітів створено агентом або з його зазначенням
8/8Автоматизоване супроводження — 9 з останніх 100 комітів — автоматичні оновлення залежностей
2/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
Використані вхідні дані
has_nixні
has_testsтак
lockfilespackage-lock.json
has_dockerfileтак
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configтак
typecheck_configscli/tsconfig.json, client/tsconfig.json, server/tsconfig.json
agent_commit_share0,23
toolchain_manifests
dependency_bot_commit_share0,09
Як обчислюється оцінка
45/45Типізований код — TypeScript (статично типізована)
55/55Керовані розміри файлів — 0/143 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageTypeScript
largest_source_bytes58 543
source_files_sampled143
oversized_source_files0
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
20/20Сервер MCP
0/40Придатні до запуску приклади
Використані вхідні дані
example_dirs
has_mcp_signalтак
api_schema_files

Ключові факти

10 454зірок GitHub
95контриб'юторів
675комітів за останні 12 місяців
0днів від останнього пушу
52релізів
4бас-фактор
173відкритих issue
npmпакетних екосистем

Попередження щодо збору даних

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

Докладніше

Історія зірок і форків 0 ★ / 1 437 ⇿
0Зірки
1 437Форки
28Релізи

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

Показано лише найновішу історію — цей репозиторій перевищує вікно збору, тож найраніша історія не захоплена.

05001 0001 5001 437142025-052025-122026-07
Мажорні 1Мінорні 8Патчі 17

Кожна точка охоплює 2 днів.

OpenSSF Scorecard 6.9 / 10
6.9сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-24 07:15 UTC

10Binary-Artifactsno binaries found in the repo
5Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests25 out of 25 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
6Code-ReviewFound 13/21 approved changesets -- score normalized to 6
10Contributorsproject has 88 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
9Licenselicense file detected
10Maintained18 commit(s) and 25 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
2Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 2
6SASTSAST tool is not run on all commits -- score normalized to 6
10Security-Policysecurity policy file detected
н/дSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
7Vulnerabilities3 existing vulnerabilities detected
Прямі залежності 51
РеєстрПакетОбмеження версіїМаніфест
npm@modelcontextprotocol/sdk^1.25.2cli/package.json
npmcommander^13.1.0cli/package.json
npmexpress^5.2.1cli/package.json
npmspawn-rx^5.1.2cli/package.json
npm@mcp-ui/client^6.0.0client/package.json
npm@modelcontextprotocol/ext-apps^1.0.0client/package.json
npm@modelcontextprotocol/sdk^1.25.2client/package.json
npm@radix-ui/react-checkbox^1.1.4client/package.json
npm@radix-ui/react-dialog^1.1.3client/package.json
npm@radix-ui/react-icons^1.3.0client/package.json
npm@radix-ui/react-label^2.1.0client/package.json
npm@radix-ui/react-popover^1.1.3client/package.json
npm@radix-ui/react-select^2.1.2client/package.json
npm@radix-ui/react-slot^1.1.0client/package.json
npm@radix-ui/react-switch^1.2.6client/package.json
npm@radix-ui/react-tabs^1.1.1client/package.json
npm@radix-ui/react-toast^1.2.6client/package.json
npm@radix-ui/react-tooltip^1.1.8client/package.json
npmajv^6.12.6client/package.json
npmclass-variance-authority^0.7.0client/package.json
npmclsx^2.1.1client/package.json
npmcmdk^1.0.4client/package.json
npmlucide-react^0.523.0client/package.json
npmpkce-challenge^4.1.0client/package.json
npmprismjs^1.30.0client/package.json
npmreact^18.3.1client/package.json
npmreact-dom^18.3.1client/package.json
npmreact-simple-code-editor^0.14.1client/package.json
npmserve-handler^6.1.6client/package.json
npmtailwind-merge^2.5.3client/package.json
npmzod^3.25.76client/package.json
npm@modelcontextprotocol/inspector-cli^1.0.0package.json
npm@modelcontextprotocol/inspector-client^1.0.0package.json
npm@modelcontextprotocol/inspector-server^1.0.0package.json
npm@modelcontextprotocol/sdk^1.25.2package.json
npmconcurrently^9.2.0package.json
npmnode-fetch^3.3.2package.json
npmopen^10.2.0package.json
npmshell-quote^1.8.4package.json
npmspawn-rx^5.1.2package.json
npmts-node^10.9.2package.json
npmzod^3.25.76package.json
npm@modelcontextprotocol/sdk^1.25.2server/package.json
npmcors^2.8.5server/package.json
npmexpress^5.1.0server/package.json
npmshell-quote^1.8.4server/package.json
npmshx^0.3.4server/package.json
npmspawn-rx^5.1.2server/package.json
npmws^8.18.0server/package.json
npmzod^3.25.76server/package.json
npmexpress-rate-limit^8.2.1server/package.json
Усі залежності 920

Повний розв'язаний набір залежностей із графа залежностей GitHub: 82 прямих і 838 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

РеєстрПакетВерсіяЗв'язок
npm@mcp-ui/client6.1.1пряма
npm@mcp-ui/client^6.0.0пряма
npm@modelcontextprotocol/ext-apps1.7.4пряма
npm@modelcontextprotocol/ext-apps^1.0.0пряма
npm@modelcontextprotocol/inspector-cli1.0.0пряма
npm@modelcontextprotocol/inspector-client1.0.0пряма
npm@modelcontextprotocol/inspector-server1.0.0пряма
npm@modelcontextprotocol/sdk1.29.0пряма
npm@modelcontextprotocol/sdk^1.25.2пряма
npm@radix-ui/react-checkbox1.3.7пряма
npm@radix-ui/react-checkbox^1.1.4пряма
npm@radix-ui/react-dialog1.1.19пряма
npm@radix-ui/react-dialog^1.1.3пряма
npm@radix-ui/react-icons1.3.2пряма
npm@radix-ui/react-icons^1.3.0пряма
npm@radix-ui/react-label2.1.11пряма
npm@radix-ui/react-label^2.1.0пряма
npm@radix-ui/react-popover1.1.19пряма
npm@radix-ui/react-popover^1.1.3пряма
npm@radix-ui/react-select2.3.3пряма
npm@radix-ui/react-select^2.1.2пряма
npm@radix-ui/react-slot1.3.0пряма
npm@radix-ui/react-slot^1.1.0пряма
npm@radix-ui/react-switch1.3.3пряма
npm@radix-ui/react-switch^1.2.6пряма
npm@radix-ui/react-tabs1.1.17пряма
npm@radix-ui/react-tabs^1.1.1пряма
npm@radix-ui/react-toast1.2.19пряма
npm@radix-ui/react-toast^1.2.6пряма
npm@radix-ui/react-tooltip1.2.12пряма
npm@radix-ui/react-tooltip^1.1.8пряма
npmajv6.15.0пряма
npmajv8.20.0пряма
npmajv^6.12.6пряма
npmclass-variance-authority0.7.1пряма
npmclass-variance-authority^0.7.0пряма
npmclsx2.1.1пряма
npmclsx^2.1.1пряма
npmcmdk1.1.1пряма
npmcmdk^1.0.4пряма
npmcommander13.1.0пряма
npmcommander14.0.3пряма
npmcommander4.1.1пряма
npmcommander^13.1.0пряма
npmconcurrently9.2.4пряма
npmcors2.8.6пряма
npmcors^2.8.5пряма
npmexpress5.2.1пряма
npmexpress^5.1.0пряма
npmexpress^5.2.1пряма
npmexpress-rate-limit8.6.0пряма
npmexpress-rate-limit^8.2.1пряма
npmlucide-react0.523.0пряма
npmlucide-react^0.523.0пряма
npmnode-fetch3.3.2пряма
npmopen10.2.0пряма
npmpkce-challenge4.1.0пряма
npmpkce-challenge5.0.1пряма
npmpkce-challenge^4.1.0пряма
npmprismjs1.30.0пряма
npmprismjs^1.30.0пряма
npmreact18.3.1пряма
npmreact^18.3.1пряма
npmreact-dom18.3.1пряма
npmreact-dom^18.3.1пряма
npmreact-simple-code-editor0.14.1пряма
npmreact-simple-code-editor^0.14.1пряма
npmserve-handler6.1.7пряма
npmserve-handler^6.1.6пряма
npmshell-quote1.10.0пряма
npmshell-quote^1.8.4пряма
npmshx0.3.4пряма
npmshx^0.3.4пряма
npmspawn-rx5.1.2пряма
npmspawn-rx^5.1.2пряма
npmtailwind-merge2.6.1пряма
npmtailwind-merge^2.5.3пряма
npmts-node10.9.2пряма
npmws8.21.1пряма
npmws^8.18.0пряма
npmzod3.25.76пряма
npmzod^3.25.76пряма
npm@adobe/css-tools4.5.0непряма
npm@alloc/quick-lru5.2.0непряма
npm@asamuzakjp/css-color3.2.0непряма
npm@babel/code-frame7.29.7непряма
npm@babel/compat-data7.29.7непряма
npm@babel/core7.29.7непряма
npm@babel/generator7.29.7непряма
npm@babel/helper-compilation-targets7.29.7непряма
npm@babel/helper-globals7.29.7непряма
npm@babel/helper-module-imports7.29.7непряма
npm@babel/helper-module-transforms7.29.7непряма
npm@babel/helper-plugin-utils7.29.7непряма
npm@babel/helper-string-parser7.29.7непряма
npm@babel/helper-validator-identifier7.29.7непряма
npm@babel/helper-validator-option7.29.7непряма
npm@babel/helpers7.29.7непряма
npm@babel/parser7.29.7непряма
npm@babel/plugin-syntax-async-generators7.8.4непряма
npm@babel/plugin-syntax-bigint7.8.3непряма
npm@babel/plugin-syntax-class-properties7.12.13непряма
npm@babel/plugin-syntax-class-static-block7.14.5непряма
npm@babel/plugin-syntax-import-attributes7.29.7непряма
npm@babel/plugin-syntax-import-meta7.10.4непряма
npm@babel/plugin-syntax-json-strings7.8.3непряма
npm@babel/plugin-syntax-jsx7.29.7непряма
npm@babel/plugin-syntax-logical-assignment-operators7.10.4непряма
npm@babel/plugin-syntax-nullish-coalescing-operator7.8.3непряма
npm@babel/plugin-syntax-numeric-separator7.10.4непряма
npm@babel/plugin-syntax-object-rest-spread7.8.3непряма
npm@babel/plugin-syntax-optional-catch-binding7.8.3непряма
npm@babel/plugin-syntax-optional-chaining7.8.3непряма
npm@babel/plugin-syntax-private-property-in-object7.14.5непряма
npm@babel/plugin-syntax-top-level-await7.14.5непряма
npm@babel/plugin-syntax-typescript7.29.7непряма
npm@babel/plugin-transform-react-jsx-self7.29.7непряма
npm@babel/plugin-transform-react-jsx-source7.29.7непряма
npm@babel/runtime7.29.7непряма
npm@babel/template7.29.7непряма
npm@babel/traverse7.29.7непряма
npm@babel/types7.29.7непряма
npm@bcoe/v8-coverage0.2.3непряма
npm@cspotcode/source-map-support0.8.1непряма
npm@csstools/color-helpers5.1.0непряма
npm@csstools/css-calc2.1.4непряма
npm@csstools/css-color-parser3.1.0непряма
npm@csstools/css-parser-algorithms3.0.5непряма
npm@csstools/css-tokenizer3.0.4непряма
npm@esbuild/aix-ppc640.28.1непряма
npm@esbuild/android-arm0.28.1непряма
npm@esbuild/android-arm640.28.1непряма
npm@esbuild/android-x640.28.1непряма
npm@esbuild/darwin-arm640.28.1непряма
npm@esbuild/darwin-x640.28.1непряма
npm@esbuild/freebsd-arm640.28.1непряма
npm@esbuild/freebsd-x640.28.1непряма
npm@esbuild/linux-arm0.28.1непряма
npm@esbuild/linux-arm640.28.1непряма
npm@esbuild/linux-ia320.28.1непряма
npm@esbuild/linux-loong640.28.1непряма
npm@esbuild/linux-mips64el0.28.1непряма
npm@esbuild/linux-ppc640.28.1непряма
npm@esbuild/linux-riscv640.28.1непряма
npm@esbuild/linux-s390x0.28.1непряма
npm@esbuild/linux-x640.28.1непряма
npm@esbuild/netbsd-arm640.28.1непряма
npm@esbuild/netbsd-x640.28.1непряма
npm@esbuild/openbsd-arm640.28.1непряма
npm@esbuild/openbsd-x640.28.1непряма
npm@esbuild/openharmony-arm640.28.1непряма
npm@esbuild/sunos-x640.28.1непряма
npm@esbuild/win32-arm640.28.1непряма
npm@esbuild/win32-ia320.28.1непряма
npm@esbuild/win32-x640.28.1непряма
npm@eslint-community/eslint-utils4.9.1непряма
npm@eslint-community/regexpp4.12.2непряма
npm@eslint/config-array0.21.2непряма
npm@eslint/config-helpers0.4.2непряма
npm@eslint/core0.17.0непряма
npm@eslint/eslintrc3.3.6непряма
npm@eslint/js9.39.5непряма
npm@eslint/js^9.11.1непряма
npm@eslint/object-schema2.1.7непряма
npm@eslint/plugin-kit0.4.1непряма
npm@floating-ui/core1.8.0непряма
npm@floating-ui/dom1.8.0непряма
npm@floating-ui/react-dom2.1.9непряма
npm@floating-ui/utils0.2.12непряма
npm@hono/node-server1.19.14непряма
npm@humanfs/core0.19.2непряма
npm@humanfs/node0.16.8непряма
npm@humanfs/types0.15.0непряма
npm@humanwhocodes/module-importer1.0.1непряма
npm@humanwhocodes/retry0.4.3непряма
npm@istanbuljs/load-nyc-config1.1.0непряма
npm@istanbuljs/schema0.1.6непряма
npm@jest/console29.7.0непряма
npm@jest/core29.7.0непряма
npm@jest/environment29.7.0непряма
npm@jest/environment30.4.1непряма
npm@jest/environment-jsdom-abstract30.4.1непряма
npm@jest/expect29.7.0непряма
npm@jest/expect-utils29.7.0непряма
npm@jest/fake-timers29.7.0непряма
npm@jest/fake-timers30.4.1непряма
npm@jest/globals29.7.0непряма
npm@jest/pattern30.4.0непряма
npm@jest/reporters29.7.0непряма
npm@jest/schemas29.6.3непряма
npm@jest/schemas30.4.1непряма
npm@jest/source-map29.6.3непряма
npm@jest/test-result29.7.0непряма
npm@jest/test-sequencer29.7.0непряма
npm@jest/transform29.7.0непряма
npm@jest/types29.6.3непряма
npm@jest/types30.4.1непряма
npm@jridgewell/gen-mapping0.3.13непряма
npm@jridgewell/remapping2.3.5непряма
npm@jridgewell/resolve-uri3.1.2непряма
npm@jridgewell/sourcemap-codec1.5.5непряма
npm@jridgewell/trace-mapping0.3.31непряма
npm@jridgewell/trace-mapping0.3.9непряма
npm@nodelib/fs.scandir2.1.5непряма
npm@nodelib/fs.stat2.0.5непряма
npm@nodelib/fs.walk1.2.8непряма
npm@playwright/test1.61.1непряма
npm@radix-ui/number1.1.2непряма
npm@radix-ui/primitive1.1.5непряма
npm@radix-ui/react-arrow1.1.11непряма
npm@radix-ui/react-collection1.1.12непряма
npm@radix-ui/react-compose-refs1.1.3непряма
npm@radix-ui/react-context1.2.0непряма
npm@radix-ui/react-direction1.1.2непряма
npm@radix-ui/react-dismissable-layer1.1.15непряма
npm@radix-ui/react-focus-guards1.1.4непряма
npm@radix-ui/react-focus-scope1.1.12непряма
npm@radix-ui/react-id1.1.2непряма
npm@radix-ui/react-popper1.3.3непряма
npm@radix-ui/react-portal1.1.13непряма
npm@radix-ui/react-presence1.1.7непряма
npm@radix-ui/react-primitive2.1.7непряма
npm@radix-ui/react-roving-focus1.1.15непряма
npm@radix-ui/react-use-callback-ref1.1.2непряма
npm@radix-ui/react-use-controllable-state1.2.3непряма
npm@radix-ui/react-use-effect-event0.0.3непряма
npm@radix-ui/react-use-is-hydrated0.1.1непряма
npm@radix-ui/react-use-layout-effect1.1.2непряма
npm@radix-ui/react-use-previous1.1.2непряма
npm@radix-ui/react-use-rect1.1.2непряма
npm@radix-ui/react-use-size1.1.2непряма
npm@radix-ui/react-visually-hidden1.2.7непряма
npm@radix-ui/rect1.1.2непряма
npm@rolldown/pluginutils1.0.0-rc.3непряма
npm@rollup/rollup-android-arm-eabi4.62.2непряма
npm@rollup/rollup-android-arm644.62.2непряма
npm@rollup/rollup-darwin-arm644.62.2непряма
npm@rollup/rollup-darwin-x644.62.2непряма
npm@rollup/rollup-freebsd-arm644.62.2непряма
npm@rollup/rollup-freebsd-x644.62.2непряма
npm@rollup/rollup-linux-arm-gnueabihf4.62.2непряма
npm@rollup/rollup-linux-arm-musleabihf4.62.2непряма
npm@rollup/rollup-linux-arm64-gnu4.62.2непряма
npm@rollup/rollup-linux-arm64-musl4.62.2непряма
npm@rollup/rollup-linux-loong64-gnu4.62.2непряма
npm@rollup/rollup-linux-loong64-musl4.62.2непряма
npm@rollup/rollup-linux-ppc64-gnu4.62.2непряма
npm@rollup/rollup-linux-ppc64-musl4.62.2непряма
npm@rollup/rollup-linux-riscv64-gnu4.62.2непряма
npm@rollup/rollup-linux-riscv64-musl4.62.2непряма
npm@rollup/rollup-linux-s390x-gnu4.62.2непряма
npm@rollup/rollup-linux-x64-gnu4.62.2непряма
npm@rollup/rollup-linux-x64-musl4.62.2непряма
npm@rollup/rollup-openbsd-x644.62.2непряма
npm@rollup/rollup-openharmony-arm644.62.2непряма
npm@rollup/rollup-win32-arm64-msvc4.62.2непряма
npm@rollup/rollup-win32-ia32-msvc4.62.2непряма
npm@rollup/rollup-win32-x64-gnu4.62.2непряма
npm@rollup/rollup-win32-x64-msvc4.62.2непряма
npm@sinclair/typebox0.27.12непряма
npm@sinclair/typebox0.34.52непряма
npm@sinonjs/commons3.0.1непряма
npm@sinonjs/fake-timers10.3.0непряма
npm@sinonjs/fake-timers15.4.0непряма
npm@standard-schema/spec1.1.0непряма
npm@testing-library/dom10.4.1непряма
npm@testing-library/jest-dom6.9.1непряма
npm@testing-library/jest-dom^6.6.3непряма
npm@testing-library/react16.3.2непряма
npm@testing-library/react^16.2.0непряма
npm@tootallnate/once2.0.1непряма
npm@tsconfig/node101.0.12непряма
npm@tsconfig/node121.0.11непряма
npm@tsconfig/node141.0.3непряма
npm@tsconfig/node161.0.4непряма
npm@types/aria-query5.0.4непряма
npm@types/babel__core7.20.5непряма
npm@types/babel__generator7.27.0непряма
npm@types/babel__template7.4.4непряма
npm@types/babel__traverse7.28.0непряма
npm@types/body-parser1.19.6непряма
npm@types/chai5.2.3непряма
npm@types/connect3.4.38непряма
npm@types/cors2.8.19непряма
npm@types/cors^2.8.19непряма
npm@types/deep-eql4.0.2непряма
npm@types/estree1.0.9непряма
npm@types/express5.0.6непряма
npm@types/express^5.0.0непряма
npm@types/express-serve-static-core5.1.2непряма
npm@types/graceful-fs4.1.9непряма
npm@types/http-errors2.0.5непряма
npm@types/istanbul-lib-coverage2.0.6непряма
npm@types/istanbul-lib-report3.0.3непряма
npm@types/istanbul-reports3.0.4непряма
npm@types/jest29.5.14непряма
npm@types/jest^29.5.14непряма
npm@types/jsdom20.0.1непряма
npm@types/jsdom21.1.7непряма
npm@types/json-schema7.0.15непряма
npm@types/node22.20.1непряма
npm@types/node^22.17.0непряма
npm@types/prismjs1.26.6непряма
npm@types/prismjs^1.26.5непряма
npm@types/prop-types15.7.15непряма
npm@types/qs6.15.1непряма
npm@types/range-parser1.2.7непряма
npm@types/react18.3.31непряма
npm@types/react^18.3.23непряма
npm@types/react-dom18.3.7непряма
npm@types/react-dom^18.3.0непряма
npm@types/send1.2.1непряма
npm@types/serve-handler6.1.4непряма
npm@types/serve-handler^6.1.4непряма
npm@types/serve-static2.2.0непряма
npm@types/shell-quote1.7.5непряма
npm@types/shell-quote^1.7.5непряма
npm@types/stack-utils2.0.3непряма
npm@types/tough-cookie4.0.5непряма
npm@types/ws8.18.1непряма
npm@types/ws^8.5.12непряма
npm@types/yargs17.0.35непряма
npm@types/yargs-parser21.0.3непряма
npm@typescript-eslint/eslint-plugin8.64.0непряма
npm@typescript-eslint/parser8.64.0непряма
npm@typescript-eslint/project-service8.64.0непряма
npm@typescript-eslint/scope-manager8.64.0непряма
npm@typescript-eslint/tsconfig-utils8.64.0непряма
npm@typescript-eslint/type-utils8.64.0непряма
npm@typescript-eslint/types8.64.0непряма
npm@typescript-eslint/typescript-estree8.64.0непряма
npm@typescript-eslint/utils8.64.0непряма
npm@typescript-eslint/visitor-keys8.64.0непряма
npm@vitejs/plugin-react5.2.0непряма
npm@vitejs/plugin-react^5.0.4непряма
npm@vitest/expect4.1.10непряма
npm@vitest/mocker4.1.10непряма
npm@vitest/pretty-format4.1.10непряма
npm@vitest/runner4.1.10непряма
npm@vitest/snapshot4.1.10непряма
npm@vitest/spy4.1.10непряма
npm@vitest/utils4.1.10непряма
npmabab2.0.6непряма
npmaccepts2.0.0непряма
npmacorn8.17.0непряма
npmacorn-globals7.0.1непряма
npmacorn-jsx5.3.2непряма
npmacorn-walk8.3.5непряма
npmagent-base6.0.2непряма
npmagent-base7.1.4непряма
npmajv-formats3.0.1непряма
npmansi-escapes4.3.2непряма
npmansi-escapes7.3.0непряма
npmansi-regex5.0.1непряма
npmansi-regex6.2.2непряма
npmansi-styles4.3.0непряма
npmansi-styles5.2.0непряма
npmansi-styles6.2.3непряма
npmany-promise1.3.0непряма
npmanymatch3.1.3непряма
npmarg4.1.3непряма
npmarg5.0.2непряма
npmargparse1.0.10непряма
npmargparse2.0.1непряма
npmaria-hidden1.2.6непряма
npmaria-query5.3.0непряма
npmassertion-error2.0.1непряма
npmasynckit0.4.0непряма
npmautoprefixer10.5.4непряма
npmautoprefixer^10.4.20непряма
npmbabel-jest29.7.0непряма
npmbabel-plugin-istanbul6.1.1непряма
npmbabel-plugin-jest-hoist29.6.3непряма
npmbabel-preset-current-node-syntax1.2.0непряма
npmbabel-preset-jest29.6.3непряма
npmbalanced-match1.0.2непряма
npmbalanced-match4.0.4непряма
npmbaseline-browser-mapping2.10.43непряма
npmbinary-extensions2.3.0непряма
npmbody-parser2.3.0непряма
npmbrace-expansion1.1.16непряма
npmbrace-expansion5.0.7непряма
npmbraces3.0.3непряма
npmbrowserslist4.28.6непряма
npmbs-logger0.2.6непряма
npmbser2.1.1непряма
npmbuffer-from1.1.2непряма
npmbundle-name4.1.0непряма
npmbytes3.0.0непряма
npmbytes3.1.2непряма
npmcall-bind-apply-helpers1.0.2непряма
npmcall-bound1.0.4непряма
npmcallsites3.1.0непряма
npmcamelcase5.3.1непряма
npmcamelcase6.3.0непряма
npmcamelcase-css2.0.1непряма
npmcaniuse-lite1.0.30001806непряма
npmchai6.2.2непряма
npmchalk4.1.2непряма
npmchar-regex1.0.2непряма
npmchokidar3.6.0непряма
npmci-info3.9.0непряма
npmci-info4.4.0непряма
npmcjs-module-lexer1.4.3непряма
npmcli-cursor5.0.0непряма
npmcli-truncate5.2.0непряма
npmcliui8.0.1непряма
npmco4.6.0непряма
npmco^4.6.0непряма
npmcollect-v8-coverage1.0.3непряма
npmcolor-convert2.0.1непряма
npmcolor-name1.1.4непряма
npmcolorette2.0.20непряма
npmcombined-stream1.0.8непряма
npmconcat-map0.0.1непряма
npmcontent-disposition0.5.2непряма
npmcontent-disposition1.1.0непряма
npmcontent-type1.0.5непряма
npmcontent-type2.0.0непряма
npmconvert-source-map2.0.0непряма
npmcookie0.7.2непряма
npmcookie-signature1.2.2непряма
npmcreate-jest29.7.0непряма
npmcreate-require1.1.1непряма
npmcross-spawn7.0.6непряма
npmcss.escape1.5.1непряма
npmcssesc3.0.0непряма
npmcssom0.3.8непряма
npmcssom0.5.0непряма
npmcssstyle2.3.0непряма
npmcssstyle4.6.0непряма
npmcsstype3.2.3непряма
npmdata-uri-to-buffer4.0.1непряма
npmdata-urls3.0.2непряма
npmdata-urls5.0.0непряма
npmdebug4.4.3непряма
npmdecimal.js10.6.0непряма
npmdedent1.7.2непряма
npmdeep-is0.1.4непряма
npmdeepmerge4.3.1непряма
npmdefault-browser5.5.0непряма
npmdefault-browser-id5.0.1непряма
npmdefine-lazy-prop3.0.0непряма
npmdelayed-stream1.0.0непряма
npmdepd2.0.0непряма
npmdequal2.0.3непряма
npmdetect-newline3.1.0непряма
npmdetect-node-es1.1.0непряма
npmdidyoumean1.2.2непряма
npmdiff4.0.4непряма
npmdiff-sequences29.6.3непряма
npmdlv1.1.3непряма
npmdom-accessibility-api0.5.16непряма
npmdom-accessibility-api0.6.3непряма
npmdomexception4.0.0непряма
npmdunder-proto1.0.1непряма
npmee-first1.1.1непряма
npmelectron-to-chromium1.5.393непряма
npmemittery0.13.1непряма
npmemoji-regex10.6.0непряма
npmemoji-regex8.0.0непряма
npmencodeurl2.0.0непряма
npmentities6.0.1непряма
npmenvironment1.1.0непряма
npmerror-ex1.3.4непряма
npmes-define-property1.0.1непряма
npmes-errors1.3.0непряма
npmes-module-lexer2.3.1непряма
npmes-object-atoms1.1.2непряма
npmes-set-tostringtag2.1.0непряма
npmesbuild0.28.1непряма
npmescalade3.2.0непряма
npmescape-html1.0.3непряма
npmescape-string-regexp2.0.0непряма
npmescape-string-regexp4.0.0непряма
npmescodegen2.1.0непряма
npmeslint9.39.5непряма
npmeslint^9.11.1непряма
npmeslint-plugin-react-hooks5.2.0непряма
npmeslint-plugin-react-hooks^5.1.0-rc.0непряма
npmeslint-plugin-react-refresh0.4.26непряма
npmeslint-plugin-react-refresh^0.4.12непряма
npmeslint-scope8.4.0непряма
npmeslint-visitor-keys3.4.3непряма
npmeslint-visitor-keys4.2.1непряма
npmeslint-visitor-keys5.0.1непряма
npmespree10.4.0непряма
npmesprima4.0.1непряма
npmesquery1.7.0непряма
npmesrecurse4.3.0непряма
npmestraverse5.3.0непряма
npmestree-walker3.0.3непряма
npmesutils2.0.3непряма
npmetag1.8.1непряма
npmeventemitter35.0.4непряма
npmeventsource3.0.7непряма
npmeventsource-parser3.1.0непряма
npmexeca5.1.1непряма
npmexit0.1.2непряма
npmexpect29.7.0непряма
npmexpect-type1.4.0непряма
npmfast-deep-equal3.1.3непряма
npmfast-glob3.3.3непряма
npmfast-json-stable-stringify2.1.0непряма
npmfast-levenshtein2.0.6непряма
npmfast-uri3.1.3непряма
npmfastq1.20.1непряма
npmfb-watchman2.0.2непряма
npmfdir6.5.0непряма
npmfetch-blob3.2.0непряма
npmfile-entry-cache8.0.0непряма
npmfill-range7.1.1непряма
npmfinalhandler2.1.1непряма
npmfind-up4.1.0непряма
npmfind-up5.0.0непряма
npmflat-cache4.0.1непряма
npmflatted3.4.2непряма
npmform-data4.0.6непряма
npmformdata-polyfill4.0.10непряма
npmforwarded0.2.0непряма
npmfraction.js5.3.4непряма
npmfresh2.0.0непряма
npmfs.realpath1.0.0непряма
npmfsevents2.3.2непряма
npmfsevents2.3.3непряма
npmfunction-bind1.1.2непряма
npmgensync1.0.0-beta.2непряма
npmget-caller-file2.0.5непряма
npmget-east-asian-width1.6.0непряма
npmget-intrinsic1.3.0непряма
npmget-nonce1.0.1непряма
npmget-package-type0.1.0непряма
npmget-proto1.0.1непряма
npmget-stream6.0.1непряма
npmglob13.0.6непряма
npmglob7.2.3непряма
npmglob-parent5.1.2непряма
npmglob-parent6.0.2непряма
npmglobals14.0.0непряма
npmglobals15.15.0непряма
npmglobals^15.9.0непряма
npmgopd1.2.0непряма
npmgraceful-fs4.2.11непряма
npmhandlebars4.7.9непряма
npmhas-flag4.0.0непряма
npmhas-symbols1.1.0непряма
npmhas-tostringtag1.0.2непряма
npmhasown2.0.4непряма
npmhono4.12.30непряма
npmhtml-encoding-sniffer3.0.0непряма
npmhtml-encoding-sniffer4.0.0непряма
npmhtml-escaper2.0.2непряма
npmhttp-errors2.0.1непряма
npmhttp-proxy-agent5.0.0непряма
npmhttp-proxy-agent7.0.2непряма
npmhttps-proxy-agent5.0.1непряма
npmhttps-proxy-agent7.0.6непряма
npmhuman-signals2.1.0непряма
npmhusky9.1.7непряма
npmiconv-lite0.6.3непряма
npmiconv-lite0.7.3непряма
npmignore5.3.2непряма
npmignore7.0.6непряма
npmimport-fresh3.3.1непряма
npmimport-local3.2.0непряма
npmimurmurhash0.1.4непряма
npmindent-string4.0.0непряма
npminflight1.0.6непряма
npminherits2.0.4непряма
npminterpret1.4.0непряма
npmip-address10.2.0непряма
npmipaddr.js1.9.1непряма
npmis-arrayish0.2.1непряма
npmis-binary-path2.1.0непряма
npmis-core-module2.16.2непряма
npmis-docker3.0.0непряма
npmis-extglob2.1.1непряма
npmis-fullwidth-code-point3.0.0непряма
npmis-fullwidth-code-point5.1.0непряма
npmis-generator-fn2.1.0непряма
npmis-glob4.0.3непряма
npmis-inside-container1.0.0непряма
npmis-number7.0.0непряма
npmis-potential-custom-element-name1.0.1непряма
npmis-promise4.0.0непряма
npmis-stream2.0.1непряма
npmis-wsl3.1.1непряма
npmisexe2.0.0непряма
npmistanbul-lib-coverage3.2.2непряма
npmistanbul-lib-instrument5.2.1непряма
npmistanbul-lib-instrument6.0.3непряма
npmistanbul-lib-report3.0.1непряма
npmistanbul-lib-source-maps4.0.1непряма
npmistanbul-reports3.2.0непряма
npmjest29.7.0непряма
npmjest^29.7.0непряма
npmjest-changed-files29.7.0непряма
npmjest-circus29.7.0непряма
npmjest-cli29.7.0непряма
npmjest-config29.7.0непряма
npmjest-diff29.7.0непряма
npmjest-docblock29.7.0непряма
npmjest-each29.7.0непряма
npmjest-environment-jsdom29.7.0непряма
npmjest-environment-jsdom30.4.1непряма
npmjest-environment-jsdom^29.7.0непряма
npmjest-environment-node29.7.0непряма
npmjest-fixed-jsdom0.0.9непряма
npmjest-fixed-jsdom^0.0.9непряма
npmjest-get-type29.6.3непряма
npmjest-haste-map29.7.0непряма
npmjest-leak-detector29.7.0непряма
npmjest-matcher-utils29.7.0непряма
npmjest-message-util29.7.0непряма
npmjest-message-util30.4.1непряма
npmjest-mock29.7.0непряма
npmjest-mock30.4.1непряма
npmjest-pnp-resolver1.2.3непряма
npmjest-regex-util29.6.3непряма
npmjest-regex-util30.4.0непряма
npmjest-resolve29.7.0непряма
npmjest-resolve-dependencies29.7.0непряма
npmjest-runner29.7.0непряма
npmjest-runtime29.7.0непряма
npmjest-snapshot29.7.0непряма
npmjest-util29.7.0непряма
npmjest-util30.4.1непряма
npmjest-validate29.7.0непряма
npmjest-watcher29.7.0непряма
npmjest-worker29.7.0непряма
npmjiti1.21.7непряма
npmjose6.2.3непряма
npmjs-tokens4.0.0непряма
npmjs-yaml3.15.0непряма
npmjs-yaml4.2.0непряма
npmjsdom20.0.3непряма
npmjsdom26.1.0непряма
npmjsesc3.1.0непряма
npmjson-buffer3.0.1непряма
npmjson-parse-even-better-errors2.3.1непряма
npmjson-schema-traverse0.4.1непряма
npmjson-schema-traverse1.0.0непряма
npmjson-schema-typed8.0.2непряма
npmjson-stable-stringify-without-jsonify1.0.1непряма
npmjson52.2.3непряма
npmkeyv4.5.4непряма
npmkleur3.0.3непряма
npmleven3.1.0непряма
npmlevn0.4.1непряма
npmlilconfig3.1.3непряма
npmlines-and-columns1.2.4непряма
npmlint-staged16.4.0непряма
npmlistr29.0.5непряма
npmlocate-path5.0.0непряма
npmlocate-path6.0.0непряма
npmlodash.memoize4.1.2непряма
npmlodash.merge4.6.2непряма
npmlog-update6.1.0непряма
npmloose-envify1.4.0непряма
npmlru-cache10.4.3непряма
npmlru-cache11.5.2непряма
npmlru-cache5.1.1непряма
npmlz-string1.5.0непряма
npmmagic-string0.30.21непряма
npmmake-dir4.0.0непряма
npmmake-error1.3.6непряма
npmmakeerror1.0.12непряма
npmmath-intrinsics1.1.0непряма
npmmedia-typer1.1.0непряма
npmmerge-descriptors2.0.0непряма
npmmerge-stream2.0.0непряма
npmmerge21.4.1непряма
npmmicromatch4.0.8непряма
npmmime-db1.33.0непряма
npmmime-db1.52.0непряма
npmmime-db1.54.0непряма
npmmime-types2.1.18непряма
npmmime-types2.1.35непряма
npmmime-types3.0.2непряма
npmmimic-fn2.1.0непряма
npmmimic-function5.0.1непряма
npmmin-indent1.0.1непряма
npmminimatch10.2.5непряма
npmminimatch3.1.5непряма
npmminimist1.2.8непряма
npmminipass7.1.3непряма
npmms2.1.3непряма
npmmz2.7.0непряма
npmnanoid3.3.16непряма
npmnatural-compare1.4.0непряма
npmnegotiator1.0.0непряма
npmneo-async2.6.2непряма
npmnode-domexception1.0.0непряма
npmnode-int640.4.0непряма
npmnode-releases2.0.51непряма
npmnormalize-path3.0.0непряма
npmnpm-run-path4.0.1непряма
npmnwsapi2.2.24непряма
npmobject-assign4.1.1непряма
npmobject-hash3.0.0непряма
npmobject-inspect1.13.4непряма
npmobug2.1.4непряма
npmon-finished2.4.1непряма
npmonce1.4.0непряма
npmonetime5.1.2непряма
npmonetime7.0.0непряма
npmoptionator0.9.4непряма
npmp-limit2.3.0непряма
npmp-limit3.1.0непряма
npmp-locate4.1.0непряма
npmp-locate5.0.0непряма
npmp-try2.2.0непряма
npmpackage-json-from-dist1.0.1непряма
npmparent-module1.0.1непряма
npmparse-json5.2.0непряма
npmparse57.3.0непряма
npmparseurl1.3.3непряма
npmpath-exists4.0.0непряма
npmpath-is-absolute1.0.1непряма
npmpath-is-inside1.0.2непряма
npmpath-key3.1.1непряма
npmpath-parse1.0.7непряма
npmpath-scurry2.0.2непряма
npmpath-to-regexp3.3.0непряма
npmpath-to-regexp8.4.2непряма
npmpathe2.0.3непряма
npmpicocolors1.1.1непряма
npmpicomatch2.3.2непряма
npmpicomatch4.0.5непряма
npmpify2.3.0непряма
npmpirates4.0.7непряма
npmpkg-dir4.2.0непряма
npmplaywright1.61.1непряма
npmplaywright-core1.61.1непряма
npmpostcss8.5.19непряма
npmpostcss^8.5.6непряма
npmpostcss-import15.1.0непряма
npmpostcss-js4.1.0непряма
npmpostcss-load-config6.0.1непряма
npmpostcss-nested6.2.0непряма
npmpostcss-selector-parser6.1.4непряма
npmpostcss-value-parser4.2.0непряма
npmprelude-ls1.2.1непряма
npmprettier3.9.5непряма
npmpretty-format27.5.1непряма
npmpretty-format29.7.0непряма
npmpretty-format30.4.1непряма
npmprompts2.4.2непряма
npmproxy-addr2.0.7непряма
npmpsl1.15.0непряма
npmpunycode2.3.1непряма
npmpure-rand6.1.0непряма
npmqs6.15.3непряма
npmquerystringify2.2.0непряма
npmqueue-microtask1.2.3непряма
npmrange-parser1.2.0непряма
npmrange-parser1.3.0непряма
npmraw-body3.0.2непряма
npmreact-is17.0.2непряма
npmreact-is18.3.1непряма
npmreact-is19.2.7непряма
npmreact-refresh0.18.0непряма
npmreact-remove-scroll2.7.2непряма
npmreact-remove-scroll-bar2.3.8непряма
npmreact-style-singleton2.2.3непряма
npmread-cache1.0.0непряма
npmreaddirp3.6.0непряма
npmrechoir0.6.2непряма
npmredent3.0.0непряма
npmrequire-directory2.1.1непряма
npmrequire-from-string2.0.2непряма
npmrequires-port1.0.0непряма
npmresolve1.22.12непряма
npmresolve-cwd3.0.0непряма
npmresolve-from4.0.0непряма
npmresolve-from5.0.0непряма
npmresolve.exports2.0.3непряма
npmrestore-cursor5.1.0непряма
npmreusify1.1.0непряма
npmrfdc1.4.1непряма
npmrimraf6.1.3непряма
npmrollup4.62.2непряма
npmrouter2.2.0непряма
npmrrweb-cssom0.8.0непряма
npmrun-applescript7.1.0непряма
npmrun-parallel1.2.0непряма
npmrxjs7.8.2непряма
npmsafer-buffer2.1.2непряма
npmsaxes6.0.0непряма
npmscheduler0.23.2непряма
npmsemver6.3.1непряма
npmsemver7.8.5непряма
npmsend1.2.1непряма
npmserve-static2.2.1непряма
npmsetprototypeof1.2.0непряма
npmshebang-command2.0.0непряма
npmshebang-regex3.0.0непряма
npmshelljs0.8.5непряма
npmside-channel1.1.1непряма
npmside-channel-list1.0.1непряма
npmside-channel-map1.0.1непряма
npmside-channel-weakmap1.0.2непряма
npmsiginfo2.0.0непряма
npmsignal-exit3.0.7непряма
npmsignal-exit4.1.0непряма
npmsisteransi1.0.5непряма
npmslash3.0.0непряма
npmslice-ansi7.1.2непряма
npmslice-ansi8.0.0непряма
npmsource-map0.6.1непряма
npmsource-map-js1.2.1непряма
npmsource-map-support0.5.13непряма
npmsprintf-js1.0.3непряма
npmstack-utils2.0.6непряма
npmstackback0.0.2непряма
npmstatuses2.0.2непряма
npmstd-env4.2.0непряма
npmstring-argv0.3.2непряма
npmstring-length4.0.2непряма
npmstring-width4.2.3непряма
npmstring-width7.2.0непряма
npmstring-width8.2.2непряма
npmstrip-ansi6.0.1непряма
npmstrip-ansi7.2.0непряма
npmstrip-bom4.0.0непряма
npmstrip-final-newline2.0.0непряма
npmstrip-indent3.0.0непряма
npmstrip-json-comments3.1.1непряма
npmsucrase3.35.1непряма
npmsupports-color7.2.0непряма
npmsupports-color8.1.1непряма
npmsupports-preserve-symlinks-flag1.0.0непряма
npmsymbol-tree3.2.4непряма
npmtailwindcss3.4.19непряма
npmtailwindcss^3.4.13непряма
npmtailwindcss-animate1.0.7непряма
npmtailwindcss-animate^1.0.7непряма
npmtest-exclude6.0.0непряма
npmthenify3.3.1непряма
npmthenify-all1.6.0непряма
npmtinybench2.9.0непряма
npmtinyexec1.2.4непряма
npmtinyglobby0.2.17непряма
npmtinyrainbow3.1.0непряма
npmtldts6.1.86непряма
npmtldts-core6.1.86непряма
npmtmpl1.0.5непряма
npmto-regex-range5.0.1непряма
npmtoidentifier1.0.1непряма
npmtough-cookie4.1.4непряма
npmtough-cookie5.1.2непряма
npmtr463.0.0непряма
npmtr465.1.1непряма
npmtree-kill1.2.2непряма
npmts-api-utils2.5.0непряма
npmts-interface-checker0.1.13непряма
npmts-jest29.4.11непряма
npmts-jest^29.4.0непряма
npmtslib2.8.1непряма
npmtsx4.23.1непряма
npmtsx^4.19.0непряма
npmtsx^4.7.0непряма
npmtype-check0.4.0непряма
npmtype-detect4.0.8непряма
npmtype-fest0.21.3непряма
npmtype-fest4.41.0непряма
npmtype-is2.1.0непряма
npmtypescript5.9.3непряма
npmtypescript^5.5.3непряма
npmtypescript^5.6.2непряма
npmtypescript-eslint8.64.0непряма
npmtypescript-eslint^8.38.0непряма
npmuglify-js3.19.3непряма
npmundici-types6.21.0непряма
npmuniversalify0.2.0непряма
npmunpipe1.0.0непряма
npmupdate-browserslist-db1.2.3непряма
npmuri-js4.4.1непряма
npmurl-parse1.5.10непряма
npmuse-callback-ref1.3.3непряма
npmuse-sidecar1.1.3непряма
npmutil-deprecate1.0.2непряма
npmv8-compile-cache-lib3.0.1непряма
npmv8-to-istanbul9.3.0непряма
npmvary1.1.2непряма
npmvite7.3.6непряма
npmvite^7.3.5непряма
npmvitest4.1.10непряма
npmvitest^4.1.0непряма
npmw3c-xmlserializer4.0.0непряма
npmw3c-xmlserializer5.0.0непряма
npmwalker1.0.8непряма
npmweb-streams-polyfill3.3.3непряма
npmwebidl-conversions7.0.0непряма
npmwhatwg-encoding2.0.0непряма
npmwhatwg-encoding3.1.1непряма
npmwhatwg-mimetype3.0.0непряма
npmwhatwg-mimetype4.0.0непряма
npmwhatwg-url11.0.0непряма
npmwhatwg-url14.2.0непряма
npmwhich2.0.2непряма
npmwhy-is-node-running2.3.0непряма
npmword-wrap1.2.5непряма
npmwordwrap1.0.0непряма
npmwrap-ansi7.0.0непряма
npmwrap-ansi9.0.2непряма
npmwrappy1.0.2непряма
npmwrite-file-atomic4.0.2непряма
npmwsl-utils0.1.0непряма
npmxml-name-validator4.0.0непряма
npmxml-name-validator5.0.0непряма
npmxmlchars2.2.0непряма
npmy18n5.0.8непряма
npmyallist3.1.1непряма
npmyaml2.9.0непряма
npmyargs17.7.2непряма
npmyargs-parser21.1.1непряма
npmyn3.1.1непряма
npmyocto-queue0.1.0непряма
npmzod-to-json-schema3.25.2непряма
Сповіщення про залежності 1

Встановлення npm:@modelcontextprotocol/inspector@1.0.0 тягне 255 пакетів, прямих і транзитивних: 1 мають відомі сповіщення, з них 0 — прямі залежності.

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
@hono/node-server1.19.14непрямапомірна12.0.5

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 23358,
      "has_wiki": false,
      "homepage": "https://modelcontextprotocol.io",
      "languages": {
        "CSS": 3081,
        "HTML": 7852,
        "Dockerfile": 1197,
        "JavaScript": 87883,
        "TypeScript": 999914
      },
      "pushed_at": "2026-07-24T03:15:01Z",
      "created_at": "2024-10-03T21:47:42Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-24T06:38:47Z",
      "description": "Visual testing tool for MCP servers",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "main",
      "license_spdx_raw": "NOASSERTION",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://modelcontextprotocol.io",
      "name": "Model Context Protocol",
      "type": "Organization",
      "login": "modelcontextprotocol",
      "company": null,
      "location": null,
      "followers": 49109,
      "avatar_url": "https://avatars.githubusercontent.com/u/182288589?v=4",
      "created_at": "2024-09-20T20:53:28Z",
      "is_verified": null,
      "public_repos": 42,
      "account_age_days": 671
    },
    "license": {
      "state": "custom",
      "spdx_id": null,
      "raw_spdx": "NOASSERTION",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "1.0.0",
          "kind": "major",
          "published_at": "2026-07-18T21:13:05Z"
        },
        {
          "tag": "0.22.0",
          "kind": "minor",
          "published_at": "2026-06-04T12:36:14Z"
        },
        {
          "tag": "0.21.2-hotfix-3",
          "kind": "prerelease",
          "published_at": "2026-04-14T20:55:04Z"
        },
        {
          "tag": "0.21.1",
          "kind": "patch",
          "published_at": "2026-02-27T16:02:49Z"
        },
        {
          "tag": "0.21.0",
          "kind": "minor",
          "published_at": "2026-02-24T16:58:15Z"
        },
        {
          "tag": "0.20.0",
          "kind": "minor",
          "published_at": "2026-02-06T17:52:31Z"
        },
        {
          "tag": "0.19.0-hotfix",
          "kind": "prerelease",
          "published_at": "2026-01-23T15:52:12Z"
        },
        {
          "tag": "0.18.0",
          "kind": "minor",
          "published_at": "2025-12-16T15:01:13Z"
        },
        {
          "tag": "0.17.5",
          "kind": "patch",
          "published_at": "2025-12-04T15:02:16Z"
        },
        {
          "tag": "0.17.4",
          "kind": "patch",
          "published_at": "2025-11-26T17:36:56Z"
        },
        {
          "tag": "0.17.3",
          "kind": "patch",
          "published_at": "2025-11-25T03:56:58Z"
        },
        {
          "tag": "0.17.2",
          "kind": "patch",
          "published_at": "2025-10-22T15:51:51Z"
        },
        {
          "tag": "0.17.1",
          "kind": "patch",
          "published_at": "2025-10-13T18:44:16Z"
        },
        {
          "tag": "0.17.0",
          "kind": "minor",
          "published_at": "2025-10-01T16:14:33Z"
        },
        {
          "tag": "0.16.8",
          "kind": "patch",
          "published_at": "2025-09-17T22:06:51Z"
        },
        {
          "tag": "0.16.7",
          "kind": "patch",
          "published_at": "2025-09-12T14:58:39Z"
        },
        {
          "tag": "0.16.6",
          "kind": "patch",
          "published_at": "2025-09-03T18:52:16Z"
        },
        {
          "tag": "0.16.5",
          "kind": "patch",
          "published_at": "2025-08-18T15:42:33Z"
        },
        {
          "tag": "0.16.4",
          "kind": "patch",
          "published_at": "2025-08-14T21:23:00Z"
        },
        {
          "tag": "0.16.3",
          "kind": "patch",
          "published_at": "2025-08-09T02:33:02Z"
        },
        {
          "tag": "0.16.2",
          "kind": "patch",
          "published_at": "2025-07-25T16:57:59Z"
        },
        {
          "tag": "0.16.1",
          "kind": "patch",
          "published_at": "2025-07-10T20:18:51Z"
        },
        {
          "tag": "0.16.0",
          "kind": "minor",
          "published_at": "2025-07-08T21:51:54Z"
        },
        {
          "tag": "0.15.0",
          "kind": "minor",
          "published_at": "2025-06-26T02:45:54Z"
        },
        {
          "tag": "0.14.3",
          "kind": "patch",
          "published_at": "2025-06-18T14:29:04Z"
        },
        {
          "tag": "0.14.2",
          "kind": "patch",
          "published_at": "2025-06-14T18:55:00Z"
        },
        {
          "tag": "0.14.1",
          "kind": "patch",
          "published_at": "2025-06-13T17:42:59Z"
        },
        {
          "tag": "0.14.0",
          "kind": "minor",
          "published_at": "2025-06-04T20:52:22Z"
        },
        {
          "tag": "0.13.0",
          "kind": "minor",
          "published_at": "2025-05-21T20:05:39Z"
        },
        {
          "tag": "0.12.0",
          "kind": "minor",
          "published_at": "2025-05-09T02:06:59Z"
        },
        {
          "tag": "0.11.0-amended",
          "kind": "prerelease",
          "published_at": "2025-04-30T16:57:16Z"
        },
        {
          "tag": "0.10.2",
          "kind": "patch",
          "published_at": "2025-04-17T23:09:22Z"
        },
        {
          "tag": "0.9.0",
          "kind": "minor",
          "published_at": "2025-04-14T15:37:34Z"
        },
        {
          "tag": "0.8.2",
          "kind": "patch",
          "published_at": "2025-04-07T16:54:31Z"
        },
        {
          "tag": "0.8.1-hotfix",
          "kind": "prerelease",
          "published_at": "2025-04-03T22:10:59Z"
        },
        {
          "tag": "0.8.0",
          "kind": "minor",
          "published_at": "2025-04-02T15:12:16Z"
        },
        {
          "tag": "0.7.0",
          "kind": "minor",
          "published_at": "2025-03-25T12:35:58Z"
        },
        {
          "tag": "0.6.0",
          "kind": "minor",
          "published_at": "2025-03-11T10:57:15Z"
        },
        {
          "tag": "0.5.1",
          "kind": "patch",
          "published_at": "2025-03-05T13:06:59Z"
        },
        {
          "tag": "0.4.1",
          "kind": "patch",
          "published_at": "2025-02-12T18:12:19Z"
        },
        {
          "tag": "0.4.0",
          "kind": "minor",
          "published_at": "2025-02-05T10:30:38Z"
        },
        {
          "tag": "0.3.0",
          "kind": "minor",
          "published_at": "2024-12-05T16:03:48Z"
        },
        {
          "tag": "0.2.7",
          "kind": "patch",
          "published_at": "2024-11-29T13:53:50Z"
        },
        {
          "tag": "0.2.6",
          "kind": "patch",
          "published_at": "2024-11-27T22:29:44Z"
        },
        {
          "tag": "0.2.5",
          "kind": "patch",
          "published_at": "2024-11-27T22:25:19Z"
        },
        {
          "tag": "0.2.4",
          "kind": "patch",
          "published_at": "2024-11-27T14:33:58Z"
        },
        {
          "tag": "0.2.3",
          "kind": "patch",
          "published_at": "2024-11-26T19:15:09Z"
        },
        {
          "tag": "0.2.2",
          "kind": "patch",
          "published_at": "2024-11-25T15:39:15Z"
        },
        {
          "tag": "0.2.1",
          "kind": "patch",
          "published_at": "2024-11-25T13:20:23Z"
        },
        {
          "tag": "0.2.0",
          "kind": "minor",
          "published_at": "2024-11-21T10:43:16Z"
        },
        {
          "tag": "0.1.0",
          "kind": "minor",
          "published_at": "2024-11-11T16:34:52Z"
        },
        {
          "tag": "0.0.1",
          "kind": "patch",
          "published_at": "2024-10-28T11:08:11Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "ac3c1a122a5e072a200c99869fc0cd8bfa660ece",
          "body": null,
          "is_bot": false,
          "headline": "Bump to version 1.0.0 (#1720)",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-07-18T02:54:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d40c1c94e78972e16670b48e374a94db8701cc5c",
          "body": "…ta (#53) (#1717)\n\n* fix(server): guard the /fetch proxy against SSRF to link-local/metadata\n\nThe /fetch proxy forwarded any user-supplied http/https URL straight into\nfetch(), so a malicious remote MCP server could advertise OAuth metadata\npointing at the cloud metadata endpoint (169.254.169.254) a\n[…]\ne Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01HiccCEh9mwCfVzE8qYcop1\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(server): guard the /fetch proxy against SSRF to link-local/metada…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-07-18T00:43:19Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c146313bb3397298149e1288f5e755dd1dc4c5de",
          "body": "npm does not reliably apply these transitive overrides to an existing\nlockfile (bare and targeted overrides via install/update leave residual\nvulnerable copies). This regenerates the lockfile from scratch with\nversion-targeted overrides so every copy of the affected packages\nresolves to a patched ve\n[…]\n (535)\n+ cli tests pass; lockfile internally consistent.\n\n\nClaude-Session: https://claude.ai/code/session_01HiccCEh9mwCfVzE8qYcop1\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): finalize security overrides and regenerate lockfile (#1718)",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-07-18T00:41:25Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ebd0550fecea0f398aae4997a9c8189727aec6e0",
          "body": "Resolves Dependabot alert #132. Uses a version-targeted override\n(@babel/core@<=7.29.0) so all copies of the vulnerable range are bumped.\nPart of #1706.\n\n\nClaude-Session: https://claude.ai/code/session_01HiccCEh9mwCfVzE8qYcop1\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): override @babel/core to ^7.29.6 (CVE fix) (#1712)",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-07-18T00:18:00Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3ad1b8ad5ecc0090d225987fd311a495e27677c8",
          "body": "Resolves Dependabot alert #130. Part of #1706.\n\n\nClaude-Session: https://claude.ai/code/session_01HiccCEh9mwCfVzE8qYcop1\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): override form-data to ^4.0.6 (CVE fix) (#1710)",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-07-18T00:08:23Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "47dc2df10608ae832f045dfcca3d86b3c20efff1",
          "body": "Resolves Dependabot alerts #126, #128, #127, #125, #124 (transitive via\n@modelcontextprotocol/sdk). Part of #1706.\n\n\nClaude-Session: https://claude.ai/code/session_01HiccCEh9mwCfVzE8qYcop1\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): override hono to ^4.12.25 (CVE fixes) (#1708)",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-07-18T00:02:46Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "31194229321b8a777cf8dea8f85f51cf13947b57",
          "body": "Bumps shell-quote from ^1.8.3 to ^1.8.4 in the root and server\npackages to resolve a critical security advisory. Adds an npm\noverride so concurrency's pinned shell-quote@1.8.3 also resolves to\na patched version, leaving no vulnerable copy in the tree.\n\n\nClaude-Session: https://claude.ai/code/session_01HiccCEh9mwCfVzE8qYcop1\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): bump shell-quote to ^1.8.4 (CVE fix) (#1711)",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-07-18T00:00:21Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b2025cd47b14dabf1a08ecc43780e30ac933fa36",
          "body": "Bumps the client's vite dev dependency from ^7.1.11 to ^7.3.5 to\nresolve Dependabot security alerts.\n\n- #123 (HIGH): vite server.fs.deny bypass, patched in 7.3.5\n- #129 (MEDIUM): vulnerability in launch-editor, a transitive dep of\n  vite; the newer vite no longer pulls in launch-editor, clearing it\n\n\nClaude-Session: https://claude.ai/code/session_01HiccCEh9mwCfVzE8qYcop1\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): bump vite to ^7.3.5 (CVE fixes) (#1709)",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-07-17T23:59:15Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ab447dd48019ff1509d616004cf9a412823ac1d8",
          "body": "Bumps vitest from ^4.0.17 to ^4.1.0 in the cli workspace to resolve\nDependabot alert #119 (CRITICAL). Resolves via vitest@4.1.10.\n\n\nClaude-Session: https://claude.ai/code/session_01HiccCEh9mwCfVzE8qYcop1\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): bump vitest to ^4.1.0 (CVE fix) (#1707)",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-07-17T23:59:11Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "fd2def684fb4909b177bdd9454f989fb6fa4c0d4",
          "body": "The \"Check formatting\" step in main.yml ran `npx prettier --check .`\nbefore `npm install`, so npx fetched the LATEST prettier rather than the\nversion pinned in package-lock.json. This made the format check\nnon-deterministic and red on open PRs whenever the latest published\nprettier differed from the\n[…]\nheck` so CI uses the locally-installed pinned\n  prettier\n\n\nClaude-Session: https://claude.ai/code/session_01HiccCEh9mwCfVzE8qYcop1\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: pin prettier to 3.9.5 and run format check after install (#1716)",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-07-17T20:23:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "638f2bfa5b90f790e89dfb0a2c48feef7af226e4",
          "body": "* Fix resource refresh button not triggering re-fetch (#1120)\n\nThe readResource function had an early return when the resource URI\nwas already cached, preventing the Refresh button from re-fetching.\nAdd a force parameter to bypass the cache on refresh, and update the\ncache-hit path to still sync the\n[…]\ne hits from the Resources tab update the display.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix resource refresh button not triggering re-fetch (#1148)",
          "author_name": "Ola Hungerford",
          "author_login": "olaservo",
          "committed_at": "2026-06-12T22:13:17Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a523a0f15a8eb2bf37e0ec1fe407720129e436f6",
          "body": "Per the MCP spec (2025-11-25), when a client observes input_required\nstatus during task polling it must call tasks/result to give the server\na chance to deliver queued elicitation/sampling requests. Previously the\npolling loop only called tasks/result after completed status, leaving\nthe server unable to trigger elicitation.\n\nAfter elicitation is handled the task transitions back to working so\ntaskCompleted is not set — polling continues until a terminal status\nis reached.",
          "is_bot": false,
          "headline": "fix: call tasks/result when task status is input_required (#1174)",
          "author_name": "Dzmitryi Halahayeu",
          "author_login": "galagaevdc",
          "committed_at": "2026-06-07T22:50:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ba1b8d1d8852e2f179f5a1945895ef97a91459f",
          "body": "* Initial plan\n\n* chore: bump version to 0.22.0\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "chore: bump version to 0.22.0 (#1428)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-06-04T12:34:58Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "5c782ada7c1f4a9891ccf18eaba6dfdcc7802732",
          "body": "* feat: add URL-mode elicitation support\n\nThe MCP spec (2025-11-25) added URL-mode elicitation alongside form mode,\nallowing servers to direct users to external URLs for out-of-band\ninteractions (auth flows, payments, sensitive data). This implements\nclient-side support for rendering and handling UR\n[…]\nored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>\nCo-authored-by: evalstate <1936278+evalstate@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat: add URL-mode elicitation support (#1423)",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-06-04T01:09:38Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "10f429759f191349785c0ac1707e8ce1e9bceb83",
          "body": "Resolves 15 of 16 Dependabot alerts via lockfile-only updates (no\nbreaking major bumps): handlebars (critical), fast-uri, flatted, hono,\npath-to-regexp, rollup, vite, express-rate-limit, @hono/node-server,\najv, brace-expansion, ip-address, picomatch, postcss, qs, ws, yaml,\nand @tootallnate/once.\n\nTh\n[…]\nmaining minimatch@3.1.2 advisory comes from @eslint/config-array\n(dev/lint-only, not shipped) and will clear when ESLint bumps it.\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): npm audit fix for transitive security advisories (#1380)",
          "author_name": "Ola Hungerford",
          "author_login": "olaservo",
          "committed_at": "2026-05-31T21:36:50Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f18775a1a5f3bd4b319763b4c12b3230091dd122",
          "body": "…kflow\n\nci: gate claude.yml on author_association to skip unauthorized invokes",
          "is_bot": false,
          "headline": "Merge pull request #1270 from modelcontextprotocol/tighten-claude-wor…",
          "author_name": "Bob Dickinson",
          "author_login": "BobDickinson",
          "committed_at": "2026-05-01T17:08:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1bbf53cf76850b279ebd66faee8b27631a2b9f88",
          "body": "Per review feedback on PR #1270: replace the three-way `==` OR chain in\neach of the four trigger branches with a single contains(fromJSON(...))\ncheck against a shared list. Same semantics, less duplication, and the\nallowed-roles list is now defined once per branch instead of three times.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "ci: collapse author_association OR chains into contains(fromJSON(...))",
          "author_name": "cliffhall",
          "author_login": "cliffhall",
          "committed_at": "2026-05-01T14:49:54Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c044b5d65f2718f7a52d4fcd8772af00c1adebbf",
          "body": "Previously the workflow's `if:` only checked the event type and the\npresence of `@claude` in the body. The job would start for any commenter\nand only later fail when the action attempted privileged operations on\nbehalf of a user without write access. That produced noisy red runs and\nwasted runner mi\n[…]\null_request_review, issues), so the job is short-circuited at workflow\nevaluation time and never starts for unauthorized invokers.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "ci: gate claude.yml on author_association to skip unauthorized invokes",
          "author_name": "cliffhall",
          "author_login": "cliffhall",
          "committed_at": "2026-05-01T14:19:59Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "adfcccca529088099d41d08459f55214bfb9b874",
          "body": "…publishing (#1202)\n\nPrevious fix only added repository.url to the root package.json, but npm\npublish --workspaces publishes each workspace using its own package.json.\nThe provenance check runs per-package, so each published workspace package\nalso needs repository.url to match the GitHub repo URL. Also adds type: \"git\"\nto the root and directory fields to the workspaces for correct monorepo\nlinking on npm/GitHub.\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Add repository field to workspace package.json files for npm trusted …",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-14T20:41:47Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4f71458f276f93bb7620242261ffbe6558ec9447",
          "body": "…isher setup (#1201)",
          "is_bot": false,
          "headline": "Update package.json to contain repository.url in for npm trusted publ…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-14T14:50:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "948c4fa3a1f928b1685d3b8343bc234d67774801",
          "body": "…publishing\n\nci: switch npm publish to OIDC trusted publishing",
          "is_bot": false,
          "headline": "Merge pull request #1199 from modelcontextprotocol/paulc/npm-trusted-…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-14T14:14:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68d45fcac61f5ec0135aa56cfcc5b75981df8cff",
          "body": "- Upgrade npm to ^11.5.1 in the publish job (Node 22 bundles npm 10.x,\n  which lacks OIDC trusted publishing support)\n- Drop NODE_AUTH_TOKEN / NPM_TOKEN secret in favor of OIDC\n- Enable provenance attestation via NPM_CONFIG_PROVENANCE\n\nThe publish job already had id-token: write and registry-url configured.",
          "is_bot": false,
          "headline": "ci: switch npm publish to OIDC trusted publishing",
          "author_name": "Paul Carleton",
          "author_login": "pcarleton",
          "committed_at": "2026-04-14T10:41:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "996f02c7e26ebbb30ff5df946855b67580986f62",
          "body": "chore: bump version to 0.21.2",
          "is_bot": false,
          "headline": "Merge pull request #1194 from olaservo/chore/bump-version-0.21.2",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-13T14:03:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "509f4aba8bbf6ea9ab14691715608ee76e783135",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into chore/bump-version-0.21.2",
          "author_name": "Ola Hungerford",
          "author_login": "olaservo",
          "committed_at": "2026-04-12T20:58:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4df119117e3daa0e1eedf79f77df5533c87dde8f",
          "body": "… (#1187)\n\n* fix(server): sanitize error responses to prevent stack trace exposure\n\nReplace raw error objects passed to res.json() with generic sanitized\nmessages so internal error details are not leaked to clients. Full\nerrors continue to be logged server-side via console.error.\n\nAlso adds a missin\n[…]\nhored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\nCo-authored-by: Ola Hungerford <olahungerford@gmail.com>",
          "is_bot": false,
          "headline": "fix(server): sanitize error responses to prevent stack trace exposure…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-12T20:53:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8f6074726bddd76dbe52ffc1dacebd95b1593a6f",
          "body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: bump version to 0.21.2",
          "author_name": "olaservo",
          "author_login": "olaservo",
          "committed_at": "2026-04-12T20:27:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "0d7757e3dca3fe7e2392f0ed9f757bd17ae7bd13",
          "body": "* fix: validate serverInfo.websiteUrl before rendering as link\n\nA connected MCP server's serverInfo.websiteUrl was rendered directly\nas an <a href> with no protocol check, allowing a malicious server to\nsupply javascript: (or other unsafe) URLs that would execute on click.\nRun the value through vali\n[…]\ne server\nname horizontally in the narrow sidebar.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: validate serverInfo.websiteUrl before rendering as link (#1186)",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-12T00:26:22Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a809c2ad5afde5bdc3112a015b6f7251ad333083",
          "body": "…actions/docker/metadata-action-6\n\nchore(deps): bump docker/metadata-action from 5 to 6",
          "is_bot": false,
          "headline": "Merge pull request #1138 from modelcontextprotocol/dependabot/github_…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-11T21:52:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c180baba0ca210afc5c1a6d21cb255032aa9f6a9",
          "body": "…actions/docker/login-action-4\n\nchore(deps): bump docker/login-action from 3 to 4",
          "is_bot": false,
          "headline": "Merge pull request #1137 from modelcontextprotocol/dependabot/github_…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-11T21:52:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b99c8b8ec995fb8e02496a6e85f11e4275ead28d",
          "body": "…actions/docker/setup-buildx-action-4\n\nchore(deps): bump docker/setup-buildx-action from 3 to 4",
          "is_bot": false,
          "headline": "Merge pull request #1136 from modelcontextprotocol/dependabot/github_…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-11T21:51:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afd785bed30c8848635fea37229f6fe6ec969177",
          "body": "…actions/actions/attest-build-provenance-4\n\nchore(deps): bump actions/attest-build-provenance from 3 to 4",
          "is_bot": false,
          "headline": "Merge pull request #1126 from modelcontextprotocol/dependabot/github_…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-11T21:51:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f1eb0aeeaf348c854ce8b0100ecc07af2bf66a8",
          "body": "…actions/actions/upload-artifact-7\n\nchore(deps): bump actions/upload-artifact from 6 to 7",
          "is_bot": false,
          "headline": "Merge pull request #1125 from modelcontextprotocol/dependabot/github_…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-11T21:50:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e2e73390f8f189e2fb3dde80f9d65d282613e75",
          "body": "…_yarn/npm_and_yarn-ccf8cbde5a\n\nchore(deps): bump hono from 4.12.1 to 4.12.2 in the npm_and_yarn group across 1 directory",
          "is_bot": false,
          "headline": "Merge pull request #1117 from modelcontextprotocol/dependabot/npm_and…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-11T21:50:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5cdbeaa07ad4d3e79c275f44a63337b6bf03c125",
          "body": "Inspector client: Added proxy fetch for use by auth (to avoid CORS issues)",
          "is_bot": false,
          "headline": "Merge pull request #1047 from BobDickinson/web-client-oauth-proxy-fetch",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-11T17:37:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "443288fb250b9b7fad3c8c95663aeaa49519a898",
          "body": "…th-cors-proxy-support\n\nRevert \"Fix: OAuth CORS errors when Connection Type is 'Via Proxy'\"",
          "is_bot": false,
          "headline": "Merge pull request #1182 from modelcontextprotocol/revert-996-fix/oau…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-09T15:03:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2539711bc0fe6abfc9e345ea3dccbe4dd6986cf1",
          "body": null,
          "is_bot": false,
          "headline": "Revert \"Fix: OAuth CORS errors when Connection Type is 'Via Proxy'\"",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-09T14:54:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "efbae5f9271cd4d7c018ee771f6e148b7aae5ed8",
          "body": "Fix: OAuth CORS errors when Connection Type is 'Via Proxy'",
          "is_bot": false,
          "headline": "Merge pull request #996 from asoorm/fix/oauth-cors-proxy-support",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-09T14:53:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "48f51cd75857386f35225b28f9e0794caf5f0f18",
          "body": "Fix error message expectations to match unwrapped proxyFetch errors.\nAdd tests for root-level well-known URL fallback with non-root paths.",
          "is_bot": false,
          "headline": "test: update oauth-proxy tests for fallback behavior",
          "author_name": "Ahmet Soormally",
          "author_login": "asoorm",
          "committed_at": "2026-04-07T21:41:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e524ff361835e039d5278095c15c5b30821ec26",
          "body": "When the MCP server is at a non-root path (e.g. /mcp), path-aware\ndiscovery (/.well-known/oauth-protected-resource/mcp) may 404 if the\nserver only serves metadata at the root. The SDK's direct-mode\ndiscovery already falls back to root-level URLs in this case. This\nadds the same fallback to the proxy discovery functions.",
          "is_bot": false,
          "headline": "fix: add root-level fallback for well-known URL discovery via proxy",
          "author_name": "Ahmet Soormally",
          "author_login": "asoorm",
          "committed_at": "2026-04-07T21:31:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d898b3e82fcf824057d77d4ca45a7094e6e07ccd",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into fix/oauth-cors-proxy-support",
          "author_name": "Ahmet Soormally",
          "author_login": "asoorm",
          "committed_at": "2026-04-07T21:13:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "446a9bc1cf2c3a0ba697295e02a50d89e741401f",
          "body": null,
          "is_bot": false,
          "headline": "Addressed all Claude review issues.",
          "author_name": "Bob Dickinson",
          "author_login": "BobDickinson",
          "committed_at": "2026-04-07T17:33:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c04cd9958dd567837cc0b0a43c7d787fb943de3e",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into web-client-oauth-proxy-fetch",
          "author_name": "Bob Dickinson",
          "author_login": "BobDickinson",
          "committed_at": "2026-04-07T02:23:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e796ac744c60385c221b905530621628ca4616f",
          "body": "… on error string text matching to detect an OAuth 401)",
          "is_bot": false,
          "headline": "Fix for 401 errors not being sent back through the proxy (and relying…",
          "author_name": "Bob Dickinson",
          "author_login": "BobDickinson",
          "committed_at": "2026-04-07T00:05:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c344ffb87ccb6fc272634ac7117de36cec34d541",
          "body": "…which should fix the failures reported with proxy auth.  I have not yet verified that locally (pending repro details).",
          "is_bot": false,
          "headline": "Modified proxy fetch to return all response payloads (not just 200), …",
          "author_name": "Bob Dickinson",
          "author_login": "BobDickinson",
          "committed_at": "2026-04-06T19:03:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2a34b67de38cff1fb6f7131e35ea656810221b8",
          "body": "…en because the TLS verification changed. Without pinned deps (package lock) it's hard to track down the dep change actually caused this - fix was to use http instead of https example.com test urls.",
          "is_bot": false,
          "headline": "Fixed broken tests. One was broken by a merge from main, one was brok…",
          "author_name": "Bob Dickinson",
          "author_login": "BobDickinson",
          "committed_at": "2026-04-06T18:10:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd53302e12e6342072fadb2a759afb5a6648696b",
          "body": null,
          "is_bot": false,
          "headline": "Merge pull request #1177 from Dinesht04/fix/fix-value-overflow",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-04T14:17:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5fda85c201bca3e9b7f1521027d88d271b7455c",
          "body": null,
          "is_bot": false,
          "headline": "fix: add horizontal scrolling for long values in json view",
          "author_name": "Dinesht04",
          "author_login": "Dinesht04",
          "committed_at": "2026-04-04T10:11:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "94d98ec56e92ea2a27d3691ec85b86f2bb364205",
          "body": "fix: ensure DCR always registers both redirect URIs",
          "is_bot": false,
          "headline": "Merge pull request #1173 from asoorm/fix/930-redirect-uri-mismatch",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-04-02T16:35:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "abe1cf9b4f4cfeb7de317824b350534fcb5b9c5b",
          "body": "The `redirect_uris` getter used `this.redirectUrl`, which is overridden\nby `DebugInspectorOAuthClientProvider` to return `/oauth/callback/debug`.\nThis caused the `Set` deduplication to collapse both URIs into one,\nso DCR only registered `/oauth/callback/debug`. The normal connection\nflow then sent `\n[…]\n-compliant OAuth servers to reject it.\n\nUse the base callback URLs directly instead of the polymorphic getter\nso both URIs are always registered regardless of which subclass\ninitiates DCR.\n\nFixes #930",
          "is_bot": false,
          "headline": "fix: ensure DCR always registers both redirect URIs",
          "author_name": "Ahmet Soormally",
          "author_login": "asoorm",
          "committed_at": "2026-04-02T14:42:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "26c9f60d43acfdef0ad224c02bb04062f27c6b21",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into web-client-oauth-proxy-fetch",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-03-18T22:41:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1380fc0d5ba4724c52b25b82ae62d8b420bf6333",
          "body": "Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5 to 6.\n- [Release notes](https://github.com/docker/metadata-action/releases)\n- [Commits](https://github.com/docker/metadata-action/compare/v5...v6)\n\n---\nupdated-dependencies:\n- dependency-name: docker/metadata-action\n  dependency-version: '6'\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump docker/metadata-action from 5 to 6",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-09T21:33:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de17d7a6a77841b5af23219237cb54f84897fb71",
          "body": "Bumps [docker/login-action](https://github.com/docker/login-action) from 3 to 4.\n- [Release notes](https://github.com/docker/login-action/releases)\n- [Commits](https://github.com/docker/login-action/compare/v3...v4)\n\n---\nupdated-dependencies:\n- dependency-name: docker/login-action\n  dependency-version: '4'\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump docker/login-action from 3 to 4",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-09T21:33:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9cce38f0041da70cd42a542caffb82850902f61c",
          "body": "Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.\n- [Release notes](https://github.com/docker/setup-buildx-action/releases)\n- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)\n\n---\nupdated-dependencies:\n- dependency-name: docker/setup-buildx-action\n  dependency-version: '4'\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump docker/setup-buildx-action from 3 to 4",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-09T21:33:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b083d4e1a0c5614f2aa0405c6d0f2d7c76812f77",
          "body": "Add server-side proxy endpoints for OAuth discovery, client registration,\nand token exchange to avoid CORS issues when using proxy connection mode.\n\nServer proxy endpoints:\n- GET /oauth/resource-metadata - proxies OAuth protected resource metadata\n- GET /oauth/metadata - proxies OAuth authorization \n[…]\norrect RFC 9728/8414 path-aware well-known URLs client-side\n- Route all OAuth discovery through proxy when in proxy connection mode\n- Eliminate direct browser fetches that fail with CORS in proxy mode",
          "is_bot": false,
          "headline": "feat: add OAuth proxy support to eliminate CORS issues",
          "author_name": "Ahmet Soormally",
          "author_login": "asoorm",
          "committed_at": "2026-03-09T13:43:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7c8b031ffac663031ee5a0d0a7dc79735321c2d1",
          "body": "Fix decimal typing behavior for number inputs in tools form",
          "is_bot": false,
          "headline": "Merge pull request #1127 from MumuTW/fix-tools-tab-decimal-input-1080",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-03-08T00:12:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdbf896a04aec63b7c422309bda86f8c5663aeae",
          "body": null,
          "is_bot": false,
          "headline": "Fix decimal input handling in DynamicJsonForm number fields",
          "author_name": "MumuTW",
          "author_login": "MumuTW",
          "committed_at": "2026-03-06T05:45:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b90a835986cfb9c39a6c5cf405c9021e091f259",
          "body": "Bumps [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) from 3 to 4.\n- [Release notes](https://github.com/actions/attest-build-provenance/releases)\n- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)\n- [Commits](https://github.co\n[…]\nname: actions/attest-build-provenance\n  dependency-version: '4'\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump actions/attest-build-provenance from 3 to 4",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-02T22:15:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5abcdb485313ae840059ff6cc1af202ce3a5710b",
          "body": "Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.\n- [Release notes](https://github.com/actions/upload-artifact/releases)\n- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/upload-artifact\n  dependency-version: '7'\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump actions/upload-artifact from 6 to 7",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-02T22:15:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bbf0284f91d11d289544fc5a7e8a60fb368a4f1d",
          "body": "Bumps the npm_and_yarn group with 1 update in the / directory: [hono](https://github.com/honojs/hono).\n\n\nUpdates `hono` from 4.12.1 to 4.12.2\n- [Release notes](https://github.com/honojs/hono/releases)\n- [Commits](https://github.com/honojs/hono/compare/v4.12.1...v4.12.2)\n\n---\nupdated-dependencies:\n- dependency-name: hono\n  dependency-version: 4.12.2\n  dependency-type: indirect\n  dependency-group: npm_and_yarn\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump hono in the npm_and_yarn group across 1 directory",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-27T16:01:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db0827b24645f61c8b15aaaa4726bb7d21ad8282",
          "body": "* Initial plan\n\n* chore: bump version to 0.21.1\n\nCo-authored-by: olaservo <16480113+olaservo@users.noreply.github.com>\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: olaservo <16480113+olaservo@users.noreply.github.com>\nCo-authored-by: Ola Hungerford <olahungerford@gmail.com>",
          "is_bot": false,
          "headline": "chore: bump version to 0.21.1 (#1116)",
          "author_name": "Copilot",
          "author_login": "Copilot",
          "committed_at": "2026-02-27T16:00:05Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "8c7017a75df28d786bb98aaa241d269a41dd68e2",
          "body": "Remove misleading structured content compatibility warning",
          "is_bot": false,
          "headline": "Merge pull request #1098 from olaservo/main",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-25T18:11:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e853652cea2e54f1cf3aeecde70719932d6064bc",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into main",
          "author_name": "Ola Hungerford",
          "author_login": "olaservo",
          "committed_at": "2026-02-25T12:33:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb791cdeded4a42d7f2c94c6ccb4ee21f64a0e63",
          "body": "The sandbox_proxy.html file was not shipped in the npm package because\nthe files arrays in both package.json and server/package.json only\nincluded the build directory. The server code resolves the file via\njoin(__dirname, '..', 'static', 'sandbox_proxy.html') which expects\nstatic/ as a sibling of build/, but it was missing from the package.",
          "is_bot": false,
          "headline": "fix: include server/static in published package files (#1113)",
          "author_name": "James Woods",
          "author_login": "jwoods02",
          "committed_at": "2026-02-25T12:31:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e23d37769709f6c68a71daede4c4ae11ebba8bf",
          "body": "…on-to-0-21-0\n\nchore: bump version to 0.21.0",
          "is_bot": false,
          "headline": "Merge pull request #1112 from modelcontextprotocol/copilot/bump-versi…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-24T16:57:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "58478bc88bfdc0f77e1084a26e65de79ea015246",
          "body": "Co-authored-by: olaservo <16480113+olaservo@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: bump version to 0.21.0",
          "author_name": "copilot-swe-agent[bot]",
          "author_login": "Copilot",
          "committed_at": "2026-02-24T15:48:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "238eadfb19e5e69ab673299172e62033e037da67",
          "body": null,
          "is_bot": true,
          "headline": "Initial plan",
          "author_name": "copilot-swe-agent[bot]",
          "author_login": "Copilot",
          "committed_at": "2026-02-24T15:46:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4c6e6b6b16623c8e7286cc75174dfc38788c793",
          "body": "…rted\n\nManage display of \"Run as Task\" checkbox on Tools Tab",
          "is_bot": false,
          "headline": "Merge pull request #1072 from cliffhall/hide-run-as-task-if-not-suppo…",
          "author_name": "Bob Dickinson",
          "author_login": "BobDickinson",
          "committed_at": "2026-02-24T03:06:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "92b6c89354f28ef76cb949af4e5e91e31e867e70",
          "body": null,
          "is_bot": false,
          "headline": "Formatting",
          "author_name": "cliffhall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-23T16:49:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f64a7ea6e376f7cbc394143f55ab5e1d07410c33",
          "body": "- Default taskSupport fallback to \"forbidden\" per MCP spec (was \"optional\")\n- Fix import path to use @/ alias consistently\n- Fix misleading \"type guard\" comment on getTaskSupport\n- Extract getTaskSupport to a variable to avoid duplicate calls in render\n- Export ExtendedTool and import in tests instead of duplicating\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix review issues from Claude's code review",
          "author_name": "cliffhall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-23T16:15:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4bcffe456be0cc307ac6518ab620db4c0250ba5a",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into hide-run-as-task-if-not-supported",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-23T15:32:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ce441ae70527bb388a65865c71bc6a98bc3932b",
          "body": "…dates (#1106)\n\nBumps the npm_and_yarn group with 2 updates in the / directory: [ajv](https://github.com/ajv-validator/ajv) and [hono](https://github.com/honojs/hono).\n\n\nUpdates `ajv` from 6.12.6 to 6.14.0\n- [Release notes](https://github.com/ajv-validator/ajv/releases)\n- [Commits](https://github.co\n[…]\n dependency-type: indirect\n  dependency-group: npm_and_yarn\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the npm_and_yarn group across 1 directory with 2 up…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-23T01:04:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "695972a4041f655e01d0de95ce8c99d47b38d25c",
          "body": null,
          "is_bot": false,
          "headline": "oauth: add tenant suffix to oauth flow (#1096)",
          "author_name": "John Howard",
          "author_login": "howardjohn",
          "committed_at": "2026-02-19T13:00:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "841c42e4688ee4af8a3bf180971d856167fda11c",
          "body": "The MCP spec allows `content` to be a human-readable summary rather\nthan a JSON-stringified copy of `structuredContent`. Remove the yellow\nwarning that was shown when no text block JSON-matched structuredContent,\nkeeping only the positive blue indicator when a match does exist.\n\nFixes #1089\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Remove misleading structured content compatibility warning",
          "author_name": "olaservo",
          "author_login": "olaservo",
          "committed_at": "2026-02-19T04:06:44Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f2ed4ef3b9434810509958017175e26d9d9068f8",
          "body": null,
          "is_bot": false,
          "headline": "Update SECURITY.md to use GitHub Security Advisories (#1097)",
          "author_name": "Den Delimarsky",
          "author_login": "localden",
          "committed_at": "2026-02-19T02:57:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1b42654dd5ccba821aa10b8d8408ab6f60b997d",
          "body": "fix: add missing tool result to AppsRenderer",
          "is_bot": false,
          "headline": "Merge pull request #1075 from infoxicator/fix/apps-tool-result",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-16T22:44:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f470fcb3a5eacbc40dcabc8189a130620919414e",
          "body": "…/inspector into fix/apps-tool-result",
          "is_bot": false,
          "headline": "Merge branch 'fix/apps-tool-result' of https://github.com/infoxicator…",
          "author_name": "Ruben Casas",
          "author_login": "infoxicator",
          "committed_at": "2026-02-16T22:20:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87bb2425a3780bef3fce1bb8145c4c7c69eb59be",
          "body": null,
          "is_bot": false,
          "headline": "fix linting error",
          "author_name": "Ruben Casas",
          "author_login": "infoxicator",
          "committed_at": "2026-02-16T22:20:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49bcbbe276823bc9586c0cbec89b8d3255128ab3",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into fix/apps-tool-result",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-16T20:36:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a84ce32540144d82c74b9378232d26809816a4a",
          "body": null,
          "is_bot": false,
          "headline": "chore: remove accidentally committed mcp-ui patch",
          "author_name": "Ruben Casas",
          "author_login": "infoxicator",
          "committed_at": "2026-02-16T16:53:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9adc37893cf701320c5703d78d910244e1abde05",
          "body": "…/inspector into fix/apps-tool-result",
          "is_bot": false,
          "headline": "Merge branch 'fix/apps-tool-result' of https://github.com/infoxicator…",
          "author_name": "Ruben Casas",
          "author_login": "infoxicator",
          "committed_at": "2026-02-16T16:45:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a31ae3e767bb6d1adaab8edb169700171f1b1f5a",
          "body": null,
          "is_bot": false,
          "headline": "feat call tool result from tools tab",
          "author_name": "Ruben Casas",
          "author_login": "infoxicator",
          "committed_at": "2026-02-16T16:44:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6573bf98927514abcad3d2122ad6d9deaceb1933",
          "body": "…_yarn/npm_and_yarn-14dc0ebc5a\n\nBump qs from 6.14.1 to 6.14.2 in the npm_and_yarn group across 1 directory",
          "is_bot": false,
          "headline": "Merge pull request #1088 from modelcontextprotocol/dependabot/npm_and…",
          "author_name": "Koichi ITO",
          "author_login": "koic",
          "committed_at": "2026-02-14T17:38:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41e0e83fac4db8b2baeee19b8542e8f07f145570",
          "body": "Bumps the npm_and_yarn group with 1 update in the / directory: [qs](https://github.com/ljharb/qs).\n\n\nUpdates `qs` from 6.14.1 to 6.14.2\n- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/qs/compare/v6.14.1...v6.14.2)\n\n---\nupdated-dependencies:\n- dependency-name: qs\n  dependency-version: 6.14.2\n  dependency-type: indirect\n  dependency-group: npm_and_yarn\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump qs in the npm_and_yarn group across 1 directory",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-14T17:35:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e63f732e2b1b64cc405a31f858772d3304546e2",
          "body": "feat(client): display tool annotations in Tools tab",
          "is_bot": false,
          "headline": "Merge pull request #1066 from olaservo/feature/tool-annotations-display",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-14T16:37:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ac19d25ccfb65bf60835b91d61fb0d3a2acf805",
          "body": "…20260204-1236\n\nfix: include LICENSE file in published npm packages",
          "is_bot": false,
          "headline": "Merge pull request #1055 from modelcontextprotocol/claude/issue-1036-…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-14T16:21:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e4ab635fac0e7644008514e84d89929b9cf59f8",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into claude/issue-1036-20260204-1236",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-14T16:20:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d18cf3711ca96b82bfa6ae3248867d6af2a2844",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into hide-run-as-task-if-not-supported",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-14T15:53:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7928a339940d8f9f85e23693327e82f956b8066d",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into feature/tool-annotations-display",
          "author_name": "Ola Hungerford",
          "author_login": "olaservo",
          "committed_at": "2026-02-13T02:10:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8cf0ac1c682cd5a24ee28ed37bc04325064b01b0",
          "body": "fix: enhance  resolution and enum handling in anyOf schemas",
          "is_bot": false,
          "headline": "Merge pull request #901 from Edison-A-N/fix/enum-anyof-ref-resolution",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-11T23:01:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "17d08ffe668d6d3b01680212b9432ab0cd513ea7",
          "body": "…actions/actions/checkout-6\n\nBump actions/checkout from 4 to 6",
          "is_bot": false,
          "headline": "Merge pull request #1079 from modelcontextprotocol/dependabot/github_…",
          "author_name": "Koichi ITO",
          "author_login": "koic",
          "committed_at": "2026-02-11T16:57:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f9d922475b8cd0598bea0d3306f24935cda9cbf",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v4...v6)\n\n---\nupdated-dependenc\n[…]\n:\n- dependency-name: actions/checkout\n  dependency-version: '6'\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump actions/checkout from 4 to 6",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-09T23:27:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b5eb9697b8334f02058be6b8552adbf5802711ad",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into fix/apps-tool-result",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-09T19:24:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f424f252546b8611e275a158d1756fd30517d87",
          "body": "This reverts commit 39c2c9f8ce41957018e391cace9b794bec05071f.",
          "is_bot": false,
          "headline": "Revert \"Remove environment constraint from release workflow jobs\"",
          "author_name": "David Soria Parra",
          "author_login": "dsp-ant",
          "committed_at": "2026-02-09T18:30:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "39c2c9f8ce41957018e391cace9b794bec05071f",
          "body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Remove environment constraint from release workflow jobs",
          "author_name": "David Soria Parra",
          "author_login": "dsp-ant",
          "committed_at": "2026-02-09T18:27:16Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "00791446a8088996139162b64aa19582ed9a840a",
          "body": null,
          "is_bot": false,
          "headline": "fix: add missing tool result to AppsRenderer",
          "author_name": "Ruben Casas",
          "author_login": "infoxicator",
          "committed_at": "2026-02-08T00:16:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1824ca3f9ca51de8971e82eb8c834a7b9efdf90",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into feature/tool-annotations-display",
          "author_name": "Ola Hungerford",
          "author_login": "olaservo",
          "committed_at": "2026-02-07T23:44:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4aa22093ff2df661926141e348925cd9d188684",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into fix/enum-anyof-ref-resolution",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-07T22:10:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c0e15dbd8ff95260e22d06528d5963ca541df75",
          "body": "…20260204-1234\n\nfix: display tool title field in Inspector UI",
          "is_bot": false,
          "headline": "Merge pull request #1054 from modelcontextprotocol/claude/issue-1053-…",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-07T21:40:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f28c64f3eb01b3c5c75ebca53efdaa7899e29cdc",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into claude/issue-1053-20260204-1234",
          "author_name": "Cliff Hall",
          "author_login": "cliffhall",
          "committed_at": "2026-02-07T21:38:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5adaff496d19af6da456388be4b0587f2c10ca3f",
          "body": "…actions/actions/github-script-8\n\nBump actions/github-script from 7 to 8",
          "is_bot": false,
          "headline": "Merge pull request #1061 from modelcontextprotocol/dependabot/github_…",
          "author_name": "Koichi ITO",
          "author_login": "koic",
          "committed_at": "2026-02-07T18:11:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 52,
      "commits_last_year": 675,
      "latest_release_at": "2026-07-18T21:13:05Z",
      "latest_release_tag": "1.0.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 41,
      "days_since_latest_release": 5,
      "mean_days_between_releases": 26
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 87,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@modelcontextprotocol/inspector",
          "exists": true,
          "license": "SEE LICENSE IN LICENSE",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@modelcontextprotocol/inspector",
          "is_deprecated": false,
          "latest_version": "1.0.0",
          "repository_url": "https://github.com/modelcontextprotocol/inspector",
          "versions_count": 56,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 7,
          "monthly_downloads": 809996,
          "first_published_at": "2024-11-19T19:27:34.382000Z",
          "latest_published_at": "2026-07-18T21:16:29.278000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        },
        {
          "name": "@modelcontextprotocol/inspector-cli",
          "exists": true,
          "license": "SEE LICENSE IN LICENSE",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@modelcontextprotocol/inspector-cli",
          "is_deprecated": false,
          "latest_version": "1.0.0",
          "repository_url": "https://github.com/modelcontextprotocol/inspector",
          "versions_count": 32,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 7,
          "monthly_downloads": 807023,
          "first_published_at": "2025-04-17T20:11:10.346000Z",
          "latest_published_at": "2026-07-18T21:16:09.912000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        },
        {
          "name": "@modelcontextprotocol/inspector-client",
          "exists": true,
          "license": "SEE LICENSE IN LICENSE",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@modelcontextprotocol/inspector-client",
          "is_deprecated": false,
          "latest_version": "1.0.0",
          "repository_url": "https://github.com/modelcontextprotocol/inspector",
          "versions_count": 53,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 7,
          "monthly_downloads": 833382,
          "first_published_at": "2024-11-19T21:11:41.861000Z",
          "latest_published_at": "2026-07-18T21:16:03.070000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        },
        {
          "name": "@modelcontextprotocol/inspector-server",
          "exists": true,
          "license": "SEE LICENSE IN LICENSE",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@modelcontextprotocol/inspector-server",
          "is_deprecated": false,
          "latest_version": "1.0.0",
          "repository_url": "https://github.com/modelcontextprotocol/inspector",
          "versions_count": 53,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 7,
          "monthly_downloads": 774236,
          "first_published_at": "2024-11-19T21:11:48.366000Z",
          "latest_published_at": "2026-07-18T21:16:06.869000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        }
      ]
    },
    "popularity": {
      "forks": 1437,
      "stars": 10454,
      "watchers": 64,
      "fork_history": {
        "days": [
          {
            "date": "2025-05-22",
            "count": 1
          },
          {
            "date": "2025-05-23",
            "count": 2
          },
          {
            "date": "2025-05-24",
            "count": 2
          },
          {
            "date": "2025-05-25",
            "count": 3
          },
          {
            "date": "2025-05-26",
            "count": 2
          },
          {
            "date": "2025-05-27",
            "count": 6
          },
          {
            "date": "2025-05-28",
            "count": 7
          },
          {
            "date": "2025-05-29",
            "count": 2
          },
          {
            "date": "2025-05-30",
            "count": 2
          },
          {
            "date": "2025-06-01",
            "count": 2
          },
          {
            "date": "2025-06-02",
            "count": 5
          },
          {
            "date": "2025-06-03",
            "count": 7
          },
          {
            "date": "2025-06-04",
            "count": 6
          },
          {
            "date": "2025-06-05",
            "count": 3
          },
          {
            "date": "2025-06-07",
            "count": 6
          },
          {
            "date": "2025-06-08",
            "count": 3
          },
          {
            "date": "2025-06-09",
            "count": 4
          },
          {
            "date": "2025-06-10",
            "count": 3
          },
          {
            "date": "2025-06-11",
            "count": 3
          },
          {
            "date": "2025-06-12",
            "count": 6
          },
          {
            "date": "2025-06-13",
            "count": 2
          },
          {
            "date": "2025-06-14",
            "count": 3
          },
          {
            "date": "2025-06-15",
            "count": 2
          },
          {
            "date": "2025-06-16",
            "count": 3
          },
          {
            "date": "2025-06-17",
            "count": 5
          },
          {
            "date": "2025-06-18",
            "count": 8
          },
          {
            "date": "2025-06-19",
            "count": 5
          },
          {
            "date": "2025-06-20",
            "count": 3
          },
          {
            "date": "2025-06-21",
            "count": 8
          },
          {
            "date": "2025-06-22",
            "count": 2
          },
          {
            "date": "2025-06-23",
            "count": 2
          },
          {
            "date": "2025-06-24",
            "count": 4
          },
          {
            "date": "2025-06-25",
            "count": 7
          },
          {
            "date": "2025-06-26",
            "count": 4
          },
          {
            "date": "2025-06-27",
            "count": 2
          },
          {
            "date": "2025-06-29",
            "count": 5
          },
          {
            "date": "2025-06-30",
            "count": 2
          },
          {
            "date": "2025-07-01",
            "count": 4
          },
          {
            "date": "2025-07-02",
            "count": 4
          },
          {
            "date": "2025-07-03",
            "count": 3
          },
          {
            "date": "2025-07-04",
            "count": 1
          },
          {
            "date": "2025-07-05",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 3
          },
          {
            "date": "2025-07-08",
            "count": 2
          },
          {
            "date": "2025-07-09",
            "count": 6
          },
          {
            "date": "2025-07-10",
            "count": 2
          },
          {
            "date": "2025-07-11",
            "count": 2
          },
          {
            "date": "2025-07-12",
            "count": 2
          },
          {
            "date": "2025-07-13",
            "count": 4
          },
          {
            "date": "2025-07-14",
            "count": 3
          },
          {
            "date": "2025-07-15",
            "count": 2
          },
          {
            "date": "2025-07-16",
            "count": 3
          },
          {
            "date": "2025-07-17",
            "count": 5
          },
          {
            "date": "2025-07-19",
            "count": 7
          },
          {
            "date": "2025-07-20",
            "count": 1
          },
          {
            "date": "2025-07-21",
            "count": 1
          },
          {
            "date": "2025-07-22",
            "count": 6
          },
          {
            "date": "2025-07-23",
            "count": 6
          },
          {
            "date": "2025-07-24",
            "count": 2
          },
          {
            "date": "2025-07-25",
            "count": 5
          },
          {
            "date": "2025-07-27",
            "count": 3
          },
          {
            "date": "2025-07-28",
            "count": 1
          },
          {
            "date": "2025-07-29",
            "count": 1
          },
          {
            "date": "2025-07-30",
            "count": 2
          },
          {
            "date": "2025-07-31",
            "count": 2
          },
          {
            "date": "2025-08-01",
            "count": 6
          },
          {
            "date": "2025-08-02",
            "count": 1
          },
          {
            "date": "2025-08-03",
            "count": 2
          },
          {
            "date": "2025-08-04",
            "count": 2
          },
          {
            "date": "2025-08-05",
            "count": 3
          },
          {
            "date": "2025-08-06",
            "count": 4
          },
          {
            "date": "2025-08-07",
            "count": 4
          },
          {
            "date": "2025-08-08",
            "count": 4
          },
          {
            "date": "2025-08-09",
            "count": 1
          },
          {
            "date": "2025-08-11",
            "count": 4
          },
          {
            "date": "2025-08-12",
            "count": 7
          },
          {
            "date": "2025-08-13",
            "count": 2
          },
          {
            "date": "2025-08-14",
            "count": 3
          },
          {
            "date": "2025-08-16",
            "count": 1
          },
          {
            "date": "2025-08-17",
            "count": 2
          },
          {
            "date": "2025-08-18",
            "count": 2
          },
          {
            "date": "2025-08-19",
            "count": 5
          },
          {
            "date": "2025-08-20",
            "count": 2
          },
          {
            "date": "2025-08-21",
            "count": 6
          },
          {
            "date": "2025-08-23",
            "count": 2
          },
          {
            "date": "2025-08-24",
            "count": 2
          },
          {
            "date": "2025-08-26",
            "count": 10
          },
          {
            "date": "2025-08-27",
            "count": 4
          },
          {
            "date": "2025-08-28",
            "count": 4
          },
          {
            "date": "2025-08-30",
            "count": 2
          },
          {
            "date": "2025-08-31",
            "count": 2
          },
          {
            "date": "2025-09-01",
            "count": 3
          },
          {
            "date": "2025-09-02",
            "count": 5
          },
          {
            "date": "2025-09-03",
            "count": 3
          },
          {
            "date": "2025-09-05",
            "count": 2
          },
          {
            "date": "2025-09-06",
            "count": 3
          },
          {
            "date": "2025-09-07",
            "count": 4
          },
          {
            "date": "2025-09-08",
            "count": 3
          },
          {
            "date": "2025-09-09",
            "count": 4
          },
          {
            "date": "2025-09-10",
            "count": 5
          },
          {
            "date": "2025-09-11",
            "count": 1
          },
          {
            "date": "2025-09-13",
            "count": 3
          },
          {
            "date": "2025-09-14",
            "count": 2
          },
          {
            "date": "2025-09-15",
            "count": 3
          },
          {
            "date": "2025-09-16",
            "count": 3
          },
          {
            "date": "2025-09-17",
            "count": 5
          },
          {
            "date": "2025-09-19",
            "count": 1
          },
          {
            "date": "2025-09-20",
            "count": 4
          },
          {
            "date": "2025-09-21",
            "count": 3
          },
          {
            "date": "2025-09-22",
            "count": 1
          },
          {
            "date": "2025-09-23",
            "count": 1
          },
          {
            "date": "2025-09-24",
            "count": 2
          },
          {
            "date": "2025-09-26",
            "count": 5
          },
          {
            "date": "2025-09-27",
            "count": 2
          },
          {
            "date": "2025-09-28",
            "count": 1
          },
          {
            "date": "2025-09-29",
            "count": 4
          },
          {
            "date": "2025-09-30",
            "count": 4
          },
          {
            "date": "2025-10-01",
            "count": 1
          },
          {
            "date": "2025-10-02",
            "count": 2
          },
          {
            "date": "2025-10-05",
            "count": 3
          },
          {
            "date": "2025-10-06",
            "count": 2
          },
          {
            "date": "2025-10-07",
            "count": 3
          },
          {
            "date": "2025-10-08",
            "count": 3
          },
          {
            "date": "2025-10-09",
            "count": 4
          },
          {
            "date": "2025-10-10",
            "count": 2
          },
          {
            "date": "2025-10-11",
            "count": 3
          },
          {
            "date": "2025-10-12",
            "count": 3
          },
          {
            "date": "2025-10-13",
            "count": 6
          },
          {
            "date": "2025-10-14",
            "count": 1
          },
          {
            "date": "2025-10-15",
            "count": 2
          },
          {
            "date": "2025-10-16",
            "count": 2
          },
          {
            "date": "2025-10-17",
            "count": 4
          },
          {
            "date": "2025-10-18",
            "count": 4
          },
          {
            "date": "2025-10-20",
            "count": 1
          },
          {
            "date": "2025-10-21",
            "count": 2
          },
          {
            "date": "2025-10-22",
            "count": 3
          },
          {
            "date": "2025-10-23",
            "count": 4
          },
          {
            "date": "2025-10-24",
            "count": 5
          },
          {
            "date": "2025-10-25",
            "count": 2
          },
          {
            "date": "2025-10-26",
            "count": 2
          },
          {
            "date": "2025-10-27",
            "count": 2
          },
          {
            "date": "2025-10-28",
            "count": 7
          },
          {
            "date": "2025-10-29",
            "count": 1
          },
          {
            "date": "2025-10-30",
            "count": 5
          },
          {
            "date": "2025-10-31",
            "count": 3
          },
          {
            "date": "2025-11-02",
            "count": 2
          },
          {
            "date": "2025-11-03",
            "count": 5
          },
          {
            "date": "2025-11-04",
            "count": 3
          },
          {
            "date": "2025-11-05",
            "count": 4
          },
          {
            "date": "2025-11-07",
            "count": 2
          },
          {
            "date": "2025-11-08",
            "count": 2
          },
          {
            "date": "2025-11-09",
            "count": 4
          },
          {
            "date": "2025-11-10",
            "count": 4
          },
          {
            "date": "2025-11-11",
            "count": 1
          },
          {
            "date": "2025-11-12",
            "count": 3
          },
          {
            "date": "2025-11-13",
            "count": 2
          },
          {
            "date": "2025-11-14",
            "count": 3
          },
          {
            "date": "2025-11-15",
            "count": 3
          },
          {
            "date": "2025-11-16",
            "count": 4
          },
          {
            "date": "2025-11-17",
            "count": 3
          },
          {
            "date": "2025-11-18",
            "count": 1
          },
          {
            "date": "2025-11-19",
            "count": 2
          },
          {
            "date": "2025-11-20",
            "count": 4
          },
          {
            "date": "2025-11-21",
            "count": 1
          },
          {
            "date": "2025-11-23",
            "count": 2
          },
          {
            "date": "2025-11-24",
            "count": 5
          },
          {
            "date": "2025-11-25",
            "count": 1
          },
          {
            "date": "2025-11-27",
            "count": 6
          },
          {
            "date": "2025-11-28",
            "count": 3
          },
          {
            "date": "2025-11-29",
            "count": 1
          },
          {
            "date": "2025-11-30",
            "count": 2
          },
          {
            "date": "2025-12-01",
            "count": 4
          },
          {
            "date": "2025-12-02",
            "count": 3
          },
          {
            "date": "2025-12-03",
            "count": 1
          },
          {
            "date": "2025-12-04",
            "count": 2
          },
          {
            "date": "2025-12-05",
            "count": 3
          },
          {
            "date": "2025-12-06",
            "count": 2
          },
          {
            "date": "2025-12-07",
            "count": 3
          },
          {
            "date": "2025-12-08",
            "count": 3
          },
          {
            "date": "2025-12-10",
            "count": 1
          },
          {
            "date": "2025-12-11",
            "count": 2
          },
          {
            "date": "2025-12-12",
            "count": 1
          },
          {
            "date": "2025-12-13",
            "count": 2
          },
          {
            "date": "2025-12-15",
            "count": 3
          },
          {
            "date": "2025-12-16",
            "count": 2
          },
          {
            "date": "2025-12-17",
            "count": 3
          },
          {
            "date": "2025-12-18",
            "count": 2
          },
          {
            "date": "2025-12-19",
            "count": 2
          },
          {
            "date": "2025-12-21",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 2
          },
          {
            "date": "2025-12-25",
            "count": 1
          },
          {
            "date": "2025-12-26",
            "count": 1
          },
          {
            "date": "2025-12-27",
            "count": 1
          },
          {
            "date": "2025-12-28",
            "count": 2
          },
          {
            "date": "2025-12-29",
            "count": 1
          },
          {
            "date": "2025-12-30",
            "count": 2
          },
          {
            "date": "2025-12-31",
            "count": 1
          },
          {
            "date": "2026-01-01",
            "count": 2
          },
          {
            "date": "2026-01-02",
            "count": 2
          },
          {
            "date": "2026-01-03",
            "count": 1
          },
          {
            "date": "2026-01-04",
            "count": 1
          },
          {
            "date": "2026-01-05",
            "count": 2
          },
          {
            "date": "2026-01-06",
            "count": 2
          },
          {
            "date": "2026-01-07",
            "count": 3
          },
          {
            "date": "2026-01-08",
            "count": 3
          },
          {
            "date": "2026-01-09",
            "count": 1
          },
          {
            "date": "2026-01-10",
            "count": 2
          },
          {
            "date": "2026-01-11",
            "count": 2
          },
          {
            "date": "2026-01-12",
            "count": 1
          },
          {
            "date": "2026-01-13",
            "count": 2
          },
          {
            "date": "2026-01-14",
            "count": 4
          },
          {
            "date": "2026-01-15",
            "count": 1
          },
          {
            "date": "2026-01-16",
            "count": 1
          },
          {
            "date": "2026-01-17",
            "count": 1
          },
          {
            "date": "2026-01-20",
            "count": 2
          },
          {
            "date": "2026-01-21",
            "count": 3
          },
          {
            "date": "2026-01-22",
            "count": 1
          },
          {
            "date": "2026-01-23",
            "count": 1
          },
          {
            "date": "2026-01-24",
            "count": 2
          },
          {
            "date": "2026-01-26",
            "count": 3
          },
          {
            "date": "2026-01-27",
            "count": 5
          },
          {
            "date": "2026-01-28",
            "count": 1
          },
          {
            "date": "2026-01-29",
            "count": 1
          },
          {
            "date": "2026-01-30",
            "count": 2
          },
          {
            "date": "2026-01-31",
            "count": 2
          },
          {
            "date": "2026-02-01",
            "count": 5
          },
          {
            "date": "2026-02-02",
            "count": 2
          },
          {
            "date": "2026-02-03",
            "count": 4
          },
          {
            "date": "2026-02-04",
            "count": 4
          },
          {
            "date": "2026-02-05",
            "count": 1
          },
          {
            "date": "2026-02-06",
            "count": 1
          },
          {
            "date": "2026-02-07",
            "count": 4
          },
          {
            "date": "2026-02-08",
            "count": 1
          },
          {
            "date": "2026-02-09",
            "count": 1
          },
          {
            "date": "2026-02-10",
            "count": 4
          },
          {
            "date": "2026-02-11",
            "count": 4
          },
          {
            "date": "2026-02-12",
            "count": 1
          },
          {
            "date": "2026-02-13",
            "count": 1
          },
          {
            "date": "2026-02-14",
            "count": 2
          },
          {
            "date": "2026-02-15",
            "count": 1
          },
          {
            "date": "2026-02-16",
            "count": 1
          },
          {
            "date": "2026-02-17",
            "count": 2
          },
          {
            "date": "2026-02-18",
            "count": 2
          },
          {
            "date": "2026-02-19",
            "count": 2
          },
          {
            "date": "2026-02-20",
            "count": 4
          },
          {
            "date": "2026-02-21",
            "count": 3
          },
          {
            "date": "2026-02-22",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 3
          },
          {
            "date": "2026-02-24",
            "count": 4
          },
          {
            "date": "2026-02-26",
            "count": 3
          },
          {
            "date": "2026-02-27",
            "count": 2
          },
          {
            "date": "2026-02-28",
            "count": 3
          },
          {
            "date": "2026-03-01",
            "count": 1
          },
          {
            "date": "2026-03-02",
            "count": 6
          },
          {
            "date": "2026-03-04",
            "count": 4
          },
          {
            "date": "2026-03-05",
            "count": 3
          },
          {
            "date": "2026-03-06",
            "count": 1
          },
          {
            "date": "2026-03-07",
            "count": 1
          },
          {
            "date": "2026-03-09",
            "count": 2
          },
          {
            "date": "2026-03-10",
            "count": 2
          },
          {
            "date": "2026-03-11",
            "count": 2
          },
          {
            "date": "2026-03-12",
            "count": 1
          },
          {
            "date": "2026-03-13",
            "count": 3
          },
          {
            "date": "2026-03-14",
            "count": 3
          },
          {
            "date": "2026-03-17",
            "count": 3
          },
          {
            "date": "2026-03-18",
            "count": 3
          },
          {
            "date": "2026-03-19",
            "count": 1
          },
          {
            "date": "2026-03-21",
            "count": 1
          },
          {
            "date": "2026-03-22",
            "count": 3
          },
          {
            "date": "2026-03-23",
            "count": 1
          },
          {
            "date": "2026-03-25",
            "count": 1
          },
          {
            "date": "2026-03-26",
            "count": 4
          },
          {
            "date": "2026-03-27",
            "count": 1
          },
          {
            "date": "2026-03-29",
            "count": 1
          },
          {
            "date": "2026-03-30",
            "count": 1
          },
          {
            "date": "2026-03-31",
            "count": 1
          },
          {
            "date": "2026-04-01",
            "count": 4
          },
          {
            "date": "2026-04-02",
            "count": 3
          },
          {
            "date": "2026-04-03",
            "count": 5
          },
          {
            "date": "2026-04-04",
            "count": 1
          },
          {
            "date": "2026-04-05",
            "count": 2
          },
          {
            "date": "2026-04-06",
            "count": 6
          },
          {
            "date": "2026-04-07",
            "count": 1
          },
          {
            "date": "2026-04-08",
            "count": 2
          },
          {
            "date": "2026-04-09",
            "count": 1
          },
          {
            "date": "2026-04-10",
            "count": 5
          },
          {
            "date": "2026-04-11",
            "count": 3
          },
          {
            "date": "2026-04-12",
            "count": 2
          },
          {
            "date": "2026-04-13",
            "count": 1
          },
          {
            "date": "2026-04-14",
            "count": 3
          },
          {
            "date": "2026-04-15",
            "count": 1
          },
          {
            "date": "2026-04-16",
            "count": 1
          },
          {
            "date": "2026-04-19",
            "count": 2
          },
          {
            "date": "2026-04-20",
            "count": 3
          },
          {
            "date": "2026-04-21",
            "count": 3
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-04-23",
            "count": 3
          },
          {
            "date": "2026-04-24",
            "count": 2
          },
          {
            "date": "2026-04-25",
            "count": 2
          },
          {
            "date": "2026-04-26",
            "count": 1
          },
          {
            "date": "2026-04-27",
            "count": 1
          },
          {
            "date": "2026-04-28",
            "count": 2
          },
          {
            "date": "2026-04-29",
            "count": 1
          },
          {
            "date": "2026-04-30",
            "count": 1
          },
          {
            "date": "2026-05-01",
            "count": 2
          },
          {
            "date": "2026-05-02",
            "count": 1
          },
          {
            "date": "2026-05-03",
            "count": 5
          },
          {
            "date": "2026-05-05",
            "count": 1
          },
          {
            "date": "2026-05-06",
            "count": 2
          },
          {
            "date": "2026-05-07",
            "count": 2
          },
          {
            "date": "2026-05-08",
            "count": 1
          },
          {
            "date": "2026-05-09",
            "count": 2
          },
          {
            "date": "2026-05-10",
            "count": 2
          },
          {
            "date": "2026-05-11",
            "count": 3
          },
          {
            "date": "2026-05-13",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 3
          },
          {
            "date": "2026-05-15",
            "count": 3
          },
          {
            "date": "2026-05-16",
            "count": 1
          },
          {
            "date": "2026-05-17",
            "count": 1
          },
          {
            "date": "2026-05-19",
            "count": 2
          },
          {
            "date": "2026-05-20",
            "count": 3
          },
          {
            "date": "2026-05-21",
            "count": 7
          },
          {
            "date": "2026-05-22",
            "count": 4
          },
          {
            "date": "2026-05-24",
            "count": 1
          },
          {
            "date": "2026-05-26",
            "count": 2
          },
          {
            "date": "2026-05-27",
            "count": 4
          },
          {
            "date": "2026-05-28",
            "count": 3
          },
          {
            "date": "2026-05-29",
            "count": 3
          },
          {
            "date": "2026-05-30",
            "count": 1
          },
          {
            "date": "2026-05-31",
            "count": 2
          },
          {
            "date": "2026-06-01",
            "count": 5
          },
          {
            "date": "2026-06-02",
            "count": 2
          },
          {
            "date": "2026-06-03",
            "count": 3
          },
          {
            "date": "2026-06-04",
            "count": 6
          },
          {
            "date": "2026-06-06",
            "count": 1
          },
          {
            "date": "2026-06-08",
            "count": 1
          },
          {
            "date": "2026-06-09",
            "count": 1
          },
          {
            "date": "2026-06-10",
            "count": 1
          },
          {
            "date": "2026-06-11",
            "count": 3
          },
          {
            "date": "2026-06-12",
            "count": 1
          },
          {
            "date": "2026-06-13",
            "count": 3
          },
          {
            "date": "2026-06-14",
            "count": 1
          },
          {
            "date": "2026-06-15",
            "count": 6
          },
          {
            "date": "2026-06-16",
            "count": 2
          },
          {
            "date": "2026-06-17",
            "count": 3
          },
          {
            "date": "2026-06-18",
            "count": 2
          },
          {
            "date": "2026-06-19",
            "count": 1
          },
          {
            "date": "2026-06-20",
            "count": 2
          },
          {
            "date": "2026-06-21",
            "count": 1
          },
          {
            "date": "2026-06-22",
            "count": 2
          },
          {
            "date": "2026-06-23",
            "count": 1
          },
          {
            "date": "2026-06-24",
            "count": 4
          },
          {
            "date": "2026-06-25",
            "count": 1
          },
          {
            "date": "2026-06-26",
            "count": 1
          },
          {
            "date": "2026-06-27",
            "count": 2
          },
          {
            "date": "2026-06-28",
            "count": 3
          },
          {
            "date": "2026-07-01",
            "count": 1
          },
          {
            "date": "2026-07-02",
            "count": 1
          },
          {
            "date": "2026-07-04",
            "count": 2
          },
          {
            "date": "2026-07-05",
            "count": 1
          },
          {
            "date": "2026-07-06",
            "count": 2
          },
          {
            "date": "2026-07-07",
            "count": 2
          },
          {
            "date": "2026-07-08",
            "count": 5
          },
          {
            "date": "2026-07-09",
            "count": 2
          },
          {
            "date": "2026-07-10",
            "count": 2
          },
          {
            "date": "2026-07-11",
            "count": 1
          },
          {
            "date": "2026-07-13",
            "count": 1
          },
          {
            "date": "2026-07-14",
            "count": 1
          },
          {
            "date": "2026-07-15",
            "count": 2
          },
          {
            "date": "2026-07-16",
            "count": 2
          },
          {
            "date": "2026-07-17",
            "count": 4
          },
          {
            "date": "2026-07-18",
            "count": 2
          },
          {
            "date": "2026-07-19",
            "count": 3
          },
          {
            "date": "2026-07-20",
            "count": 2
          },
          {
            "date": "2026-07-21",
            "count": 4
          },
          {
            "date": "2026-07-22",
            "count": 6
          },
          {
            "date": "2026-07-23",
            "count": 3
          },
          {
            "date": "2026-07-24",
            "count": 1
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 1437
      },
      "star_history": null,
      "open_issues_and_prs": 307
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": true,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "cli/tsconfig.json",
        "client/tsconfig.json",
        "server/tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 58543,
      "source_files_sampled": 143,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "AGENTS.md",
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 1429
    },
    "dependencies": {
      "manifests": [
        "cli/package.json",
        "client/package.json",
        "package.json",
        "server/package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "@hono/node-server",
            "direct": false,
            "version": "1.19.14",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.9,
            "advisory_ids": [
              "GHSA-frvp-7c67-39w9"
            ],
            "fixed_version": "2.0.5",
            "advisory_count": 1,
            "oldest_advisory_days": 2
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "moderate": 1
        },
        "advisory_count": 1,
        "affected_count": 1,
        "assessed_count": 255,
        "malicious_count": 0,
        "assessed_package": "npm:@modelcontextprotocol/inspector@1.0.0",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@modelcontextprotocol/sdk",
          "manifest": "cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.25.2"
        },
        {
          "name": "commander",
          "manifest": "cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^13.1.0"
        },
        {
          "name": "express",
          "manifest": "cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.2.1"
        },
        {
          "name": "spawn-rx",
          "manifest": "cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.1.2"
        },
        {
          "name": "@mcp-ui/client",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.0.0"
        },
        {
          "name": "@modelcontextprotocol/ext-apps",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.0"
        },
        {
          "name": "@modelcontextprotocol/sdk",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.25.2"
        },
        {
          "name": "@radix-ui/react-checkbox",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.1.4"
        },
        {
          "name": "@radix-ui/react-dialog",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.1.3"
        },
        {
          "name": "@radix-ui/react-icons",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.3.0"
        },
        {
          "name": "@radix-ui/react-label",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.1.0"
        },
        {
          "name": "@radix-ui/react-popover",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.1.3"
        },
        {
          "name": "@radix-ui/react-select",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.1.2"
        },
        {
          "name": "@radix-ui/react-slot",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.1.0"
        },
        {
          "name": "@radix-ui/react-switch",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.2.6"
        },
        {
          "name": "@radix-ui/react-tabs",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.1.1"
        },
        {
          "name": "@radix-ui/react-toast",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.2.6"
        },
        {
          "name": "@radix-ui/react-tooltip",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.1.8"
        },
        {
          "name": "ajv",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.12.6"
        },
        {
          "name": "class-variance-authority",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.7.0"
        },
        {
          "name": "clsx",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.1.1"
        },
        {
          "name": "cmdk",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.4"
        },
        {
          "name": "lucide-react",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.523.0"
        },
        {
          "name": "pkce-challenge",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.1.0"
        },
        {
          "name": "prismjs",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.30.0"
        },
        {
          "name": "react",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^18.3.1"
        },
        {
          "name": "react-dom",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^18.3.1"
        },
        {
          "name": "react-simple-code-editor",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.14.1"
        },
        {
          "name": "serve-handler",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.1.6"
        },
        {
          "name": "tailwind-merge",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.5.3"
        },
        {
          "name": "zod",
          "manifest": "client/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.25.76"
        },
        {
          "name": "@modelcontextprotocol/inspector-cli",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.0"
        },
        {
          "name": "@modelcontextprotocol/inspector-client",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.0"
        },
        {
          "name": "@modelcontextprotocol/inspector-server",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.0"
        },
        {
          "name": "@modelcontextprotocol/sdk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.25.2"
        },
        {
          "name": "concurrently",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^9.2.0"
        },
        {
          "name": "node-fetch",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.3.2"
        },
        {
          "name": "open",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^10.2.0"
        },
        {
          "name": "shell-quote",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.8.4"
        },
        {
          "name": "spawn-rx",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.1.2"
        },
        {
          "name": "ts-node",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^10.9.2"
        },
        {
          "name": "zod",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.25.76"
        },
        {
          "name": "@modelcontextprotocol/sdk",
          "manifest": "server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.25.2"
        },
        {
          "name": "cors",
          "manifest": "server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.8.5"
        },
        {
          "name": "express",
          "manifest": "server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.1.0"
        },
        {
          "name": "shell-quote",
          "manifest": "server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.8.4"
        },
        {
          "name": "shx",
          "manifest": "server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.3.4"
        },
        {
          "name": "spawn-rx",
          "manifest": "server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.1.2"
        },
        {
          "name": "ws",
          "manifest": "server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.18.0"
        },
        {
          "name": "zod",
          "manifest": "server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.25.76"
        },
        {
          "name": "express-rate-limit",
          "manifest": "server/package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.2.1"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@mcp-ui/client",
            "direct": true,
            "version": "6.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@mcp-ui/client",
            "direct": true,
            "version": "^6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@modelcontextprotocol/ext-apps",
            "direct": true,
            "version": "1.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "@modelcontextprotocol/ext-apps",
            "direct": true,
            "version": "^1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@modelcontextprotocol/inspector-cli",
            "direct": true,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@modelcontextprotocol/inspector-client",
            "direct": true,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@modelcontextprotocol/inspector-server",
            "direct": true,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@modelcontextprotocol/sdk",
            "direct": true,
            "version": "1.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@modelcontextprotocol/sdk",
            "direct": true,
            "version": "^1.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-checkbox",
            "direct": true,
            "version": "1.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-checkbox",
            "direct": true,
            "version": "^1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-dialog",
            "direct": true,
            "version": "1.1.19",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-dialog",
            "direct": true,
            "version": "^1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-icons",
            "direct": true,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-icons",
            "direct": true,
            "version": "^1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-label",
            "direct": true,
            "version": "2.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-label",
            "direct": true,
            "version": "^2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-popover",
            "direct": true,
            "version": "1.1.19",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-popover",
            "direct": true,
            "version": "^1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-select",
            "direct": true,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-select",
            "direct": true,
            "version": "^2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-slot",
            "direct": true,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-slot",
            "direct": true,
            "version": "^1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-switch",
            "direct": true,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-switch",
            "direct": true,
            "version": "^1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-tabs",
            "direct": true,
            "version": "1.1.17",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-tabs",
            "direct": true,
            "version": "^1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-toast",
            "direct": true,
            "version": "1.2.19",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-toast",
            "direct": true,
            "version": "^1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-tooltip",
            "direct": true,
            "version": "1.2.12",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-tooltip",
            "direct": true,
            "version": "^1.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": true,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": true,
            "version": "8.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": true,
            "version": "^6.12.6",
            "ecosystem": "npm"
          },
          {
            "name": "class-variance-authority",
            "direct": true,
            "version": "0.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "class-variance-authority",
            "direct": true,
            "version": "^0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "clsx",
            "direct": true,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "clsx",
            "direct": true,
            "version": "^2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "cmdk",
            "direct": true,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "cmdk",
            "direct": true,
            "version": "^1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "13.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "14.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "^13.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "concurrently",
            "direct": true,
            "version": "9.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "cors",
            "direct": true,
            "version": "2.8.6",
            "ecosystem": "npm"
          },
          {
            "name": "cors",
            "direct": true,
            "version": "^2.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "express",
            "direct": true,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "express",
            "direct": true,
            "version": "^5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "express",
            "direct": true,
            "version": "^5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "express-rate-limit",
            "direct": true,
            "version": "8.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "express-rate-limit",
            "direct": true,
            "version": "^8.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "lucide-react",
            "direct": true,
            "version": "0.523.0",
            "ecosystem": "npm"
          },
          {
            "name": "lucide-react",
            "direct": true,
            "version": "^0.523.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-fetch",
            "direct": true,
            "version": "3.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "open",
            "direct": true,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pkce-challenge",
            "direct": true,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "pkce-challenge",
            "direct": true,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pkce-challenge",
            "direct": true,
            "version": "^4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "prismjs",
            "direct": true,
            "version": "1.30.0",
            "ecosystem": "npm"
          },
          {
            "name": "prismjs",
            "direct": true,
            "version": "^1.30.0",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": true,
            "version": "18.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": true,
            "version": "^18.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": true,
            "version": "18.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": true,
            "version": "^18.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-simple-code-editor",
            "direct": true,
            "version": "0.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-simple-code-editor",
            "direct": true,
            "version": "^0.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "serve-handler",
            "direct": true,
            "version": "6.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "serve-handler",
            "direct": true,
            "version": "^6.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "shell-quote",
            "direct": true,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "shell-quote",
            "direct": true,
            "version": "^1.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "shx",
            "direct": true,
            "version": "0.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "shx",
            "direct": true,
            "version": "^0.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "spawn-rx",
            "direct": true,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "spawn-rx",
            "direct": true,
            "version": "^5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "tailwind-merge",
            "direct": true,
            "version": "2.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "tailwind-merge",
            "direct": true,
            "version": "^2.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "ts-node",
            "direct": true,
            "version": "10.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": true,
            "version": "8.21.1",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": true,
            "version": "^8.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": true,
            "version": "3.25.76",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": true,
            "version": "^3.25.76",
            "ecosystem": "npm"
          },
          {
            "name": "@adobe/css-tools",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@alloc/quick-lru",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/css-color",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-async-generators",
            "direct": false,
            "version": "7.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-bigint",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-class-properties",
            "direct": false,
            "version": "7.12.13",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-class-static-block",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-import-attributes",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-import-meta",
            "direct": false,
            "version": "7.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-json-strings",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-jsx",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-logical-assignment-operators",
            "direct": false,
            "version": "7.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-nullish-coalescing-operator",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-numeric-separator",
            "direct": false,
            "version": "7.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-object-rest-spread",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-optional-catch-binding",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-optional-chaining",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-private-property-in-object",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-top-level-await",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-typescript",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-react-jsx-self",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-react-jsx-source",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@bcoe/v8-coverage",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@cspotcode/source-map-support",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/color-helpers",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-calc",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-color-parser",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-parser-algorithms",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-tokenizer",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-array",
            "direct": false,
            "version": "0.21.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "3.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "9.39.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "^9.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "2.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/core",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/dom",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/react-dom",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/utils",
            "direct": false,
            "version": "0.2.12",
            "ecosystem": "npm"
          },
          {
            "name": "@hono/node-server",
            "direct": false,
            "version": "1.19.14",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/core",
            "direct": false,
            "version": "0.19.2",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/node",
            "direct": false,
            "version": "0.16.8",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/types",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@istanbuljs/load-nyc-config",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@istanbuljs/schema",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/console",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/core",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/environment",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/environment",
            "direct": false,
            "version": "30.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/environment-jsdom-abstract",
            "direct": false,
            "version": "30.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/expect",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/expect-utils",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/fake-timers",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/fake-timers",
            "direct": false,
            "version": "30.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/globals",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/pattern",
            "direct": false,
            "version": "30.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/reporters",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/schemas",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/schemas",
            "direct": false,
            "version": "30.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/source-map",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/test-result",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/test-sequencer",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/transform",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/types",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/types",
            "direct": false,
            "version": "30.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/remapping",
            "direct": false,
            "version": "2.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.scandir",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.walk",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@playwright/test",
            "direct": false,
            "version": "1.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/number",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/primitive",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-arrow",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-collection",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-compose-refs",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-context",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-direction",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-dismissable-layer",
            "direct": false,
            "version": "1.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-focus-guards",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-focus-scope",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-id",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-popper",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-portal",
            "direct": false,
            "version": "1.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-presence",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-primitive",
            "direct": false,
            "version": "2.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-roving-focus",
            "direct": false,
            "version": "1.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-callback-ref",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-controllable-state",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-effect-event",
            "direct": false,
            "version": "0.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-is-hydrated",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-layout-effect",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-previous",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-rect",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-size",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-visually-hidden",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/rect",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.0-rc.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@sinclair/typebox",
            "direct": false,
            "version": "0.27.12",
            "ecosystem": "npm"
          },
          {
            "name": "@sinclair/typebox",
            "direct": false,
            "version": "0.34.52",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/commons",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/fake-timers",
            "direct": false,
            "version": "10.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/fake-timers",
            "direct": false,
            "version": "15.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/dom",
            "direct": false,
            "version": "10.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/jest-dom",
            "direct": false,
            "version": "6.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/jest-dom",
            "direct": false,
            "version": "^6.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/react",
            "direct": false,
            "version": "16.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/react",
            "direct": false,
            "version": "^16.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tootallnate/once",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node10",
            "direct": false,
            "version": "1.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node12",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node14",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node16",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/aria-query",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__core",
            "direct": false,
            "version": "7.20.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__generator",
            "direct": false,
            "version": "7.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__template",
            "direct": false,
            "version": "7.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__traverse",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/body-parser",
            "direct": false,
            "version": "1.19.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/connect",
            "direct": false,
            "version": "3.4.38",
            "ecosystem": "npm"
          },
          {
            "name": "@types/cors",
            "direct": false,
            "version": "2.8.19",
            "ecosystem": "npm"
          },
          {
            "name": "@types/cors",
            "direct": false,
            "version": "^2.8.19",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/express",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/express",
            "direct": false,
            "version": "^5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/express-serve-static-core",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/graceful-fs",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/http-errors",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/istanbul-lib-coverage",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/istanbul-lib-report",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/istanbul-reports",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jest",
            "direct": false,
            "version": "29.5.14",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jest",
            "direct": false,
            "version": "^29.5.14",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsdom",
            "direct": false,
            "version": "20.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsdom",
            "direct": false,
            "version": "21.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "22.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "^22.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/prismjs",
            "direct": false,
            "version": "1.26.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/prismjs",
            "direct": false,
            "version": "^1.26.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/prop-types",
            "direct": false,
            "version": "15.7.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/qs",
            "direct": false,
            "version": "6.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/range-parser",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react",
            "direct": false,
            "version": "18.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react",
            "direct": false,
            "version": "^18.3.23",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react-dom",
            "direct": false,
            "version": "18.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react-dom",
            "direct": false,
            "version": "^18.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/send",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/serve-handler",
            "direct": false,
            "version": "6.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/serve-handler",
            "direct": false,
            "version": "^6.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/serve-static",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/shell-quote",
            "direct": false,
            "version": "1.7.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/shell-quote",
            "direct": false,
            "version": "^1.7.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/stack-utils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/tough-cookie",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ws",
            "direct": false,
            "version": "8.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ws",
            "direct": false,
            "version": "^8.5.12",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yargs",
            "direct": false,
            "version": "17.0.35",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yargs-parser",
            "direct": false,
            "version": "21.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-react",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-react",
            "direct": false,
            "version": "^5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "abab",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "accepts",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-globals",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "8.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "7.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-formats",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "7.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "any-promise",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "anymatch",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "arg",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "arg",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "aria-hidden",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "aria-query",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "asynckit",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "autoprefixer",
            "direct": false,
            "version": "10.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "autoprefixer",
            "direct": false,
            "version": "^10.4.20",
            "ecosystem": "npm"
          },
          {
            "name": "babel-jest",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-istanbul",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-jest-hoist",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "babel-preset-current-node-syntax",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-preset-jest",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.43",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.16",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "bs-logger",
            "direct": false,
            "version": "0.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "bser",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "bundle-name",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bound",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase-css",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001806",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "char-regex",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "ci-info",
            "direct": false,
            "version": "3.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "ci-info",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "cjs-module-lexer",
            "direct": false,
            "version": "1.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "cli-cursor",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-truncate",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "co",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "co",
            "direct": false,
            "version": "^4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "collect-v8-coverage",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "colorette",
            "direct": false,
            "version": "2.0.20",
            "ecosystem": "npm"
          },
          {
            "name": "combined-stream",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "content-disposition",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "content-disposition",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "cookie-signature",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "create-jest",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "create-require",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "css.escape",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "cssesc",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cssom",
            "direct": false,
            "version": "0.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "cssom",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "cssstyle",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "cssstyle",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "data-uri-to-buffer",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "data-urls",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "data-urls",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decimal.js",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "dedent",
            "direct": false,
            "version": "1.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "deepmerge",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "default-browser",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "default-browser-id",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "define-lazy-prop",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "delayed-stream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "depd",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dequal",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "detect-newline",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-node-es",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "didyoumean",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "diff-sequences",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "dlv",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "dom-accessibility-api",
            "direct": false,
            "version": "0.5.16",
            "ecosystem": "npm"
          },
          {
            "name": "dom-accessibility-api",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "domexception",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ee-first",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.393",
            "ecosystem": "npm"
          },
          {
            "name": "emittery",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "encodeurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "environment",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-html",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escodegen",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "9.39.5",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "^9.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react-hooks",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react-hooks",
            "direct": false,
            "version": "^5.1.0-rc.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react-refresh",
            "direct": false,
            "version": "0.4.26",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react-refresh",
            "direct": false,
            "version": "^0.4.12",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "10.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "etag",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "eventemitter3",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "eventsource",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "eventsource-parser",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "exit",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "expect",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-glob",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "fb-watchman",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "fetch-blob",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "finalhandler",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "formdata-polyfill",
            "direct": false,
            "version": "4.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "forwarded",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fraction.js",
            "direct": false,
            "version": "5.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "fresh",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-east-asian-width",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-nonce",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-package-type",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "13.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "15.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "^15.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "handlebars",
            "direct": false,
            "version": "4.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "hono",
            "direct": false,
            "version": "4.12.30",
            "ecosystem": "npm"
          },
          {
            "name": "html-encoding-sniffer",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "html-encoding-sniffer",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "html-escaper",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-agent",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-agent",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "husky",
            "direct": false,
            "version": "9.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "import-local",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "interpret",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "ip-address",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ipaddr.js",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-binary-path",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.16.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-docker",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-generator-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-inside-container",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-potential-custom-element-name",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-promise",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-wsl",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-coverage",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-instrument",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-instrument",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-report",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-source-maps",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-reports",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest",
            "direct": false,
            "version": "^29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-changed-files",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-circus",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-cli",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-config",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-diff",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-docblock",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-each",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-environment-jsdom",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-environment-jsdom",
            "direct": false,
            "version": "30.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "jest-environment-jsdom",
            "direct": false,
            "version": "^29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-environment-node",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-fixed-jsdom",
            "direct": false,
            "version": "0.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "jest-fixed-jsdom",
            "direct": false,
            "version": "^0.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "jest-get-type",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "jest-haste-map",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-leak-detector",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-matcher-utils",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-message-util",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-message-util",
            "direct": false,
            "version": "30.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "jest-mock",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-mock",
            "direct": false,
            "version": "30.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "jest-pnp-resolver",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jest-regex-util",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "jest-regex-util",
            "direct": false,
            "version": "30.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-resolve",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-resolve-dependencies",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-runner",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-runtime",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-snapshot",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-util",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-util",
            "direct": false,
            "version": "30.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "jest-validate",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-watcher",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-worker",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "1.21.7",
            "ecosystem": "npm"
          },
          {
            "name": "jose",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "3.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsdom",
            "direct": false,
            "version": "20.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsdom",
            "direct": false,
            "version": "26.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-typed",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "kleur",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "leven",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "lilconfig",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "lint-staged",
            "direct": false,
            "version": "16.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "listr2",
            "direct": false,
            "version": "9.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.memoize",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "log-update",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "loose-envify",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "10.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "lz-string",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "make-error",
            "direct": false,
            "version": "1.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "makeerror",
            "direct": false,
            "version": "1.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "media-typer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-descriptors",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.18",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.35",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-function",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "min-indent",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mz",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.16",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "neo-async",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "node-domexception",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-int64",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.51",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "nwsapi",
            "direct": false,
            "version": "2.2.24",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-hash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "on-finished",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-try",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "7.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "parseurl",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-inside",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "8.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "pirates",
            "direct": false,
            "version": "4.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-dir",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "playwright",
            "direct": false,
            "version": "1.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "playwright-core",
            "direct": false,
            "version": "1.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.19",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "^8.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-import",
            "direct": false,
            "version": "15.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-js",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-load-config",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-nested",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-selector-parser",
            "direct": false,
            "version": "6.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-value-parser",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.9.5",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-format",
            "direct": false,
            "version": "27.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-format",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-format",
            "direct": false,
            "version": "30.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "prompts",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-addr",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "psl",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pure-rand",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.15.3",
            "ecosystem": "npm"
          },
          {
            "name": "querystringify",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "range-parser",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "range-parser",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "raw-body",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "17.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "18.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "19.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "react-refresh",
            "direct": false,
            "version": "0.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-remove-scroll",
            "direct": false,
            "version": "2.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "react-remove-scroll-bar",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "react-style-singleton",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "read-cache",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "rechoir",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "redent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "requires-port",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.12",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-cwd",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve.exports",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "restore-cursor",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "6.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "router",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "rrweb-cssom",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "run-applescript",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "rxjs",
            "direct": false,
            "version": "7.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "saxes",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "scheduler",
            "direct": false,
            "version": "0.23.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "send",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "serve-static",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "setprototypeof",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shelljs",
            "direct": false,
            "version": "0.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-list",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-map",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-weakmap",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "sisteransi",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": false,
            "version": "0.5.13",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "stack-utils",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-argv",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-length",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "8.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-indent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "sucrase",
            "direct": false,
            "version": "3.35.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "8.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-preserve-symlinks-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "symbol-tree",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": false,
            "version": "3.4.19",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": false,
            "version": "^3.4.13",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss-animate",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss-animate",
            "direct": false,
            "version": "^1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "test-exclude",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "thenify",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "thenify-all",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tldts",
            "direct": false,
            "version": "6.1.86",
            "ecosystem": "npm"
          },
          {
            "name": "tldts-core",
            "direct": false,
            "version": "6.1.86",
            "ecosystem": "npm"
          },
          {
            "name": "tmpl",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "toidentifier",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tough-cookie",
            "direct": false,
            "version": "4.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "tough-cookie",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "tree-kill",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-interface-checker",
            "direct": false,
            "version": "0.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "ts-jest",
            "direct": false,
            "version": "29.4.11",
            "ecosystem": "npm"
          },
          {
            "name": "ts-jest",
            "direct": false,
            "version": "^29.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "4.23.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "^4.19.0",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "^4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-detect",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.21.3",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "4.41.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-is",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "^5.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "^5.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "typescript-eslint",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript-eslint",
            "direct": false,
            "version": "^8.38.0",
            "ecosystem": "npm"
          },
          {
            "name": "uglify-js",
            "direct": false,
            "version": "3.19.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "unpipe",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "url-parse",
            "direct": false,
            "version": "1.5.10",
            "ecosystem": "npm"
          },
          {
            "name": "use-callback-ref",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "use-sidecar",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "v8-compile-cache-lib",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "v8-to-istanbul",
            "direct": false,
            "version": "9.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "vary",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "7.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "^7.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "^4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "w3c-xmlserializer",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "w3c-xmlserializer",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "walker",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "web-streams-polyfill",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-encoding",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-encoding",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "14.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "wordwrap",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "9.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "write-file-atomic",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "wsl-utils",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "xml-name-validator",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "xml-name-validator",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "xmlchars",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "17.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yn",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "zod-to-json-schema",
            "direct": false,
            "version": "3.25.2",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 920,
        "direct_count": 82,
        "indirect_count": 838
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 134,
        "merged_prs": 625,
        "open_issues": 173,
        "closed_ratio": 0.779,
        "closed_issues": 611,
        "closed_unmerged_prs": 196
      },
      "bus_factor": 4,
      "bot_contributors": 5,
      "top_contributors": [
        {
          "type": "User",
          "login": "cliffhall",
          "commits": 415,
          "avatar_url": "https://avatars.githubusercontent.com/u/871933?v=4"
        },
        {
          "type": "User",
          "login": "olaservo",
          "commits": 413,
          "avatar_url": "https://avatars.githubusercontent.com/u/16480113?v=4"
        },
        {
          "type": "User",
          "login": "jspahrsummers",
          "commits": 135,
          "avatar_url": "https://avatars.githubusercontent.com/u/432536?v=4"
        },
        {
          "type": "User",
          "login": "ashwin-ant",
          "commits": 133,
          "avatar_url": "https://avatars.githubusercontent.com/u/178951676?v=4"
        },
        {
          "type": "User",
          "login": "richardkmichael",
          "commits": 49,
          "avatar_url": "https://avatars.githubusercontent.com/u/364390?v=4"
        },
        {
          "type": "User",
          "login": "msabramo",
          "commits": 49,
          "avatar_url": "https://avatars.githubusercontent.com/u/305268?v=4"
        },
        {
          "type": "User",
          "login": "felixweinberger",
          "commits": 47,
          "avatar_url": "https://avatars.githubusercontent.com/u/3823880?v=4"
        },
        {
          "type": "User",
          "login": "jerome3o-anthropic",
          "commits": 42,
          "avatar_url": "https://avatars.githubusercontent.com/u/156136903?v=4"
        },
        {
          "type": "User",
          "login": "pulkitsharma07",
          "commits": 27,
          "avatar_url": "https://avatars.githubusercontent.com/u/4774658?v=4"
        },
        {
          "type": "User",
          "login": "pcarleton",
          "commits": 27,
          "avatar_url": "https://avatars.githubusercontent.com/u/704663?v=4"
        }
      ],
      "contributors_sampled": 95,
      "top_contributor_share": 0.21
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "claude.yml",
        "cli_tests.yml",
        "e2e_tests.yml",
        "main.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [
        "eslint.config.js"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 5,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "25 out of 25 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 6,
            "reason": "Found 13/21 approved changesets -- score normalized to 6",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 88 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 9,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "18 commit(s) and 25 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 2,
            "reason": "dependency not pinned by hash detected -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 6,
            "reason": "SAST tool is not run on all commits -- score normalized to 6",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 7,
            "reason": "3 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "ac3c1a122a5e072a200c99869fc0cd8bfa660ece",
        "ran_at": "2026-07-24T07:15:41Z",
        "aggregate_score": 6.9,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-24T03:15:41Z",
      "oldest_open_prs": [
        {
          "number": 373,
          "created_at": "2025-05-03T20:39:35Z",
          "last_comment_at": "2025-07-14T17:37:45Z",
          "last_comment_author": "Kavyapriya-1804"
        },
        {
          "number": 565,
          "created_at": "2025-06-26T18:12:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 585,
          "created_at": "2025-07-07T01:20:21Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 618,
          "created_at": "2025-07-13T23:26:22Z",
          "last_comment_at": "2025-07-28T01:45:51Z",
          "last_comment_author": "jjjuk"
        },
        {
          "number": 631,
          "created_at": "2025-07-19T16:20:31Z",
          "last_comment_at": "2025-09-01T03:35:34Z",
          "last_comment_author": "claude"
        },
        {
          "number": 632,
          "created_at": "2025-07-21T00:22:05Z",
          "last_comment_at": "2025-08-14T02:11:48Z",
          "last_comment_author": "olaservo"
        },
        {
          "number": 642,
          "created_at": "2025-07-24T17:18:06Z",
          "last_comment_at": "2025-07-24T18:53:53Z",
          "last_comment_author": "kyle-leonhard"
        },
        {
          "number": 646,
          "created_at": "2025-07-25T20:23:29Z",
          "last_comment_at": "2026-03-19T13:50:06Z",
          "last_comment_author": "wowkin2"
        },
        {
          "number": 667,
          "created_at": "2025-08-01T18:13:09Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 671,
          "created_at": "2025-08-01T20:08:17Z",
          "last_comment_at": "2025-10-11T01:41:56Z",
          "last_comment_author": "olaservo"
        },
        {
          "number": 690,
          "created_at": "2025-08-08T08:26:15Z",
          "last_comment_at": "2025-08-20T02:48:06Z",
          "last_comment_author": "jdoloresroots"
        },
        {
          "number": 694,
          "created_at": "2025-08-11T09:18:12Z",
          "last_comment_at": "2026-02-14T15:52:23Z",
          "last_comment_author": "cliffhall"
        },
        {
          "number": 749,
          "created_at": "2025-08-26T07:17:39Z",
          "last_comment_at": "2025-10-23T09:04:15Z",
          "last_comment_author": "EladAriel"
        },
        {
          "number": 821,
          "created_at": "2025-09-20T10:25:42Z",
          "last_comment_at": "2025-10-10T18:18:30Z",
          "last_comment_author": "cliffhall"
        },
        {
          "number": 884,
          "created_at": "2025-10-21T21:31:18Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 892,
          "created_at": "2025-10-28T11:54:01Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 898,
          "created_at": "2025-10-30T08:22:20Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 899,
          "created_at": "2025-10-30T13:58:31Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 900,
          "created_at": "2025-10-31T05:30:45Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 919,
          "created_at": "2025-11-16T20:11:33Z",
          "last_comment_at": "2025-11-17T21:30:35Z",
          "last_comment_author": "cliffhall"
        }
      ],
      "last_merged_pr_at": "2026-07-24T02:08:05Z",
      "ci_last_conclusion": "SKIPPED",
      "oldest_open_issues": [
        {
          "number": 256,
          "created_at": "2025-04-03T03:13:28Z",
          "last_comment_at": "2025-08-18T13:25:26Z",
          "last_comment_author": "claude"
        },
        {
          "number": 330,
          "created_at": "2025-04-18T10:48:37Z",
          "last_comment_at": "2026-01-05T12:26:38Z",
          "last_comment_author": "sdiazben"
        },
        {
          "number": 332,
          "created_at": "2025-04-18T21:58:16Z",
          "last_comment_at": "2025-08-07T21:00:26Z",
          "last_comment_author": "cliffhall"
        },
        {
          "number": 378,
          "created_at": "2025-05-06T22:31:57Z",
          "last_comment_at": "2026-04-17T21:15:06Z",
          "last_comment_author": "kamranayub"
        },
        {
          "number": 392,
          "created_at": "2025-05-09T23:36:12Z",
          "last_comment_at": "2025-12-04T15:45:40Z",
          "last_comment_author": "cliffhall"
        },
        {
          "number": 408,
          "created_at": "2025-05-15T05:45:44Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 445,
          "created_at": "2025-05-26T13:13:34Z",
          "last_comment_at": "2025-08-21T02:05:49Z",
          "last_comment_author": "uppersaranac"
        },
        {
          "number": 454,
          "created_at": "2025-05-27T18:41:34Z",
          "last_comment_at": "2025-10-13T14:44:10Z",
          "last_comment_author": "olaservo"
        },
        {
          "number": 458,
          "created_at": "2025-05-28T00:29:51Z",
          "last_comment_at": "2025-05-30T05:50:58Z",
          "last_comment_author": "balajmarius"
        },
        {
          "number": 496,
          "created_at": "2025-06-06T19:07:56Z",
          "last_comment_at": "2026-07-01T21:31:46Z",
          "last_comment_author": "pablopupo"
        },
        {
          "number": 571,
          "created_at": "2025-06-28T19:54:10Z",
          "last_comment_at": "2025-10-19T09:25:27Z",
          "last_comment_author": "ov-developer"
        },
        {
          "number": 574,
          "created_at": "2025-06-30T05:00:01Z",
          "last_comment_at": "2026-01-09T14:09:00Z",
          "last_comment_author": "sinedied"
        },
        {
          "number": 575,
          "created_at": "2025-06-30T06:14:21Z",
          "last_comment_at": "2025-07-16T09:16:02Z",
          "last_comment_author": "andormarkus"
        },
        {
          "number": 576,
          "created_at": "2025-06-30T11:53:30Z",
          "last_comment_at": "2026-05-22T13:08:59Z",
          "last_comment_author": "jonesbusy"
        },
        {
          "number": 591,
          "created_at": "2025-07-08T17:05:34Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 592,
          "created_at": "2025-07-08T17:31:34Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 596,
          "created_at": "2025-07-09T18:48:30Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 598,
          "created_at": "2025-07-09T23:31:34Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 601,
          "created_at": "2025-07-10T13:25:29Z",
          "last_comment_at": "2025-10-01T10:33:26Z",
          "last_comment_author": "odrobnik"
        },
        {
          "number": 609,
          "created_at": "2025-07-11T13:56:53Z",
          "last_comment_at": "2026-03-19T13:50:58Z",
          "last_comment_author": "wowkin2"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/modelcontextprotocol/inspector",
    "host": "github.com",
    "name": "inspector",
    "owner": "modelcontextprotocol"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 83,
      "inputs": {
        "security": 73,
        "vitality": 95,
        "community": 93,
        "governance": 81,
        "engineering": 72
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 95,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "commits_last_year": 675,
              "human_commit_share": 0.89,
              "days_since_last_push": 0,
              "active_weeks_last_year": 41
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "41/52 weeks with commits",
                "points": 28.4,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 41
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "675 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 675
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "18 commit(s) and 25 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 52,
              "latest_release_tag": "1.0.0",
              "releases_from_tags": false,
              "days_since_latest_release": 5,
              "mean_days_between_releases": 26
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "52 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 52
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~26 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 26
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 6,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 6 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 93,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 95,
            "inputs": {
              "forks": 1437,
              "stars": 10454,
              "watchers": 64,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "10,454 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 10454
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "1,437 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 1437
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "64 watchers",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 64
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 86,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file present, not a recognized license",
                "points": 16.9,
                "status": "partial",
                "details": [
                  {
                    "code": "license_custom",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "packages": [
                "@modelcontextprotocol/inspector",
                "@modelcontextprotocol/inspector-cli",
                "@modelcontextprotocol/inspector-client",
                "@modelcontextprotocol/inspector-server"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 3224637
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "3,224,637 downloads/month across npm",
                "points": 80,
                "status": "met",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 3224637,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 81,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "good",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "bus_factor": 4,
              "contributors_sampled": 95,
              "top_contributor_share": 0.21
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "4 contributor(s) cover half of all commits",
                "points": 43.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 21% of commits",
                "points": 17.8,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 21
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "95 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 95
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 88 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "merged_prs": 625,
              "open_issues": 173,
              "closed_issues": 611,
              "issue_closed_ratio": 0.779,
              "closed_unmerged_prs": 196
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "78% of issues closed",
                "points": 36.4,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 78
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "625/821 decided PRs merged",
                "points": 29.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 625,
                      "decided": 821
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 13/21 approved changesets -- score normalized to 6",
                "points": 9,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 71,
            "inputs": {
              "followers": 49109,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "modelcontextprotocol",
              "public_repos": 42,
              "account_age_days": 671
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "49,109 followers of modelcontextprotocol",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 49109,
                      "login": "modelcontextprotocol"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "42 public repos, account ~1 yr old",
                "points": 15.6,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 42
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 1
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@modelcontextprotocol/inspector",
                "@modelcontextprotocol/inspector-cli",
                "@modelcontextprotocol/inspector-client",
                "@modelcontextprotocol/inspector-server"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "4 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 4,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 5 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "56 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 56
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 72,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "4 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": "eslint.config.js",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.js"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "25 out of 25 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": "https://modelcontextprotocol.io",
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://modelcontextprotocol.io",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "good",
        "name": "Security",
        "value": 73,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 69,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 6.9
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 3.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "25 out of 25 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 13/21 approved changesets -- score normalized to 6",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 88 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "18 commit(s) and 25 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 2",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 6",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "3 existing vulnerabilities detected",
                "points": 5.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Matched the npm:@modelcontextprotocol/inspector@1.0.0 runtime dependency closure — what installing the published package pulls in — 255 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@modelcontextprotocol/inspector@1.0.0",
                  "assessed": 255
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 88,
            "inputs": {
              "source": "osv",
              "advisories": 1,
              "affected_packages": 1,
              "assessed_packages": 255,
              "unassessed_packages": 0,
              "affected_by_severity": "moderate 1",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "1 affected: @hono/node-server 1.19.14 (moderate 5.9)",
                "points": 13.2,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "@hono/node-server 1.19.14 (moderate 5.9)"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory has been public longer than 90 days",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "advisories_none_stale",
                    "params": {
                      "days": 90
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 255,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 8
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "good",
        "name": "AI Readiness",
        "value": 72,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "good",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 83,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.708,
              "agent_instruction_files": [
                "AGENTS.md",
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 1429
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md, CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md, CLAUDE.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "63 of 89 human commits state their intent (structured subject or explanatory body)",
                "points": 37.8,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 63,
                      "sampled": 89
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "cli/tsconfig.json",
                "client/tsconfig.json",
                "server/tsconfig.json"
              ],
              "agent_commit_share": 0.23,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.09
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": "eslint.config.js",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.js"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "cli/tsconfig.json, client/tsconfig.json, server/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "cli/tsconfig.json, client/tsconfig.json, server/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "23 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 23,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "9 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 9,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 2",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 58543,
              "source_files_sampled": 143,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/143 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 143,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "critical",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 20,
            "inputs": {
              "example_dirs": [],
              "has_mcp_signal": true,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-24T07:16:11.994374Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/m/modelcontextprotocol/inspector.svg",
  "full_name": "modelcontextprotocol/inspector",
  "license_state": "custom",
  "license_spdx": null
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v1.13.0, схема v0.27.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистикаnpm.