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

giolabs / ai-code-reviewer

Drop it into your repo and let an AI Senior reviewer go through every PR — inline comments, severity-coded findings, and a general summary, all configurable per project and tech stack. Supports OpenAI, Anthropic, Gemini, and Ollama. Auto-detects your stack (NestJS, Next.js, React, TypeScript, Node, Flutter, Laravel) and applies built-in rules for

TypeScriptMIT★ 0 зірок⑂ 0 форківз черв. 2026 р.Переглянути на GitHub ↗

giolabs/ai-code-reviewer має індекс здоров’я 62 зі 100, що відповідає смузі «Помірний». Найвищий показник — Engineering Quality (90/100), найнижчий — Security (42/100). Останнє оновлення було 5 днів тому. Більшість нещодавньої роботи виконує один учасник.

62
загалом / 100
Помірний

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

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

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

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

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

Власність

GiolabsОрганізація
1 підписник8 публічних репозиторіївз жовт. 2024 р.

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

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

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
npm@giolabsuy/ai-code-reviewer0.1.0-beta.183 286185 днів томуcode-reviewaiopenaianthropicgeminiollamamulti-providergithub-actionspull-requestclistatic-analysis

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

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

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

74Добрий · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 5 дн. тому
3.5/36Ритм комітів — 5/52 тижнів із комітами
17.4/18Обсяг комітів — 86 комітів за останній рік
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Використані вхідні дані
commits_last_year86
human_commit_share1
days_since_last_push5
active_weeks_last_year5
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 17 релізів
36/36Свіжість релізів — останній реліз 5 дн. тому
27/27Ритм релізів — реліз кожні ~0,8 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count17
latest_release_tagv0.1.0-beta.18
releases_from_tagsні
days_since_latest_release5
mean_days_between_releases0,8
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

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

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

42У зоні ризику · 18% загального індексу
Як обчислюється оцінка
0/60Зірки — 0 зірок
0/25Форки — 0 форків
0/15Спостерігачі — 0 спостерігачів
Використані вхідні дані
forks0
stars0
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
18/18Настанови CONTRIBUTING
0/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так
Як обчислюється оцінка
46.9/80Щомісячні завантаження — 3 286 завантажень/місяць у npm
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packages@giolabsuy/ai-code-reviewer
dependents
ecosystemsnpm
total_downloads
monthly_downloads3 286
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

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

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

54Помірний · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
2.1/22.5Розподіл комітів — головний контриб’ютор — автор 91% комітів
2.7/13.5Широта контриб’юторів — 2 контриб’юторів
3/10OpenSSF Scorecard: Contributors — project has 1 contributing companies or organizations -- score normalized to 3
Використані вхідні дані
bus_factor1
contributors_sampled2
top_contributor_share0,907
Як обчислюється оцінка
0/46.8Вирішення issue — немає issue або даних
38.2/38.3Прийняття PR — злито 10/10 вирішених PR
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Використані вхідні дані
merged_prs10
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Виключено з оцінювання (немає даних або не застосовно): Вирішення issue. Залишкові ваги перенормовано.

Власність та опіка

43У зоні ризику
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
2.2/25Охоплення власника — 1 підписників у giolabs
10.5/25Послужний список — 8 публічних репозиторіїв, вік облікового запису ~1 р.
Використані вхідні дані
followers1
owner_typeOrganization
is_verified
owner_logingiolabs
public_repos8
account_age_days647

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

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

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

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

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

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

100Відмінний
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://giolabs.github.io/ai-code-reviewer/
10/10Опис репозиторію
10/10Теми — 2 тем
10/10Wiki
Використані вхідні дані
topicsai-agents, ai-review
has_wikiтак
homepagehttps://giolabs.github.io/ai-code-reviewer/
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

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

42У зоні ризику · 16% загального індексу

Стан безпеки

35У зоні ризику
Як обчислюється оцінка
4.5/7.5Binary-Artifacts — binaries present in source code
0/7.5Branch-Protection — немає даних
2.5/2.5CI-Tests — 4 out of 4 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
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
0.8/2.5Contributors — project has 1 contributing companies or organizations -- score normalized to 3
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
5/5Packaging — packaging workflow detected
1/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 43 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate3,5
Виключено з оцінювання (немає даних або не застосовно): branch_protection, signed_releases. Залишкові ваги перенормовано.
Як обчислюється оцінка
14/35Прямі залежності без відомих сповіщень — уражено 1: js-yaml 4.2.0 (high 7.5)
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
40/40Немає задавнених сповіщень — жодне сповіщення не є публічним довше за 90 дн.
Використані вхідні дані
sourceosv
advisories44
affected_packages10
assessed_packages735
unassessed_packages0
affected_by_severityhigh 7, moderate 1, low 2
direct_affected_packages1
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень. Залишкові ваги перенормовано. Звірено 735 резолвлених залежностей із OSV. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

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

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

80Добрий · 0% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — CLAUDE.md, node_modules/undici/docs/api/Agent.md
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 84 з 86 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,977
agent_instruction_filesCLAUDE.md, node_modules/undici/docs/api/Agent.md
agent_instruction_max_bytes14 575
Як обчислюється оцінка
18/18Розгортання однією командою — node_modules/delayed-stream/Makefile
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера — .eslintrc, eslint.config.js, eslint.config.mjs
11/11Статична перевірка типів — docs/tsconfig.json, node_modules/@anthropic-ai/sdk/src/tsconfig.json, node_modules/call-bind-apply-helpers/tsconfig.json, node_modules/dunder-proto/tsconfig.json, node_modules/es-define-property/tsconfig.json, node_modules/es-errors/tsconfig.json, node_modules/es-object-atoms/tsconfig.json, node_modules/es-set-tostringtag/tsconfig.json, node_modules/get-proto/tsconfig.json, node_modules/gopd/tsconfig.json, node_modules/has-symbols/tsconfig.json, node_modules/has-tostringtag/tsconfig.json, node_modules/hasown/tsconfig.json, node_modules/math-intrinsics/tsconfig.json, node_modules/openai/src/tsconfig.json, tsconfig.json
10/10Відтворюване середовище — lockfile
10/10Підтверджена практика роботи з агентами — 17 з останніх 86 комітів створено агентом або з його зазначенням
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
2/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
Використані вхідні дані
has_nixні
has_testsтак
lockfilespackage-lock.json, yarn.lock
has_dockerfileні
typed_languageтак
bootstrap_filesnode_modules/delayed-stream/Makefile
has_devcontainerні
has_linter_configтак
typecheck_configsdocs/tsconfig.json, node_modules/@anthropic-ai/sdk/src/tsconfig.json, node_modules/call-bind-apply-helpers/tsconfig.json, node_modules/dunder-proto/tsconfig.json, node_modules/es-define-property/tsconfig.json, node_modules/es-errors/tsconfig.json, node_modules/es-object-atoms/tsconfig.json, node_modules/es-set-tostringtag/tsconfig.json, node_modules/get-proto/tsconfig.json, node_modules/gopd/tsconfig.json, node_modules/has-symbols/tsconfig.json, node_modules/has-tostringtag/tsconfig.json, node_modules/hasown/tsconfig.json, node_modules/math-intrinsics/tsconfig.json, node_modules/openai/src/tsconfig.json, tsconfig.json
agent_commit_share0,198
toolchain_manifests
dependency_bot_commit_share0
Як обчислюється оцінка
45/45Типізований код — TypeScript (статично типізована)
55/55Керовані розміри файлів — 0/59 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageTypeScript
largest_source_bytes40 070
source_files_sampled59
oversized_source_files0
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
0/20Сервер MCP
40/40Придатні до запуску приклади — examples
Використані вхідні дані
example_dirsexamples
has_mcp_signalні
api_schema_files

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

0зірок GitHub
2контриб'юторів
86комітів за останні 12 місяців
5днів від останнього пушу
17релізів
1бас-фактор
0відкритих issue
npmпакетних екосистем

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

  • deps.dev does not index npm:@giolabsuy/ai-code-reviewer@0.1.0-beta.18; advisories assessed against the repository dependency graph instead

Докладніше

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

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

6Binary-Artifactsbinaries present in source code
н/дBranch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
10CI-Tests4 out of 4 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
3Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
10Packagingpackaging workflow detected
2Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 2
0SASTSAST tool is not run on all commits -- score normalized to 0
10Security-Policysecurity policy file detected
н/дSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities43 existing vulnerabilities detected
Прямі залежності 11
РеєстрПакетОбмеження версіїМаніфест
npm@actions/core^1.11.0package.json
npm@anthropic-ai/sdk^0.39.0package.json
npm@google/generative-ai^0.21.0package.json
npm@octokit/graphql^9.0.3package.json
npm@octokit/rest^21.0.0package.json
npmchalk^5.3.0package.json
npmcommander^12.1.0package.json
npmdotenv^16.4.5package.json
npmjs-yaml^4.1.0package.json
npmmadge^8.0.0package.json
npmopenai^4.67.0package.json
Усі залежності 735

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

РеєстрПакетВерсіяЗв'язок
npm@actions/core1.11.1пряма
npm@anthropic-ai/sdk0.39.0пряма
npm@google/generative-ai0.21.0пряма
npm@octokit/graphql8.2.2пряма
npm@octokit/graphql9.0.3пряма
npm@octokit/rest21.1.1пряма
npmchalk2.3.0пряма
npmchalk4.1.2пряма
npmchalk5.6.2пряма
npmcommander12.1.0пряма
npmcommander7.2.0пряма
npmcommander8.3.0пряма
npmdotenv16.6.1пряма
npmjs-yaml3.15.0пряма
npmjs-yaml4.2.0пряма
npmmadge8.0.0пряма
npmopenai4.104.0пряма
npm@actions/exec1.1.1непряма
npm@actions/http-client2.2.3непряма
npm@actions/io1.1.3непряма
npm@ampproject/remapping2.3.0непряма
npm@babel/helper-string-parser7.29.7непряма
npm@babel/helper-validator-identifier7.29.7непряма
npm@babel/parser7.29.7непряма
npm@babel/runtime7.29.7непряма
npm@babel/types7.29.7непряма
npm@bcoe/v8-coverage1.0.2непряма
npm@braintree/sanitize-url6.0.4непряма
npm@dependents/detective-less5.0.3непряма
npm@discoveryjs/json-ext1.1.0непряма
npm@esbuild/aix-ppc640.27.7непряма
npm@esbuild/aix-ppc640.28.1непряма
npm@esbuild/android-arm0.27.7непряма
npm@esbuild/android-arm0.28.1непряма
npm@esbuild/android-arm640.27.7непряма
npm@esbuild/android-arm640.28.1непряма
npm@esbuild/android-x640.27.7непряма
npm@esbuild/android-x640.28.1непряма
npm@esbuild/darwin-arm640.27.7непряма
npm@esbuild/darwin-arm640.28.1непряма
npm@esbuild/darwin-x640.27.7непряма
npm@esbuild/darwin-x640.28.1непряма
npm@esbuild/freebsd-arm640.27.7непряма
npm@esbuild/freebsd-arm640.28.1непряма
npm@esbuild/freebsd-x640.27.7непряма
npm@esbuild/freebsd-x640.28.1непряма
npm@esbuild/linux-arm0.27.7непряма
npm@esbuild/linux-arm0.28.1непряма
npm@esbuild/linux-arm640.27.7непряма
npm@esbuild/linux-arm640.28.1непряма
npm@esbuild/linux-ia320.27.7непряма
npm@esbuild/linux-ia320.28.1непряма
npm@esbuild/linux-loong640.27.7непряма
npm@esbuild/linux-loong640.28.1непряма
npm@esbuild/linux-mips64el0.27.7непряма
npm@esbuild/linux-mips64el0.28.1непряма
npm@esbuild/linux-ppc640.27.7непряма
npm@esbuild/linux-ppc640.28.1непряма
npm@esbuild/linux-riscv640.27.7непряма
npm@esbuild/linux-riscv640.28.1непряма
npm@esbuild/linux-s390x0.27.7непряма
npm@esbuild/linux-s390x0.28.1непряма
npm@esbuild/linux-x640.27.7непряма
npm@esbuild/linux-x640.28.1непряма
npm@esbuild/netbsd-arm640.27.7непряма
npm@esbuild/netbsd-arm640.28.1непряма
npm@esbuild/netbsd-x640.27.7непряма
npm@esbuild/netbsd-x640.28.1непряма
npm@esbuild/openbsd-arm640.27.7непряма
npm@esbuild/openbsd-arm640.28.1непряма
npm@esbuild/openbsd-x640.27.7непряма
npm@esbuild/openbsd-x640.28.1непряма
npm@esbuild/openharmony-arm640.27.7непряма
npm@esbuild/openharmony-arm640.28.1непряма
npm@esbuild/sunos-x640.27.7непряма
npm@esbuild/sunos-x640.28.1непряма
npm@esbuild/win32-arm640.27.7непряма
npm@esbuild/win32-arm640.28.1непряма
npm@esbuild/win32-ia320.27.7непряма
npm@esbuild/win32-ia320.28.1непряма
npm@esbuild/win32-x640.27.7непряма
npm@esbuild/win32-x640.28.1непряма
npm@fastify/busboy2.1.1непряма
npm@headlessui/react1.7.19непряма
npm@isaacs/cliui8.0.2непряма
npm@istanbuljs/schema0.1.6непряма
npm@jridgewell/gen-mapping0.3.13непряма
npm@jridgewell/resolve-uri3.1.2непряма
npm@jridgewell/sourcemap-codec1.5.5непряма
npm@jridgewell/trace-mapping0.3.31непряма
npm@mdx-js/mdx2.3.0непряма
npm@mdx-js/react2.3.0непряма
npm@napi-rs/simple-git0.1.22непряма
npm@napi-rs/simple-git-android-arm-eabi0.1.22непряма
npm@napi-rs/simple-git-android-arm640.1.22непряма
npm@napi-rs/simple-git-darwin-arm640.1.22непряма
npm@napi-rs/simple-git-darwin-x640.1.22непряма
npm@napi-rs/simple-git-freebsd-x640.1.22непряма
npm@napi-rs/simple-git-linux-arm-gnueabihf0.1.22непряма
npm@napi-rs/simple-git-linux-arm64-gnu0.1.22непряма
npm@napi-rs/simple-git-linux-arm64-musl0.1.22непряма
npm@napi-rs/simple-git-linux-ppc64-gnu0.1.22непряма
npm@napi-rs/simple-git-linux-s390x-gnu0.1.22непряма
npm@napi-rs/simple-git-linux-x64-gnu0.1.22непряма
npm@napi-rs/simple-git-linux-x64-musl0.1.22непряма
npm@napi-rs/simple-git-win32-arm64-msvc0.1.22непряма
npm@napi-rs/simple-git-win32-ia32-msvc0.1.22непряма
npm@napi-rs/simple-git-win32-x64-msvc0.1.22непряма
npm@next/env14.2.29непряма
npm@next/swc-darwin-arm6414.2.29непряма
npm@next/swc-darwin-x6414.2.29непряма
npm@next/swc-linux-arm64-gnu14.2.29непряма
npm@next/swc-linux-arm64-musl14.2.29непряма
npm@next/swc-linux-x64-gnu14.2.29непряма
npm@next/swc-linux-x64-musl14.2.29непряма
npm@next/swc-win32-arm64-msvc14.2.29непряма
npm@next/swc-win32-ia32-msvc14.2.29непряма
npm@next/swc-win32-x64-msvc14.2.29непряма
npm@octokit/auth-token5.1.2непряма
npm@octokit/core6.1.6непряма
npm@octokit/endpoint10.1.4непряма
npm@octokit/endpoint11.0.3непряма
npm@octokit/openapi-types24.2.0непряма
npm@octokit/openapi-types25.1.0непряма
npm@octokit/openapi-types27.0.0непряма
npm@octokit/plugin-paginate-rest11.6.0непряма
npm@octokit/plugin-request-log5.3.1непряма
npm@octokit/plugin-rest-endpoint-methods13.5.0непряма
npm@octokit/request10.0.10непряма
npm@octokit/request9.2.4непряма
npm@octokit/request-error6.1.8непряма
npm@octokit/request-error7.1.0непряма
npm@octokit/types13.10.0непряма
npm@octokit/types14.1.0непряма
npm@octokit/types16.0.0непряма
npm@pkgjs/parseargs0.11.0непряма
npm@popperjs/core2.11.8непряма
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@swc/counter0.1.3непряма
npm@swc/helpers0.5.5непряма
npm@tanstack/react-virtual3.14.5непряма
npm@tanstack/virtual-core3.17.3непряма
npm@theguild/remark-mermaid0.0.5непряма
npm@theguild/remark-npm2yarn0.2.1непряма
npm@ts-graphviz/adapter2.0.6непряма
npm@ts-graphviz/ast2.0.7непряма
npm@ts-graphviz/common2.1.5непряма
npm@ts-graphviz/core2.0.7непряма
npm@types/acorn4.0.6непряма
npm@types/chai5.2.3непряма
npm@types/d3-scale4.0.9непряма
npm@types/d3-scale-chromatic3.1.0непряма
npm@types/d3-time3.0.4непряма
npm@types/debug4.1.13непряма
npm@types/deep-eql4.0.2непряма
npm@types/estree1.0.9непряма
npm@types/estree-jsx1.0.5непряма
npm@types/hast2.3.10непряма
npm@types/hast3.0.4непряма
npm@types/js-yaml4.0.9непряма
npm@types/katex0.16.8непряма
npm@types/madge5.0.3непряма
npm@types/mdast3.0.15непряма
npm@types/mdast4.0.4непряма
npm@types/mdx2.0.14непряма
npm@types/ms2.1.0непряма
npm@types/node18.19.130непряма
npm@types/node20.19.43непряма
npm@types/node22.19.21непряма
npm@types/node-fetch2.6.13непряма
npm@types/prop-types15.7.15непряма
npm@types/react18.3.31непряма
npm@types/trusted-types2.0.7непряма
npm@types/unist2.0.11непряма
npm@types/unist3.0.3непряма
npm@typescript-eslint/project-service8.61.1непряма
npm@typescript-eslint/tsconfig-utils8.61.1непряма
npm@typescript-eslint/types8.61.1непряма
npm@typescript-eslint/typescript-estree8.61.1непряма
npm@typescript-eslint/visitor-keys8.61.1непряма
npm@ungap/structured-clone1.3.1непряма
npm@vitest/coverage-v83.2.6непряма
npm@vitest/expect3.2.6непряма
npm@vitest/mocker3.2.6непряма
npm@vitest/pretty-format3.2.6непряма
npm@vitest/runner3.2.6непряма
npm@vitest/snapshot3.2.6непряма
npm@vitest/spy3.2.6непряма
npm@vitest/utils3.2.6непряма
npm@vue/compiler-core3.5.38непряма
npm@vue/compiler-dom3.5.38непряма
npm@vue/compiler-sfc3.5.38непряма
npm@vue/compiler-ssr3.5.38непряма
npm@vue/shared3.5.38непряма
npmabort-controller3.0.0непряма
npmacorn8.17.0непряма
npmacorn-jsx5.3.2непряма
npmagentkeepalive4.6.0непряма
npmansi-regex5.0.1непряма
npmansi-regex6.2.2непряма
npmansi-sequence-parser1.1.3непряма
npmansi-styles3.2.1непряма
npmansi-styles4.3.0непряма
npmansi-styles6.2.3непряма
npmany-promise1.3.0непряма
npmapp-module-path2.2.0непряма
npmarch2.2.0непряма
npmarg1.0.0непряма
npmargparse1.0.10непряма
npmargparse2.0.1непряма
npmassertion-error2.0.1непряма
npmast-module-types6.0.2непряма
npmast-v8-to-istanbul0.3.12непряма
npmastring1.9.0непряма
npmasynckit0.4.0непряма
npmbail2.0.2непряма
npmbalanced-match1.0.2непряма
npmbalanced-match4.0.4непряма
npmbase64-js1.5.1непряма
npmbefore-after-hook3.0.2непряма
npmbl4.1.0непряма
npmbrace-expansion2.1.1непряма
npmbrace-expansion5.0.6непряма
npmbuffer5.7.1непряма
npmbusboy1.6.0непряма
npmcac6.7.14непряма
npmcall-bind-apply-helpers1.0.2непряма
npmcaniuse-lite1.0.30001800непряма
npmccount2.0.1непряма
npmchai5.3.3непряма
npmcharacter-entities2.0.2непряма
npmcharacter-entities-html42.1.0непряма
npmcharacter-entities-legacy3.0.0непряма
npmcharacter-reference-invalid2.0.1непряма
npmcheck-error2.1.3непряма
npmcli-cursor3.1.0непряма
npmcli-spinners2.9.2непряма
npmclient-only0.0.1непряма
npmclipboardy1.2.2непряма
npmclone1.0.4непряма
npmclsx2.1.1непряма
npmcolor-convert1.9.3непряма
npmcolor-convert2.0.1непряма
npmcolor-name1.1.3непряма
npmcolor-name1.1.4непряма
npmcombined-stream1.0.8непряма
npmcomma-separated-tokens2.0.3непряма
npmcommondir1.0.1непряма
npmcompute-scroll-into-view3.1.1непряма
npmcontent-type2.0.0непряма
npmcose-base1.0.3непряма
npmcross-spawn5.1.0непряма
npmcross-spawn7.0.6непряма
npmcsstype3.2.3непряма
npmcytoscape3.34.0непряма
npmcytoscape-cose-bilkent4.1.0непряма
npmd37.9.0непряма
npmd3-array2.12.1непряма
npmd3-array3.2.4непряма
npmd3-axis3.0.0непряма
npmd3-brush3.0.0непряма
npmd3-chord3.0.1непряма
npmd3-color3.1.0непряма
npmd3-contour4.0.2непряма
npmd3-delaunay6.0.4непряма
npmd3-dispatch3.0.1непряма
npmd3-drag3.0.0непряма
npmd3-dsv3.0.1непряма
npmd3-ease3.0.1непряма
npmd3-fetch3.0.1непряма
npmd3-force3.0.0непряма
npmd3-format3.1.2непряма
npmd3-geo3.1.1непряма
npmd3-hierarchy3.1.2непряма
npmd3-interpolate3.0.1непряма
npmd3-path1.0.9непряма
npmd3-path3.1.0непряма
npmd3-polygon3.0.1непряма
npmd3-quadtree3.0.1непряма
npmd3-random3.0.1непряма
npmd3-sankey0.12.3непряма
npmd3-scale4.0.2непряма
npmd3-scale-chromatic3.1.0непряма
npmd3-selection3.0.0непряма
npmd3-shape1.3.7непряма
npmd3-shape3.2.0непряма
npmd3-time3.1.0непряма
npmd3-time-format4.1.0непряма
npmd3-timer3.0.1непряма
npmd3-transition3.0.1непряма
npmd3-zoom3.0.0непряма
npmdagre-d3-es7.0.13непряма
npmdayjs1.11.21непряма
npmdebug4.4.3непряма
npmdecode-named-character-reference1.3.0непряма
npmdeep-eql5.0.2непряма
npmdeep-extend0.6.0непряма
npmdefaults1.0.4непряма
npmdelaunator5.1.0непряма
npmdelayed-stream1.0.0непряма
npmdependency-tree11.5.0непряма
npmdequal2.0.3непряма
npmdetective-amd6.1.0непряма
npmdetective-cjs6.1.1непряма
npmdetective-es65.0.2непряма
npmdetective-postcss8.0.4непряма
npmdetective-sass6.0.2непряма
npmdetective-scss5.0.2непряма
npmdetective-stylus5.0.1непряма
npmdetective-typescript14.1.2непряма
npmdetective-vue22.3.0непряма
npmdevlop1.1.0непряма
npmdiff5.2.2непряма
npmdompurify3.4.11непряма
npmdunder-proto1.0.1непряма
npmeastasianwidth0.2.0непряма
npmelkjs0.9.3непряма
npmemoji-regex8.0.0непряма
npmemoji-regex9.2.2непряма
npmenhanced-resolve5.24.0непряма
npmentities6.0.1непряма
npmentities7.0.1непряма
npmes-define-property1.0.1непряма
npmes-errors1.3.0непряма
npmes-module-lexer1.7.0непряма
npmes-object-atoms1.1.2непряма
npmes-set-tostringtag2.1.0непряма
npmesbuild0.27.7непряма
npmesbuild0.28.1непряма
npmescape-string-regexp1.0.5непряма
npmescape-string-regexp5.0.0непряма
npmescodegen2.1.0непряма
npmeslint-visitor-keys5.0.1непряма
npmesprima4.0.1непряма
npmestraverse5.3.0непряма
npmestree-util-attach-comments2.1.1непряма
npmestree-util-build-jsx2.2.2непряма
npmestree-util-is-identifier-name2.1.0непряма
npmestree-util-is-identifier-name3.0.0непряма
npmestree-util-to-js1.2.0непряма
npmestree-util-value-to-estree3.5.0непряма
npmestree-util-visit1.2.1непряма
npmestree-walker2.0.2непряма
npmestree-walker3.0.3непряма
npmesutils2.0.3непряма
npmevent-target-shim5.0.1непряма
npmexeca0.8.0непряма
npmexpect-type1.3.0непряма
npmextend3.0.2непряма
npmextend-shallow2.0.1непряма
npmfast-content-type-parse2.0.1непряма
npmfdir6.5.0непряма
npmfiling-cabinet5.5.1непряма
npmflexsearch0.7.43непряма
npmfocus-visible5.2.1непряма
npmforeground-child3.3.1непряма
npmform-data4.0.6непряма
npmform-data-encoder1.7.2непряма
npmformdata-node4.4.1непряма
npmfsevents2.3.3непряма
npmfunction-bind1.1.2непряма
npmget-amd-module-type6.0.2непряма
npmget-intrinsic1.3.0непряма
npmget-own-enumerable-property-symbols3.0.2непряма
npmget-proto1.0.1непряма
npmget-stream3.0.0непряма
npmgit-up7.0.0непряма
npmgit-url-parse13.1.1непряма
npmgithub-slugger2.0.0непряма
npmglob10.5.0непряма
npmgonzales-pe4.3.0непряма
npmgopd1.2.0непряма
npmgraceful-fs4.2.11непряма
npmgray-matter4.0.3непряма
npmhas-flag2.0.0непряма
npmhas-flag4.0.0непряма
npmhas-symbols1.1.0непряма
npmhas-tostringtag1.0.2непряма
npmhash-obj4.0.0непряма
npmhasown2.0.4непряма
npmhast-util-from-dom5.0.1непряма
npmhast-util-from-html2.0.3непряма
npmhast-util-from-html-isomorphic2.0.0непряма
npmhast-util-from-parse58.0.3непряма
npmhast-util-is-element3.0.0непряма
npmhast-util-parse-selector4.0.0непряма
npmhast-util-raw9.1.0непряма
npmhast-util-to-estree2.3.3непряма
npmhast-util-to-parse58.0.1непряма
npmhast-util-to-text4.0.2непряма
npmhast-util-whitespace2.0.1непряма
npmhastscript9.0.1непряма
npmhtml-escaper2.0.2непряма
npmhtml-void-elements3.0.0непряма
npmhumanize-ms1.2.1непряма
npmiconv-lite0.6.3непряма
npmieee7541.2.1непряма
npminherits2.0.4непряма
npmini1.3.8непряма
npminline-style-parser0.1.1непряма
npminternmap1.0.1непряма
npminternmap2.0.3непряма
npmintersection-observer0.12.2непряма
npmis-alphabetical2.0.1непряма
npmis-alphanumerical2.0.1непряма
npmis-buffer2.0.5непряма
npmis-core-module2.16.2непряма
npmis-decimal2.0.1непряма
npmis-extendable0.1.1непряма
npmis-fullwidth-code-point3.0.0непряма
npmis-hexadecimal2.0.1непряма
npmis-interactive1.0.0непряма
npmis-obj1.0.1непряма
npmis-obj3.0.0непряма
npmis-plain-obj4.1.0непряма
npmis-reference3.0.3непряма
npmis-regexp1.0.0непряма
npmis-ssh1.4.1непряма
npmis-stream1.1.0непряма
npmis-unicode-supported0.1.0непряма
npmis-url-superb4.0.0непряма
npmisexe2.0.0непряма
npmistanbul-lib-coverage3.2.2непряма
npmistanbul-lib-report3.0.1непряма
npmistanbul-lib-source-maps5.0.6непряма
npmistanbul-reports3.2.0непряма
npmjackspeak3.4.3непряма
npmjs-tokens10.0.0непряма
npmjs-tokens4.0.0непряма
npmjs-tokens9.0.1непряма
npmjson-with-bigint3.5.8непряма
npmjson52.2.3непряма
npmjsonc-parser3.3.1непряма
npmkatex0.16.47непряма
npmkhroma2.1.0непряма
npmkind-of6.0.3непряма
npmkleur4.1.5непряма
npmlayout-base1.0.2непряма
npmlodash-es4.18.1непряма
npmlodash.get4.4.2непряма
npmlog-symbols4.1.0непряма
npmlongest-streak3.1.0непряма
npmloose-envify1.4.0непряма
npmloupe3.2.1непряма
npmlru-cache10.4.3непряма
npmlru-cache4.1.5непряма
npmmagic-string0.30.21непряма
npmmagicast0.3.5непряма
npmmake-dir4.0.0непряма
npmmarkdown-extensions1.1.1непряма
npmmarkdown-table3.0.4непряма
npmmatch-sorter6.3.4непряма
npmmath-intrinsics1.1.0непряма
npmmdast-util-definitions5.1.2непряма
npmmdast-util-find-and-replace2.2.2непряма
npmmdast-util-from-markdown1.3.1непряма
npmmdast-util-gfm2.0.2непряма
npmmdast-util-gfm-autolink-literal1.0.3непряма
npmmdast-util-gfm-footnote1.0.2непряма
npmmdast-util-gfm-strikethrough1.0.3непряма
npmmdast-util-gfm-table1.0.7непряма
npmmdast-util-gfm-task-list-item1.0.2непряма
npmmdast-util-math2.0.2непряма
npmmdast-util-mdx2.0.1непряма
npmmdast-util-mdx-expression1.3.2непряма
npmmdast-util-mdx-jsx2.1.4непряма
npmmdast-util-mdxjs-esm1.3.1непряма
npmmdast-util-phrasing3.0.1непряма
npmmdast-util-to-hast12.3.0непряма
npmmdast-util-to-hast13.2.1непряма
npmmdast-util-to-markdown1.5.0непряма
npmmdast-util-to-string3.2.0непряма
npmmermaid10.9.6непряма
npmmicromark3.2.0непряма
npmmicromark-core-commonmark1.1.0непряма
npmmicromark-extension-gfm2.0.3непряма
npmmicromark-extension-gfm-autolink-literal1.0.5непряма
npmmicromark-extension-gfm-footnote1.1.2непряма
npmmicromark-extension-gfm-strikethrough1.0.7непряма
npmmicromark-extension-gfm-table1.0.7непряма
npmmicromark-extension-gfm-tagfilter1.0.2непряма
npmmicromark-extension-gfm-task-list-item1.0.5непряма
npmmicromark-extension-math2.1.2непряма
npmmicromark-extension-mdx-expression1.0.8непряма
npmmicromark-extension-mdx-jsx1.0.5непряма
npmmicromark-extension-mdx-md1.0.1непряма
npmmicromark-extension-mdxjs1.0.1непряма
npmmicromark-extension-mdxjs-esm1.0.5непряма
npmmicromark-factory-destination1.1.0непряма
npmmicromark-factory-label1.1.0непряма
npmmicromark-factory-mdx-expression1.0.9непряма
npmmicromark-factory-space1.1.0непряма
npmmicromark-factory-title1.1.0непряма
npmmicromark-factory-whitespace1.1.0непряма
npmmicromark-util-character1.2.0непряма
npmmicromark-util-character2.1.1непряма
npmmicromark-util-chunked1.1.0непряма
npmmicromark-util-classify-character1.1.0непряма
npmmicromark-util-combine-extensions1.1.0непряма
npmmicromark-util-decode-numeric-character-reference1.1.0непряма
npmmicromark-util-decode-string1.1.0непряма
npmmicromark-util-encode1.1.0непряма
npmmicromark-util-encode2.0.1непряма
npmmicromark-util-events-to-acorn1.2.3непряма
npmmicromark-util-html-tag-name1.2.0непряма
npmmicromark-util-normalize-identifier1.1.0непряма
npmmicromark-util-resolve-all1.1.0непряма
npmmicromark-util-sanitize-uri1.2.0непряма
npmmicromark-util-sanitize-uri2.0.1непряма
npmmicromark-util-subtokenize1.1.0непряма
npmmicromark-util-symbol1.1.0непряма
npmmicromark-util-symbol2.0.1непряма
npmmicromark-util-types1.1.0непряма
npmmicromark-util-types2.0.2непряма
npmmime-db1.52.0непряма
npmmime-types2.1.35непряма
npmmimic-fn2.1.0непряма
npmminimatch10.2.5непряма
npmminimatch9.0.9непряма
npmminimist1.2.8непряма
npmminipass7.1.3непряма
npmmodule-definition6.0.2непряма
npmmodule-lookup-amd9.1.3непряма
npmmri1.2.0непряма
npmms2.1.3непряма
npmnanoid3.3.13непряма
npmnext14.2.29непряма
npmnext-mdx-remote4.4.1непряма
npmnext-seo6.8.0непряма
npmnext-themes0.2.1непряма
npmnextra2.13.4непряма
npmnextra-theme-docs2.13.4непряма
npmnode-domexception1.0.0непряма
npmnode-fetch2.7.0непряма
npmnode-source-walk7.0.2непряма
npmnon-layered-tidy-tree-layout2.0.2непряма
npmnpm-run-path2.0.2непряма
npmnpm-to-yarn2.2.1непряма
npmonetime5.1.2непряма
npmora5.4.1непряма
npmp-finally1.0.0непряма
npmp-limit3.1.0непряма
npmpackage-json-from-dist1.0.1непряма
npmparse-entities4.0.2непряма
npmparse-ms2.1.0непряма
npmparse-numeric-range1.3.0непряма
npmparse-path7.1.0непряма
npmparse-url8.1.0непряма
npmparse57.3.0непряма
npmpath-key2.0.1непряма
npmpath-key3.1.1непряма
npmpath-parse1.0.7непряма
npmpath-scurry1.11.1непряма
npmpathe2.0.3непряма
npmpathval2.0.1непряма
npmperiscopic3.1.0непряма
npmpicocolors1.1.1непряма
npmpicomatch4.0.4непряма
npmpluralize8.0.0непряма
npmpostcss8.4.31непряма
npmpostcss8.5.15непряма
npmpostcss-values-parser6.0.2непряма
npmprecinct12.3.2непряма
npmpretty-ms7.0.1непряма
npmproperty-information6.5.0непряма
npmproperty-information7.2.0непряма
npmprotocols2.0.2непряма
npmpseudomap1.0.2непряма
npmquote-unquote1.0.0непряма
npmrc1.2.8непряма
npmreact18.3.1непряма
npmreact-dom18.3.1непряма
npmreadable-stream3.6.2непряма
npmreading-time1.5.0непряма
npmrehype-katex7.0.1непряма
npmrehype-pretty-code0.9.11непряма
npmrehype-raw7.0.0непряма
npmremark-gfm3.0.1непряма
npmremark-math5.1.1непряма
npmremark-mdx2.3.0непряма
npmremark-parse10.0.2непряма
npmremark-reading-time2.1.0непряма
npmremark-rehype10.1.0непряма
npmremove-accents0.5.0непряма
npmrequirejs2.3.8непряма
npmrequirejs-config-file4.0.0непряма
npmresolve1.22.12непряма
npmresolve-dependency-path4.0.1непряма
npmrestore-cursor3.1.0непряма
npmrobust-predicates3.0.3непряма
npmrollup4.62.2непряма
npmrw1.3.3непряма
npmsade1.8.1непряма
npmsafe-buffer5.2.1непряма
npmsafer-buffer2.1.2непряма
npmsass-lookup6.1.2непряма
npmscheduler0.23.2непряма
npmscroll-into-view-if-needed3.1.0непряма
npmsection-matter1.0.0непряма
npmsemver7.8.5непряма
npmshebang-command1.2.0непряма
npmshebang-command2.0.0непряма
npmshebang-regex1.0.0непряма
npmshebang-regex3.0.0непряма
npmshiki0.14.7непряма
npmsiginfo2.0.0непряма
npmsignal-exit3.0.7непряма
npmsignal-exit4.1.0непряма
npmslash3.0.0непряма
npmsort-keys5.1.0непряма
npmsource-map0.6.1непряма
npmsource-map0.7.6непряма
npmsource-map-js1.2.1непряма
npmspace-separated-tokens2.0.2непряма
npmsprintf-js1.0.3непряма
npmstackback0.0.2непряма
npmstd-env3.10.0непряма
npmstream-to-array2.3.0непряма
npmstreamsearch1.1.0непряма
npmstring-width4.2.3непряма
npmstring-width5.1.2непряма
npmstring_decoder1.3.0непряма
npmstringify-entities4.0.4непряма
npmstringify-object3.3.0непряма
npmstrip-ansi6.0.1непряма
npmstrip-ansi7.2.0непряма
npmstrip-bom3.0.0непряма
npmstrip-bom-string1.0.0непряма
npmstrip-eof1.0.0непряма
npmstrip-json-comments2.0.1непряма
npmstrip-literal3.1.0непряма
npmstyle-to-object0.4.4непряма
npmstyled-jsx5.1.1непряма
npmstylis4.4.0непряма
npmstylus-lookup6.1.2непряма
npmsupports-color4.5.0непряма
npmsupports-color7.2.0непряма
npmsupports-preserve-symlinks-flag1.0.0непряма
npmtapable2.3.3непряма
npmtest-exclude7.0.2непряма
npmtinybench2.9.0непряма
npmtinyexec0.3.2непряма
npmtinyglobby0.2.17непряма
npmtinypool1.1.1непряма
npmtinyrainbow2.0.0непряма
npmtinyspy4.0.4непряма
npmtitle3.5.3непряма
npmtitleize1.0.0непряма
npmtr460.0.3непряма
npmtrim-lines3.0.1непряма
npmtrough2.2.0непряма
npmts-api-utils2.5.0непряма
npmts-dedent2.3.0непряма
npmts-graphviz2.1.6непряма
npmtsconfig-paths4.2.0непряма
npmtslib2.8.1непряма
npmtsx4.22.4непряма
npmtunnel0.0.6непряма
npmtype-fest1.4.0непряма
npmtypescript5.9.3непряма
npmundici5.29.0непряма
npmundici-types5.26.5непряма
npmundici-types6.21.0непряма
npmunified10.1.2непряма
npmunist-util-find-after5.0.0непряма
npmunist-util-generated2.0.1непряма
npmunist-util-is5.2.1непряма
npmunist-util-is6.0.1непряма
npmunist-util-position4.0.4непряма
npmunist-util-position5.0.0непряма
npmunist-util-position-from-estree1.1.2непряма
npmunist-util-remove4.0.0непряма
npmunist-util-remove-position4.0.2непряма
npmunist-util-remove-position5.0.0непряма
npmunist-util-stringify-position3.0.3непряма
npmunist-util-stringify-position4.0.0непряма
npmunist-util-visit4.1.2непряма
npmunist-util-visit5.1.0непряма
npmunist-util-visit-parents5.1.3непряма
npmunist-util-visit-parents6.0.2непряма
npmuniversal-user-agent7.0.3непряма
npmutil-deprecate1.0.2непряма
npmuuid14.0.1непряма
npmuvu0.5.6непряма
npmvfile5.3.7непряма
npmvfile6.0.3непряма
npmvfile-location5.0.3непряма
npmvfile-matter3.0.1непряма
npmvfile-message3.1.4непряма
npmvfile-message4.0.3непряма
npmvite7.3.5непряма
npmvite-node3.2.4непряма
npmvitest3.2.6непряма
npmvscode-oniguruma1.7.0непряма
npmvscode-textmate8.0.0непряма
npmwalkdir0.4.1непряма
npmwcwidth1.0.1непряма
npmweb-namespaces2.0.1непряма
npmweb-streams-polyfill4.0.0-beta.3непряма
npmweb-worker1.5.0непряма
npmwebidl-conversions3.0.1непряма
npmwhatwg-url5.0.0непряма
npmwhich1.3.1непряма
npmwhich2.0.2непряма
npmwhy-is-node-running2.3.0непряма
npmwrap-ansi7.0.0непряма
npmwrap-ansi8.1.0непряма
npmyallist2.1.2непряма
npmyocto-queue0.1.0непряма
npmzod3.25.76непряма
npmzwitch2.0.4непряма
Сповіщення про залежності 10

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

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
js-yaml4.2.0прямависока14.3.0
brace-expansion2.1.1непрямависока15.0.7
brace-expansion5.0.6непрямависока15.0.7
cross-spawn5.1.0непрямависока17.0.5
next14.2.29непрямависока2716.2.11
next-mdx-remote4.4.1непрямависока16.0.0
undici5.29.0непрямависока98.5.0
postcss8.4.31непрямапомірна18.5.10
dompurify3.4.11непряманизька13.4.12
esbuild0.27.7непряманизька10.28.1

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

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "ai-agents",
        "ai-review"
      ],
      "is_fork": false,
      "size_kb": 13427,
      "has_wiki": true,
      "homepage": "https://giolabs.github.io/ai-code-reviewer/",
      "languages": {
        "JavaScript": 8485,
        "TypeScript": 378817
      },
      "pushed_at": "2026-07-17T18:02:17Z",
      "created_at": "2026-06-20T04:21:17Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-17T18:03:00Z",
      "description": "Drop it into your repo and let an AI Senior reviewer go through every PR — inline comments, severity-coded findings, and a general summary, all configurable per project and tech stack.  Supports OpenAI, Anthropic, Gemini, and Ollama. Auto-detects your stack (NestJS, Next.js, React, TypeScript, Node, Flutter, Laravel) and applies built-in rules for ",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://giolabs.com.uy",
      "name": "Giolabs",
      "type": "Organization",
      "login": "giolabs",
      "company": null,
      "location": "Uruguay",
      "followers": 1,
      "avatar_url": "https://avatars.githubusercontent.com/u/184870555?v=4",
      "created_at": "2024-10-13T20:11:13Z",
      "is_verified": null,
      "public_repos": 8,
      "account_age_days": 647
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.1.0-beta.18",
          "kind": "prerelease",
          "published_at": "2026-07-17T18:02:18Z"
        },
        {
          "tag": "v0.1.0-beta.17",
          "kind": "prerelease",
          "published_at": "2026-07-17T12:12:35Z"
        },
        {
          "tag": "v0.1.0-beta.16",
          "kind": "prerelease",
          "published_at": "2026-07-16T00:37:45Z"
        },
        {
          "tag": "v0.1.0-beta.15",
          "kind": "prerelease",
          "published_at": "2026-07-15T22:35:44Z"
        },
        {
          "tag": "v0.1.0-beta.14",
          "kind": "prerelease",
          "published_at": "2026-07-15T14:49:29Z"
        },
        {
          "tag": "v0.1.0-beta.13",
          "kind": "prerelease",
          "published_at": "2026-07-15T11:48:15Z"
        },
        {
          "tag": "v0.1.0-beta.12",
          "kind": "prerelease",
          "published_at": "2026-07-14T16:46:34Z"
        },
        {
          "tag": "v0.1.0-beta.11",
          "kind": "prerelease",
          "published_at": "2026-07-11T01:44:29Z"
        },
        {
          "tag": "v0.1.0-beta.10",
          "kind": "prerelease",
          "published_at": "2026-07-11T00:23:39Z"
        },
        {
          "tag": "v0.1.0-beta.9",
          "kind": "prerelease",
          "published_at": "2026-07-10T23:51:03Z"
        },
        {
          "tag": "v0.1.0-beta.8",
          "kind": "prerelease",
          "published_at": "2026-07-10T23:20:57Z"
        },
        {
          "tag": "v0.1.0-beta.7",
          "kind": "prerelease",
          "published_at": "2026-07-10T11:54:54Z"
        },
        {
          "tag": "v0.1.0-beta.6",
          "kind": "prerelease",
          "published_at": "2026-07-10T10:39:41Z"
        },
        {
          "tag": "v0.1.0-beta.5",
          "kind": "prerelease",
          "published_at": "2026-07-09T21:47:10Z"
        },
        {
          "tag": "v0.1.0-beta.4",
          "kind": "prerelease",
          "published_at": "2026-06-28T00:59:55Z"
        },
        {
          "tag": "v0.1.0-beta.3",
          "kind": "prerelease",
          "published_at": "2026-06-25T12:46:52Z"
        },
        {
          "tag": "v0.1.0-beta.1",
          "kind": "prerelease",
          "published_at": "2026-06-20T15:46:04Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "64cd5233bf43097ca3007b9dddab8d681358bd35",
          "body": "Co-authored-by: Cursor <cursoragent@cursor.com>",
          "is_bot": false,
          "headline": "chore(release): v0.1.0-beta.18",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-17T18:02:12Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b7be24cd547fd17cd258c31f345d6796a2ed6442",
          "body": "* Dismissed bot CHANGES_REQUESTED reviews before submitting APPROVE\n* Returned success/failure from submitApprovalReview with visible error replies\n* Suppressed open finding fingerprints and resolved threads after approve\n* Extracted dismissBotChangesRequestedReviews onto GitHubClient for auto-approve parity\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
          "is_bot": false,
          "headline": "feat(feedback): unblock PRs with @botai approved after false positives",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-17T17:59:54Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e5ba5e9b56c6c744f01b10d4c0e1b14a89e27b14",
          "body": "Co-authored-by: Cursor <cursoragent@cursor.com>",
          "is_bot": false,
          "headline": "chore(release): v0.1.0-beta.17",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-17T12:12:29Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "96547c0d6b821a31f2ac70770084d87e3f50b249",
          "body": "* Added Actionable finding gate and expanded What is NOT a finding rules\n* Passed projectDigest into FindingVerifier with stronger refute criteria\n* Ranked ADR/docs by diff and PR keywords before digest truncation\n* Added SiblingContextLoader for sibling specs and infra READMEs\n* Fixed docs/adr/** globs so ** matches zero path segments\n* Added regression fixtures for FP-01..04, OPS-01, and a true-bug survivor\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
          "is_bot": false,
          "headline": "feat(review): reduce false positives from PR #76 evidence",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-17T12:12:07Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "13b96f47924b1793950e81a30af94f8074502100",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): v0.1.0-beta.16",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-16T00:36:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c18bc0d0a2e4fc52b9394593c2b7c3f3e5f8daab",
          "body": "Inspired by researching competing AI reviewers (CodeRabbit, Greptile,\nQodo/PR-Agent) — see docs/specs/persistent-learnings-and-ask-command/spec.md.\n\nLearnings: suppressedFingerprints and @botai dismiss state previously\nlived only in the hidden context comment scoped to one PR, so a\nfalse-positive di\n[…]\n— Greptile-style multi-lens review by check\ncategory — is specified at interface level (spec §11) as a stretch\ngoal, not implemented this pass.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: persistent cross-PR Learnings + @botai ask general-purpose command",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-16T00:34:14Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e5851ef0a6de0619f06674cea6722789f52e025b",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): v0.1.0-beta.15",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-15T22:34:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b997c6e7debb9989249605b325de72a87e26ebd4",
          "body": "…general comments\n\nFindings that can't map to a diff line (e.g. line: 0) were posted as\nplain text in the summary with no <!-- ai-review-finding --> metadata.\nWithout it, collectPriorOpenFindings never saw them as a prior open\nfinding, so incremental mode never activated for a PR whose only\nblocking\n[…]\ne-feedback.ts (not\nFeedbackHandler itself) owns re-invoking reviewPullRequest — keeps\nthe handler focused on interpreting/replying to comments.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: track orphan findings for incremental mode; @botai review from …",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-15T22:33:44Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0125f9bbb220c4b4b3176703097de62683b6266e",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): v0.1.0-beta.14",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-15T14:49:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc56411236bd85071189168f8ca91bef11568995",
          "body": "…e error\n\nMonorepos with multiple subprojects (e.g. a Flutter app + a NestJS\nbackend) were reviewed with a single tech stack detected once, so\nevery file got the wrong stack's rules unless the repo happened to be\nsingle-stack. appDir now accepts a list of subproject directories:\neach changed file is\n[…]\n*, o1*, o3*, o4*) reject any\nexplicit temperature value — the adapter now omits it for those\nmodels instead of always sending temperature: 0.2.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: multi-stack review by directory; fix reasoning-model temperatur…",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-15T14:47:37Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "aa019482138b437b967481aa0f1c9bc2ad7578d5",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): v0.1.0-beta.13",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-15T11:33:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44d4f9273005e1ac0c9dbb575645f0eac4be93ee",
          "body": "… fenced suggestions\n\nThe AI Code Review explanation was posted as a review body, but the bot\nlooked for it in issue comments, so the lookup always missed and every\npush created a brand-new full review — duplicating the explanation and\nsilently breaking auto-resolve. The summary is now a single issu\n[…]\node suggestions are always wrapped in a fenced code\nblock even if the model forgets to fence them; and the bot header\nicon changed from 🤖 to ✨.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: single AI review summary per PR, forced block on major findings,…",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-15T11:26:56Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1cfa37fab31f30615e914c86dd185633bf24a1d6",
          "body": "- Rewrite Reviewer Maturity page fully in English.\n- Add selfCritique, projectContext, officialDocs to the full .ai-review.yml example.\n- Add concurrency + paths-ignore to the example workflow.\n- Document @botai dismiss/explain and new feature-table rows.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: english maturity page + full example config with new keys",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-14T17:09:23Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "8d35b20bc91db7af63616192fe404d2e52fb3b4f",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(release): bump version to 0.1.0-beta.12",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-14T16:11:55Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "abc026a44822e6a19b368669c2357fc4e51618ad",
          "body": "…ter bugs)\n\nImplements docs/specs/reviewer-maturity-8-axes:\n\n- CI cost: example workflow uses concurrency (cancel-in-progress) + paths-ignore.\n- False positives: position-independent finding fingerprint\n  (file + category + normalized codeRef) + dismissal suppression list persisted\n  in the project-\n[…]\nkeleton\n  (officialDocs config, disabled by default).\n\nTests: finding-fingerprint + finding-verifier. Build green, 187 tests pass.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: reviewer maturity — 8 axes (fewer false positives, less CI, bet…",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-14T16:11:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6fc60e55812dd687bb77054feee29c44190816d1",
          "body": "…ue_comment)\n\n* Added getIssueCommentEventFromEnv() to read issue_comment payloads and detect PR context\n* Added postPullRequestComment() to GitHubClient for posting general PR comments\n* Added source field to FeedbackEvent to distinguish review_comment vs issue_comment\n* Updated handle-feedback.ts \n[…]\n Blocked @botai review and @botai resolved from general PR comments with informative message\n* Added submitApprovalReview() and countOpenBotFindings() to GitHubClient\n* Bumped version to 0.1.0-beta.11",
          "is_bot": false,
          "headline": "feat(feedback): support @botai approved from general PR comments (iss…",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-11T01:30:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6b14a9c5aca6965fd85a7be068369a6d5f5a6e90",
          "body": "* Removed entire docs/pages/es/ Spanish locale (16 files)\n* Removed LanguageSwitcher component and navbar entry from theme.config.tsx\n* Added docs/pages/examples.mdx with minimal and full configuration examples\n* Added 'Examples' to sidebar navigation (_meta.json)\n* Updated index.mdx, configuration.\n[…]\n@botai commands instead of /explain and /dismiss\n* Removed feedback.allowDismiss from configuration reference (no longer exists)\n* Fixed changelog beta.3 entry to not mention deprecated slash commands",
          "is_bot": false,
          "headline": "docs: remove Spanish locale, add examples page, update @botai references",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-11T00:36:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7d48577269ac6fd79aaad04b9024430fb54ac086",
          "body": "…stem\n\n* Replaced /explain and /dismiss docs with @botai approved|review|resolved\n* Added usage examples for each @botai command\n* Added auto-approve-when-all-resolved explanation\n* Added changelog entries for beta.5 through beta.10",
          "is_bot": false,
          "headline": "docs: update handle-feedback page and changelog for @botai command sy…",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-11T00:28:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0ec06ee12594bebbf88b2f1e730efea0537b73a",
          "body": "* Replaced /explain and /dismiss with @botai approved|review|resolved\n* Added parseBotCommand() using @botai regex with \"\"\" delimiter for review text\n* Added handleApproved() — posts reply and submits GitHub APPROVE review\n* Added handleReview() — evaluates dev text via LLM, resolves thread if decis\n[…]\ned SlashCommand enum, ExplainPromptOptions interface, and buildExplainPrompt from PromptBuilder\n* Added BotCommand type and BotCommandParseResult interface to types.ts\n* Updated all tests: 175 passing",
          "is_bot": false,
          "headline": "feat(feedback): replace slash commands with @botai command system",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-11T00:22:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6f3da21aa5cd628f044a8131b5e11a82e3784443",
          "body": "Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(release): bump version to 0.1.0-beta.9",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-10T23:46:28Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "0629164b4de9a2e783f402ebe1f440832817bc31",
          "body": "GITHUB_ACTOR is automatically set by GitHub Actions to whoever triggered\nthe workflow — in a pull_request_review_comment event that is always the\nhuman commenter, making every developer reply silently ignored.\n\nBOT_ACTOR ('github-actions[bot]') is sufficient to prevent self-reply loops.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(feedback): remove GITHUB_ACTOR from isBot() check",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-10T23:45:52Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4af509f96f6bbca88ebad4279fd7ba5adb571386",
          "body": "Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(release): bump version to 0.1.0-beta.8",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-10T23:18:03Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "83f80be62c67e7416af3eafc7e890dc241f4c9ad",
          "body": "…text graph\n\n* Added FeedbackEvaluationDecision, FeedbackEvaluationResult, FeedbackEvaluationPromptArgs types to types.ts\n* Extended FeedbackEvent with optional headSha field\n* Added GitHubClient.getFileAtRef() to fetch file content at a specific git ref\n* Extended getReviewCommentEventFromEnv() ret\n[…]\noject-context-graph/spec.md\n* Added 40+ tests covering new behaviour across feedback-handler, github, prompts, and project-context test files\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(feedback): auto-evaluate free-form replies and cache project con…",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-10T23:17:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c12dd1359245a4b1f404043b262e9585a051674e",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 0.1.0-beta.7",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-10T11:54:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d529062aee7b40c68de0f32fea11606805429fa",
          "body": "…imeout messages (#8)\n\n* IndexBuildResult discriminated union replaces string | null return from DependencyGraphIndexer.build()\n* Unsupported stack now logs the actual stack name instead of a generic fallback message\n* Madge timeout is now reported separately from madge runtime errors\n* Madge error detail is captured and printed under DEBUG env var for easier troubleshooting",
          "is_bot": false,
          "headline": "fix(diagnostics): split madge failure log into distinct stack/error/t…",
          "author_name": "Iosvany Alvarez",
          "author_login": "lucasgio",
          "committed_at": "2026-07-10T11:53:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "216ad25905d5f7cca2793a6e157957e8cac95f97",
          "body": "…y (#9)\n\n* Added appDir?: string to ReviewerConfig for specifying the subdirectory where package.json lives\n* TechDetector now resolves from appDir when set, fixing \"Stack detectado: Generic\" for monorepos\n* DependencyGraphIndexer runs madge from appDir so the dependency graph covers the right source files\n* Config option is relative to repo root (e.g. appDir: site/app)",
          "is_bot": false,
          "headline": "feat(config): add appDir option for monorepos with app in subdirector…",
          "author_name": "Iosvany Alvarez",
          "author_login": "lucasgio",
          "committed_at": "2026-07-10T11:49:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6cb87ab1bbd27daa9a96172c4680c0ca67bd3db6",
          "body": "…nts (#10)\n\n* Added getPushEventShasFromEnv() that reads before/after SHAs from synchronize event payload\n* Added GitHubClient.getCompareFiles() to fetch only the incremental push diff\n* Added GitHubClient.findBotSummaryCommentId() to locate the bot's summary comment for ThreadResolver\n* Added Promp\n[…]\nfound\n* Added 35 new tests covering getPushEventShasFromEnv, getCompareFiles, findBotSummaryCommentId, buildIncrementalSystemPrompt, buildIncrementalUserPrompt, and full incremental orchestration path",
          "is_bot": false,
          "headline": "feat(review): add incremental re-review mode for synchronize push eve…",
          "author_name": "Iosvany Alvarez",
          "author_login": "lucasgio",
          "committed_at": "2026-07-10T11:48:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0ff89490d2fd120d5505758298d41678c2204aa3",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 0.1.0-beta.6",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-10T10:36:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1c9ccc346a4030be5bb078492f7c049402754cd",
          "body": "…threadNodeId after posting (#7)\n\n* Fixed bug where buildFindingMetadata was called with commentId=0 and threadNodeId='' before createReview posted the comments\n* Added patchInlineCommentMetadata private method that fetches the review's actual comment IDs and thread node IDs after posting\n* Added fe\n[…]\newThread IDs\n* Added InlineCommentEntry, ReviewThreadNode, and ReviewThreadsResponse interfaces\n* Each inline comment is now edited immediately after the review is posted to embed the correct metadata",
          "is_bot": false,
          "headline": "fix(feedback): patch inline comment metadata with real commentId and …",
          "author_name": "Iosvany Alvarez",
          "author_login": "lucasgio",
          "committed_at": "2026-07-10T10:35:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bb3476f53a55df4d6db8710ea9e7ab9ab28072c8",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 0.1.0-beta.5",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-09T21:46:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "013ad0ba889a96125ee47befee9d9076c9bbe66f",
          "body": "* Replaced language link button with a select dropdown (🇺🇸 EN / 🇦🇷 ES)\n* Added first-visit auto-redirect: detects navigator.language and redirects to /es when browser is Spanish\n* Persists user preference in localStorage; auto-redirect fires only once",
          "is_bot": false,
          "headline": "feat(docs): language select with browser auto-detection",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-09T21:46:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d91569e1f2c28007c9d9cc0f7494af691c1123f3",
          "body": "* Added __test__/handle-feedback.test.ts with 4 tests for handleFeedback() using vi.hoisted + vi.mock\n* Extended __test__/github.test.ts with 10 tests for getReviewCommentEventFromEnv, getPullRequestContextFromEnv, buildDiffLineMap\n* Added spec docs/specs/feedback-handler-test-coverage/spec.md",
          "is_bot": false,
          "headline": "test: add coverage for handleFeedback orchestrator and github helpers",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-09T21:46:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa8d1068efd20fac4d7cd32985739d156d1999fa",
          "body": "* Added review_requested to pull_request event types in examples workflow\n* Updated getting-started docs (EN + ES) with new trigger and prose note\n* Added spec docs/specs/reviewer-on-request/spec.md",
          "is_bot": false,
          "headline": "feat(workflow): trigger review when bot is requested as reviewer",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-09T21:46:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e2f95c747f67f4e46d6f4fbe6e5f1cfb3eeb15c0",
          "body": "* Replaced custom Tailwind landing page (index.tsx) with index.mdx\n  inside the Nextra docs layout — fixes double-basePath 404\n* Added pages/es/index.mdx (Spanish intro page)\n* Showed index pages in sidebar as Introduction / Introducción\n* Simplified theme.config.tsx language switcher logic\n* Remove\n[…]\nig.js,\n  styles/globals.css, _app.tsx) — no longer needed without custom page\n* Removed tailwindcss/autoprefixer/postcss from devDependencies\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: switch to nextra-docs-template approach, fix 404",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-02T17:42:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a12b97c6fb5a2b5df0509ef844e7c8e7244ad363",
          "body": "* Replaced Astro 6 + Starlight 0.40 with Next.js 14 + Nextra 2.13.4\n* Added custom landing page with hero, feature grid, and quick-start\n* Migrated all 12 existing content pages to MDX format\n* Added 2 new pages: handle-feedback and auto-approve\n* Added full Spanish translations for all 14 doc pages\n[…]\nix Nextra 2 compatibility\n* Deleted old Astro source files (astro.config.mjs, src/)\n* Updated .gitignore to exclude docs/out/ and docs/.next/\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: migrate docs site from Astro+Starlight to Next.js+Nextra",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-07-02T17:13:50Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f5b2da85b0e487f72861a9bdd6f1a6b469186cfd",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): auto-update latest dist-tag after each beta publish",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-28T01:04:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2da337e0f5c53fe6e4ee2bfc35fc56f2508b845d",
          "body": null,
          "is_bot": false,
          "headline": "fix(ci): use @beta dist-tag instead of @latest for npx calls",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-28T00:56:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a088912a5ea5ed5bc444fadc4781aa6cf4b84295",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 0.1.0-beta.4",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-28T00:27:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "969f7415d34a06b409585be703951dc565a55e81",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): merge develop into main for v0.1.0-beta.4",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-28T00:27:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5cd84e89bb737482a6d18f6e5fdf1038a8246944",
          "body": "feat(reviewer): add auto-approve on clean re-review",
          "is_bot": false,
          "headline": "Merge pull request #6 from giolabs/feat/auto_approve",
          "author_name": "Iosvany Alvarez",
          "author_login": "lucasgio",
          "committed_at": "2026-06-28T00:13:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "525ea1276c298f35a325788ebd38182a59466a69",
          "body": "…o blocking findings\n\n* Added AutoApproveConfig interface and autoApprove field to ReviewerConfig in types.ts\n* Added autoApprove block parsing with defaults (enabled: false, minScore: 7) in config.ts\n* Added listPullRequestReviews() and dismissReview() methods to GitHubClient in github.ts\n* Added P\n[…]\nMENT fallback with conditional APPROVE flow in reviewPullRequest()\n* Added 11 tests for shouldAutoApprove() in __test__/reviewer.test.ts\n* Added spec at docs/specs/auto-approve-on-clean-review/spec.md",
          "is_bot": false,
          "headline": "feat(reviewer): add auto-approve when model recommends approve with n…",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-28T00:07:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5fef1de5c3a92f4465d7187f0bea39e701aa4701",
          "body": null,
          "is_bot": false,
          "headline": "fix: add repository field to package.json for npm provenance validation",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-27T22:51:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "725e68af0c3f6d0717ca4e83cb2cd281d9cec8e5",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): use granular NPM_TOKEN (bypasses per-package 2FA)",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-27T22:45:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "84d9748f38dc38763e60e517d02cd3d09377e5f3",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): debug npm config and OIDC environment",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-27T22:43:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9df0ebee12eec451755db5f1a78c90275d0d5fb0",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): configure registry via npm config to avoid token injection",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-27T22:42:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73397ac74230a9b891b5905ee83b29122ff8f867",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): override NODE_AUTH_TOKEN to empty to allow OIDC exchange",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-27T22:41:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3372590bdcd195db0d167b5eadae5e9497ab59b9",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): unset NODE_AUTH_TOKEN in publish step for OIDC exchange",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-27T22:39:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b1794a49c8ee3d151f73ad5c62cc0ba2a04bfe2",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): clear empty auth token to allow OIDC exchange",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-27T22:37:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc2caa82bf5e5f5bd5b8dd72862150329f7bb720",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): fix OIDC auth by removing registry-url from setup-node",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-27T22:31:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e30123cc091f02ffab3026644ba195b02b0276a",
          "body": "…3 version bump)",
          "is_bot": false,
          "headline": "chore: merge develop into main (ci/cd publish workflow + v0.1.0-beta.…",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-27T22:21:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ed99de9e6e336586f1873206743e3da51a9fcea",
          "body": "* Added publish.yml workflow using npm Provenance/OIDC authentication\n* Added workflow_dispatch trigger for manual publishes\n* Bumped package.json version to 0.1.0-beta.3",
          "is_bot": false,
          "headline": "ci(publish): add npm OIDC Trusted Publisher workflow",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-27T22:20:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54fe4d0c4ae6718ab43d95270f1a8b2f819094e6",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 0.1.0-beta.3",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-25T12:46:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d46b41a49d9a0cc712c07695a08452036653a767",
          "body": "feat(feedback): inline comment feedback — /explain, /dismiss, auto-resolve",
          "is_bot": false,
          "headline": "Merge pull request #5 from giolabs/develop",
          "author_name": "Iosvany Alvarez",
          "author_login": "lucasgio",
          "committed_at": "2026-06-25T12:44:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d252a5bd8291ae1a752c9c144fe502ea79eadfec",
          "body": null,
          "is_bot": false,
          "headline": "chore: merge main into develop, resolve package-lock.json conflict",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-25T12:44:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0eea636be86d29371cb522e61d8e034ff073f66",
          "body": "feat(feedback): add inline comment feedback with /explain and /dismiss slash commands",
          "is_bot": false,
          "headline": "Merge pull request #4 from giolabs/feat/inline_comment_feedback",
          "author_name": "Iosvany Alvarez",
          "author_login": "lucasgio",
          "committed_at": "2026-06-25T12:34:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11245b4a64c682d27310566cb1c4ccba4b0aea99",
          "body": "…s slash commands\n\n* Added FeedbackHandler class to parse /explain and /dismiss slash commands from PR review comment replies\n* Added ThreadResolver class to auto-resolve review threads when findings are fixed in a subsequent push\n* Refactored github.ts from module-level functions to GitHubClient cl\n[…]\nxedOptions, ExplainPromptOptions types\n* Added @octokit/graphql dependency for resolveReviewThread GraphQL mutation\n* Added 21 new tests across feedback-handler, thread-resolver, and github test files",
          "is_bot": false,
          "headline": "feat(feedback): add inline comment feedback with /explain and /dismis…",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-22T14:02:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2253ca919d01fd2c90905ee1e6fdda90f1279d39",
          "body": null,
          "is_bot": false,
          "headline": "ci: remove automated npm publish workflow",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T18:36:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10d59523d5c172e5a50a249c56bef41263b3312a",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): restore registry-url and NPM_TOKEN auth",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:50:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e2f17f7edc39c22d29167a0a8109bd27f3ba5b7",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): use OIDC trusted publisher without registry-url token",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:48:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "193947eccc6c0ce17201b864f7fc1a746dd121ce",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): restore NPM_TOKEN auth with provenance",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:43:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c2d3d1a4bccbf5929b0ffb56d31fa6035d1861d",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): remove NPM_TOKEN, authenticate via OIDC trusted publisher",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:38:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "514e3acc5708206a3b794915977ec8ddd3605b4b",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): add OIDC provenance support for npm publish",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:35:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "382bad72c8e8d3a00387ad2f5e4b9caa147bf10d",
          "body": null,
          "is_bot": false,
          "headline": "ci(docs): remove tag trigger from deploy-docs workflow",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:31:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57311b2bdf234f05ebfeb2b59f421df16ea18240",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 0.1.0-beta.2",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:22:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4fbb40b99c9bfefa742e462e0766b5b51660523e",
          "body": "ci(publish): add npm publish workflow triggered on version tags",
          "is_bot": false,
          "headline": "Merge pull request #3 from giolabs/develop",
          "author_name": "Iosvany Alvarez",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:21:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "775d24e092d33e26f8dbca1bb2f664168d8c3a9d",
          "body": null,
          "is_bot": false,
          "headline": "ci(publish): add npm publish workflow triggered on version tags",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:18:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fbac11ff9686560673683c2991de515c07d556b6",
          "body": "docs(local-usage): add installation options section",
          "is_bot": false,
          "headline": "Merge pull request #2 from giolabs/develop",
          "author_name": "Iosvany Alvarez",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:13:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "271f8b4cf1a08a5ae84888657f1a4d37b52e712a",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into develop",
          "author_name": "Iosvany Alvarez",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:13:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ac97d51a95b643112726131b776e733bba8cfce",
          "body": "…options",
          "is_bot": false,
          "headline": "docs(local-usage): add global install and devDependency installation …",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:10:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de2e5cc71570e8fe65ba4cf9cb2fc6cde9c47c6e",
          "body": "Develop",
          "is_bot": false,
          "headline": "Merge pull request #1 from giolabs/develop",
          "author_name": "Iosvany Alvarez",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T17:07:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4690eaef4979f6f47e86d1367592bda3246b8a8d",
          "body": "* Added docs/src/content/docs/contributing.md with branching strategy, CI, commit conventions, and security policy link\n* Added Contributing entry to sidebar in astro.config.mjs\n* Fixed npx command in getting-started.md and index.mdx to use scoped package name @giolabsuy/ai-code-reviewer\n* Added Unreleased section to changelog documenting branch protection, CI workflow, develop branch, CONTRIBUTING.md, SECURITY.md, and GitHub templates",
          "is_bot": false,
          "headline": "docs: add contributing page and fix package name in workflow examples",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T16:58:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7dae1416a9dc4980f38bffd16852da2ab76c575",
          "body": "…rnance\n\n* Added .github/workflows/ci.yml to run build and tests on PRs targeting main and develop\n* Added CONTRIBUTING.md with branching strategy, commit conventions, and PR checklist\n* Added SECURITY.md with private vulnerability disclosure policy and response timeline\n* Added .github/pull_request\n[…]\nlate.md with summary, type, test plan, and checklist sections\n* Added .github/ISSUE_TEMPLATE/bug_report.md and feature_request.md\n* Added docs/specs/branch-protection-and-open-source-hardening/spec.md",
          "is_bot": false,
          "headline": "chore(repo): add branch protection, CI workflow, and open source gove…",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T16:34:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0ca581f03d1d04693a3d54c7d70d4207d8af66bc",
          "body": "* Updated package name to @giolabsuy/ai-code-reviewer\n* Updated .npmrc to point @giolabsuy scope to npmjs.com\n* Updated all npx references in README and docs",
          "is_bot": false,
          "headline": "chore: rename npm scope to @giolabsuy/ai-code-reviewer",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T16:09:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a5969e25e7ec3951162ab60211b412d343620d0",
          "body": "* Updated package name to scoped @giolabs/ai-code-reviewer\n* Updated all npx references in README and docs",
          "is_bot": false,
          "headline": "chore: rename npm package to @giolabs/ai-code-reviewer",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T16:00:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dfe4a0d759d5a551e46b240f8bed39af884a8c32",
          "body": null,
          "is_bot": false,
          "headline": "ci(docs): trigger Pages deploy on release tags (v*)",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T15:46:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce8a8702e9047df22b1a3583375d9d60a8395236",
          "body": null,
          "is_bot": false,
          "headline": "ci(docs): upgrade Node.js to v22 for Astro 6 compatibility",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T04:39:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eef189fb47509380e4a585b3554af8c8a1914936",
          "body": null,
          "is_bot": false,
          "headline": "ci: remove GitHub auto-generated static Pages workflow",
          "author_name": "lucasgio",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T04:37:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71d9ce26d71ca749a09806455e7e857d447182a0",
          "body": null,
          "is_bot": false,
          "headline": "Create static.yml",
          "author_name": "Iosvany Alvarez",
          "author_login": "lucasgio",
          "committed_at": "2026-06-20T04:24:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "724e4bd22562dde7b6e9d67e4cebc7c9b75ce50c",
          "body": "* Added Starlight (Astro 6 + @astrojs/starlight 0.40) docs site under docs/\n* Added 12 content pages: landing, getting-started, providers, configuration, cli-reference, tech-stacks, custom-rules, local-usage, design, limitations, changelog, troubleshooting\n* Added docs/src/content.config.ts using Content Layer API (docsLoader + docsSchema)\n* Added GitHub Actions workflow to deploy docs to GitHub Pages on push to main\n* Updated .gitignore to exclude docs/dist, docs/node_modules, and docs/.astro",
          "is_bot": false,
          "headline": "docs: add Starlight documentation website with GitHub Pages deploy",
          "author_name": "Giolabs",
          "author_login": "giolabsuydev",
          "committed_at": "2026-06-20T04:16:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20a14e85c9a44f25e16b5d2eb34b2b98f4a387f4",
          "body": "* Bumped version to 0.1.0-beta.1\n* Updated description to be provider-agnostic\n* Added anthropic, gemini, ollama, multi-provider keywords; removed gpt\n* Added examples/ to package.json files so it ships with the npm package\n* Rewrote examples/code-review-rules.md in English with rich NestJS/TypeScript content\n* Added docs/specs/beta-release-prep/spec.md",
          "is_bot": false,
          "headline": "chore(release): prepare beta release 0.1.0-beta.1",
          "author_name": "Giolabs",
          "author_login": "giolabsuydev",
          "committed_at": "2026-06-20T03:32:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "862110899121d3b885a67118a732a1da7eea463f",
          "body": "* Translated all README prose from Spanish to English\n* Added Providers section with table for OpenAI, Anthropic, Gemini, and Ollama\n* Added dependency graph context and anticipated bugs/regression risk bullets to Features\n* Updated review-pr command description with dependency graph behavior\n* Upda\n[…]\nved Costos section\n* Replaced OpenAI-only design decision paragraph with multi-provider rationale\n* Fixed structured output bullet to be provider-agnostic\n* Added docs/specs/readme-beta-update/spec.md",
          "is_bot": false,
          "headline": "docs(readme): translate to English and update for beta release",
          "author_name": "Giolabs",
          "author_login": "giolabsuydev",
          "committed_at": "2026-06-20T03:07:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6a6a8eee792271a53b49f46b963a2427f55c032b",
          "body": "…port\n\n* Added DependencyGraphIndexer class using madge for 1-level import/importer analysis\n* Added RegressionRisk interface and anticipatedBugs/regressionRisks fields to ReviewResult\n* Extended PromptBuilder to inject dependency index and LLM instructions into system prompt\n* Extended REVIEW_SCHEM\n[…]\ndated reviewer.ts to orchestrate indexer in review-pr and extend PR summary comment\n* Added madge and @types/madge dependencies\n* Added spec at docs/specs/project-context-index-and-risk-report/spec.md",
          "is_bot": false,
          "headline": "feat(review): add dependency graph context and bug/regression risk re…",
          "author_name": "Giolabs",
          "author_login": "giolabsuydev",
          "committed_at": "2026-06-20T02:34:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1ef514c82ee33b121d15133689c915c44f07a12b",
          "body": null,
          "is_bot": false,
          "headline": "test(core): add unit tests for core classes",
          "author_name": "Giolabs",
          "author_login": "giolabsuydev",
          "committed_at": "2026-06-20T01:18:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e41d3e4b88f878fe6692858481690e7e8a72325",
          "body": null,
          "is_bot": false,
          "headline": "refactor(core): convert module-level logic to classes",
          "author_name": "Giolabs",
          "author_login": "giolabsuydev",
          "committed_at": "2026-06-20T01:17:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "40c062a37adb90f950cd98f38b5fbc07e7e13d95",
          "body": "* Added .gitignore covering node_modules/, dist/, .env variants, .DS_Store, coverage/, and log files\n* Removed dist/ build output from git tracking (git rm --cached)\n* Added docs/specs/gitignore/spec.md documenting the change",
          "is_bot": false,
          "headline": "chore: add .gitignore and untrack build artifacts",
          "author_name": "Giolabs",
          "author_login": "giolabsuydev",
          "committed_at": "2026-06-20T00:17:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36e972396964485c2fd51b787b0a6312366c2d80",
          "body": "…lines",
          "is_bot": false,
          "headline": "docs(claude): add TypeScript, testing, language, and spec-first guide…",
          "author_name": "Giolabs",
          "author_login": "giolabsuydev",
          "committed_at": "2026-06-19T20:01:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 17,
      "commits_last_year": 86,
      "latest_release_at": "2026-07-17T18:02:18Z",
      "latest_release_tag": "v0.1.0-beta.18",
      "releases_from_tags": false,
      "days_since_last_push": 5,
      "active_weeks_last_year": 5,
      "days_since_latest_release": 5,
      "mean_days_between_releases": 0.8
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 87,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@giolabsuy/ai-code-reviewer",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "code-review",
            "ai",
            "openai",
            "anthropic",
            "gemini",
            "ollama",
            "multi-provider",
            "github-actions",
            "pull-request",
            "cli",
            "static-analysis"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@giolabsuy/ai-code-reviewer",
          "is_deprecated": false,
          "latest_version": "0.1.0-beta.18",
          "repository_url": "https://github.com/giolabs/ai-code-reviewer",
          "versions_count": 18,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 3286,
          "first_published_at": "2026-06-20T16:13:01.151000Z",
          "latest_published_at": "2026-07-17T18:02:43.218000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 0,
      "watchers": 0,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_stars": 0,
        "collected_at": null
      },
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "node_modules/delayed-stream/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "docs/tsconfig.json",
        "node_modules/@anthropic-ai/sdk/src/tsconfig.json",
        "node_modules/call-bind-apply-helpers/tsconfig.json",
        "node_modules/dunder-proto/tsconfig.json",
        "node_modules/es-define-property/tsconfig.json",
        "node_modules/es-errors/tsconfig.json",
        "node_modules/es-object-atoms/tsconfig.json",
        "node_modules/es-set-tostringtag/tsconfig.json",
        "node_modules/get-proto/tsconfig.json",
        "node_modules/gopd/tsconfig.json",
        "node_modules/has-symbols/tsconfig.json",
        "node_modules/has-tostringtag/tsconfig.json",
        "node_modules/hasown/tsconfig.json",
        "node_modules/math-intrinsics/tsconfig.json",
        "node_modules/openai/src/tsconfig.json",
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 40070,
      "source_files_sampled": 59,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "CLAUDE.md",
        "node_modules/undici/docs/api/Agent.md"
      ],
      "agent_instruction_max_bytes": 14575
    },
    "dependencies": {
      "manifests": [
        "docs/package.json",
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "js-yaml",
            "direct": true,
            "version": "4.2.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52cp-r559-cp3m"
            ],
            "fixed_version": "4.3.0",
            "advisory_count": 1,
            "oldest_advisory_days": 2
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp"
            ],
            "fixed_version": "5.0.7",
            "advisory_count": 1,
            "oldest_advisory_days": 2
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp"
            ],
            "fixed_version": "5.0.7",
            "advisory_count": 1,
            "oldest_advisory_days": 2
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "5.1.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3xgq-45jj-v275"
            ],
            "fixed_version": "7.0.5",
            "advisory_count": 1,
            "oldest_advisory_days": 621
          },
          {
            "name": "next",
            "direct": false,
            "version": "14.2.29",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.6,
            "advisory_ids": [
              "GHSA-36qx-fr4f-26g5",
              "GHSA-3g8h-86w9-wvmq",
              "GHSA-3h52-269p-cp9r",
              "GHSA-3x4c-7xq6-9pq8",
              "GHSA-4342-x723-ch2f",
              "GHSA-4633-3j49-mh5q",
              "GHSA-4c39-4ccg-62r3",
              "GHSA-5j59-xgg2-r9c4",
              "GHSA-68g3-v927-f742",
              "GHSA-89xv-2m56-2m9x"
            ],
            "fixed_version": "16.2.11",
            "advisory_count": 27,
            "oldest_advisory_days": 420
          },
          {
            "name": "next-mdx-remote",
            "direct": false,
            "version": "4.4.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.8,
            "advisory_ids": [
              "GHSA-g4xw-jxrg-5f6m"
            ],
            "fixed_version": "6.0.0",
            "advisory_count": 1,
            "oldest_advisory_days": 160
          },
          {
            "name": "undici",
            "direct": false,
            "version": "5.29.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-2mjp-6q6p-2qxm",
              "GHSA-35p6-xmwp-9g52",
              "GHSA-4992-7rv2-5pvq",
              "GHSA-g8m3-5g58-fq7m",
              "GHSA-g9mf-h72j-4rw9",
              "GHSA-p88m-4jfj-68fv",
              "GHSA-v9p9-hfj2-hcw8",
              "GHSA-vrm6-8vpv-qv8q",
              "GHSA-vxpw-j846-p89q"
            ],
            "fixed_version": "8.5.0",
            "advisory_count": 9,
            "oldest_advisory_days": 189
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.4.31",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.1,
            "advisory_ids": [
              "GHSA-qx2v-qp2m-jg93"
            ],
            "fixed_version": "8.5.10",
            "advisory_count": 1,
            "oldest_advisory_days": 89
          },
          {
            "name": "dompurify",
            "direct": false,
            "version": "3.4.11",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 0,
            "advisory_ids": [
              "GHSA-c2j3-45gr-mqc4"
            ],
            "fixed_version": "3.4.12",
            "advisory_count": 1,
            "oldest_advisory_days": 1
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.27.7",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 2.5,
            "advisory_ids": [
              "GHSA-g7r4-m6w7-qqqr"
            ],
            "fixed_version": "0.28.1",
            "advisory_count": 1,
            "oldest_advisory_days": 40
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "low": 2,
          "high": 7,
          "moderate": 1
        },
        "advisory_count": 44,
        "affected_count": 10,
        "assessed_count": 735,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 1
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@actions/core",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.11.0"
        },
        {
          "name": "@anthropic-ai/sdk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.39.0"
        },
        {
          "name": "@google/generative-ai",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.21.0"
        },
        {
          "name": "@octokit/graphql",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^9.0.3"
        },
        {
          "name": "@octokit/rest",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^21.0.0"
        },
        {
          "name": "chalk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.3.0"
        },
        {
          "name": "commander",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^12.1.0"
        },
        {
          "name": "dotenv",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^16.4.5"
        },
        {
          "name": "js-yaml",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.1.0"
        },
        {
          "name": "madge",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.0.0"
        },
        {
          "name": "openai",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.67.0"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@actions/core",
            "direct": true,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@anthropic-ai/sdk",
            "direct": true,
            "version": "0.39.0",
            "ecosystem": "npm"
          },
          {
            "name": "@google/generative-ai",
            "direct": true,
            "version": "0.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/graphql",
            "direct": true,
            "version": "8.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/graphql",
            "direct": true,
            "version": "9.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/rest",
            "direct": true,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "5.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "dotenv",
            "direct": true,
            "version": "16.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": true,
            "version": "3.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": true,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "madge",
            "direct": true,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "openai",
            "direct": true,
            "version": "4.104.0",
            "ecosystem": "npm"
          },
          {
            "name": "@actions/exec",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@actions/http-client",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@actions/io",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@ampproject/remapping",
            "direct": false,
            "version": "2.3.0",
            "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/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "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": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@braintree/sanitize-url",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@dependents/detective-less",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@discoveryjs/json-ext",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/busboy",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@headlessui/react",
            "direct": false,
            "version": "1.7.19",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@istanbuljs/schema",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "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": "@mdx-js/mdx",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@mdx-js/react",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-android-arm-eabi",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-android-arm64",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-darwin-arm64",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-darwin-x64",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-freebsd-x64",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-linux-arm-gnueabihf",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-linux-arm64-gnu",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-linux-arm64-musl",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-linux-ppc64-gnu",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-linux-s390x-gnu",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-linux-x64-gnu",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-linux-x64-musl",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-win32-arm64-msvc",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-win32-ia32-msvc",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/simple-git-win32-x64-msvc",
            "direct": false,
            "version": "0.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "@next/env",
            "direct": false,
            "version": "14.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "@next/swc-darwin-arm64",
            "direct": false,
            "version": "14.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "@next/swc-darwin-x64",
            "direct": false,
            "version": "14.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "@next/swc-linux-arm64-gnu",
            "direct": false,
            "version": "14.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "@next/swc-linux-arm64-musl",
            "direct": false,
            "version": "14.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "@next/swc-linux-x64-gnu",
            "direct": false,
            "version": "14.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "@next/swc-linux-x64-musl",
            "direct": false,
            "version": "14.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "@next/swc-win32-arm64-msvc",
            "direct": false,
            "version": "14.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "@next/swc-win32-ia32-msvc",
            "direct": false,
            "version": "14.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "@next/swc-win32-x64-msvc",
            "direct": false,
            "version": "14.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/auth-token",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/core",
            "direct": false,
            "version": "6.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/endpoint",
            "direct": false,
            "version": "10.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/endpoint",
            "direct": false,
            "version": "11.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/openapi-types",
            "direct": false,
            "version": "24.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/openapi-types",
            "direct": false,
            "version": "25.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/openapi-types",
            "direct": false,
            "version": "27.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/plugin-paginate-rest",
            "direct": false,
            "version": "11.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/plugin-request-log",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/plugin-rest-endpoint-methods",
            "direct": false,
            "version": "13.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/request",
            "direct": false,
            "version": "10.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/request",
            "direct": false,
            "version": "9.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/request-error",
            "direct": false,
            "version": "6.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/request-error",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/types",
            "direct": false,
            "version": "13.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/types",
            "direct": false,
            "version": "14.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/types",
            "direct": false,
            "version": "16.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgjs/parseargs",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@popperjs/core",
            "direct": false,
            "version": "2.11.8",
            "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": "@swc/counter",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/helpers",
            "direct": false,
            "version": "0.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/react-virtual",
            "direct": false,
            "version": "3.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/virtual-core",
            "direct": false,
            "version": "3.17.3",
            "ecosystem": "npm"
          },
          {
            "name": "@theguild/remark-mermaid",
            "direct": false,
            "version": "0.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@theguild/remark-npm2yarn",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@ts-graphviz/adapter",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@ts-graphviz/ast",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@ts-graphviz/common",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@ts-graphviz/core",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/acorn",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-scale",
            "direct": false,
            "version": "4.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-scale-chromatic",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-time",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/debug",
            "direct": false,
            "version": "4.1.13",
            "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/estree-jsx",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/hast",
            "direct": false,
            "version": "2.3.10",
            "ecosystem": "npm"
          },
          {
            "name": "@types/hast",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/js-yaml",
            "direct": false,
            "version": "4.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/katex",
            "direct": false,
            "version": "0.16.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/madge",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdast",
            "direct": false,
            "version": "3.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdast",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdx",
            "direct": false,
            "version": "2.0.14",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ms",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "18.19.130",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "20.19.43",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "22.19.21",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node-fetch",
            "direct": false,
            "version": "2.6.13",
            "ecosystem": "npm"
          },
          {
            "name": "@types/prop-types",
            "direct": false,
            "version": "15.7.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react",
            "direct": false,
            "version": "18.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@types/trusted-types",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "2.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.61.1",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/structured-clone",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/coverage-v8",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-sfc",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "abort-controller",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "agentkeepalive",
            "direct": false,
            "version": "4.6.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-sequence-parser",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.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": "app-module-path",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "arch",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "arg",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ast-module-types",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ast-v8-to-istanbul",
            "direct": false,
            "version": "0.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "astring",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "asynckit",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "bail",
            "direct": false,
            "version": "2.0.2",
            "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": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "before-after-hook",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "bl",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "busboy",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "cac",
            "direct": false,
            "version": "6.7.14",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001800",
            "ecosystem": "npm"
          },
          {
            "name": "ccount",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "5.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-html4",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-legacy",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "character-reference-invalid",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "check-error",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "cli-cursor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-spinners",
            "direct": false,
            "version": "2.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "client-only",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "clipboardy",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "clone",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "clsx",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "combined-stream",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "comma-separated-tokens",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "commondir",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "compute-scroll-into-view",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cose-base",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape",
            "direct": false,
            "version": "3.34.0",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape-cose-bilkent",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3",
            "direct": false,
            "version": "7.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "2.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-axis",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-brush",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-chord",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-color",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-contour",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-delaunay",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dispatch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-drag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dsv",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-ease",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-fetch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-force",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-format",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-geo",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-hierarchy",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-interpolate",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-polygon",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-quadtree",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-random",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-sankey",
            "direct": false,
            "version": "0.12.3",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale-chromatic",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-selection",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "1.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time-format",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-timer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-transition",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-zoom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dagre-d3-es",
            "direct": false,
            "version": "7.0.13",
            "ecosystem": "npm"
          },
          {
            "name": "dayjs",
            "direct": false,
            "version": "1.11.21",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decode-named-character-reference",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-eql",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "deep-extend",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "defaults",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "delaunator",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "delayed-stream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dependency-tree",
            "direct": false,
            "version": "11.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "dequal",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "detective-amd",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "detective-cjs",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "detective-es6",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "detective-postcss",
            "direct": false,
            "version": "8.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "detective-sass",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "detective-scss",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "detective-stylus",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "detective-typescript",
            "direct": false,
            "version": "14.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "detective-vue2",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "devlop",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "dompurify",
            "direct": false,
            "version": "3.4.11",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "eastasianwidth",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "elkjs",
            "direct": false,
            "version": "0.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.24.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "7.0.1",
            "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": "1.7.0",
            "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.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escodegen",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-util-attach-comments",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "estree-util-build-jsx",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "estree-util-is-identifier-name",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-util-is-identifier-name",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-util-to-js",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-util-value-to-estree",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-util-visit",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "event-target-shim",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "extend",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "extend-shallow",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-content-type-parse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "filing-cabinet",
            "direct": false,
            "version": "5.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "flexsearch",
            "direct": false,
            "version": "0.7.43",
            "ecosystem": "npm"
          },
          {
            "name": "focus-visible",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "form-data-encoder",
            "direct": false,
            "version": "1.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "formdata-node",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-amd-module-type",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-own-enumerable-property-symbols",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "git-up",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "git-url-parse",
            "direct": false,
            "version": "13.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "github-slugger",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "10.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "gonzales-pe",
            "direct": false,
            "version": "4.3.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": "gray-matter",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "2.0.0",
            "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": "hash-obj",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-from-dom",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-from-html",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-from-html-isomorphic",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-from-parse5",
            "direct": false,
            "version": "8.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-is-element",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-parse-selector",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-raw",
            "direct": false,
            "version": "9.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-to-estree",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-to-parse5",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-to-text",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-whitespace",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hastscript",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "html-escaper",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "html-void-elements",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "humanize-ms",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "inline-style-parser",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "internmap",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "internmap",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "intersection-observer",
            "direct": false,
            "version": "0.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-alphabetical",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-alphanumerical",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-buffer",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.16.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-decimal",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-extendable",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-hexadecimal",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-interactive",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-obj",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-obj",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-reference",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-regexp",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-ssh",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-url-superb",
            "direct": false,
            "version": "4.0.0",
            "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-report",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-source-maps",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-reports",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-with-bigint",
            "direct": false,
            "version": "3.5.8",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsonc-parser",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "katex",
            "direct": false,
            "version": "0.16.47",
            "ecosystem": "npm"
          },
          {
            "name": "khroma",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "kind-of",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "kleur",
            "direct": false,
            "version": "4.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "layout-base",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash-es",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.get",
            "direct": false,
            "version": "4.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "log-symbols",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "longest-streak",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "loose-envify",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "loupe",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "10.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "4.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "magicast",
            "direct": false,
            "version": "0.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-extensions",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-table",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "match-sorter",
            "direct": false,
            "version": "6.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-definitions",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-find-and-replace",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-from-markdown",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-autolink-literal",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-footnote",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-strikethrough",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-table",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-task-list-item",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-math",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-mdx",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-mdx-expression",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-mdx-jsx",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-mdxjs-esm",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-phrasing",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-hast",
            "direct": false,
            "version": "12.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-hast",
            "direct": false,
            "version": "13.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-markdown",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-string",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "mermaid",
            "direct": false,
            "version": "10.9.6",
            "ecosystem": "npm"
          },
          {
            "name": "micromark",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-core-commonmark",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-autolink-literal",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-footnote",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-strikethrough",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-table",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-tagfilter",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-task-list-item",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-math",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-mdx-expression",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-mdx-jsx",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-mdx-md",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-mdxjs",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-mdxjs-esm",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-destination",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-label",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-mdx-expression",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-space",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-title",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-whitespace",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-character",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-character",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-chunked",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-classify-character",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-combine-extensions",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-decode-numeric-character-reference",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-decode-string",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-encode",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-encode",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-events-to-acorn",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-html-tag-name",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-normalize-identifier",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-resolve-all",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-sanitize-uri",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-sanitize-uri",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-subtokenize",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-symbol",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-symbol",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-types",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-types",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.35",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "module-definition",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "module-lookup-amd",
            "direct": false,
            "version": "9.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mri",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "next",
            "direct": false,
            "version": "14.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "next-mdx-remote",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "next-seo",
            "direct": false,
            "version": "6.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "next-themes",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "nextra",
            "direct": false,
            "version": "2.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "nextra-theme-docs",
            "direct": false,
            "version": "2.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "node-domexception",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-fetch",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-source-walk",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "non-layered-tidy-tree-layout",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "npm-to-yarn",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "ora",
            "direct": false,
            "version": "5.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "p-finally",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-entities",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "parse-ms",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-numeric-range",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-path",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-url",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "7.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "2.0.1",
            "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": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pathval",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "periscopic",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pluralize",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.4.31",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-values-parser",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "precinct",
            "direct": false,
            "version": "12.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-ms",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "property-information",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "property-information",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "protocols",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "pseudomap",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "quote-unquote",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "rc",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": false,
            "version": "18.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": false,
            "version": "18.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "reading-time",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "rehype-katex",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "rehype-pretty-code",
            "direct": false,
            "version": "0.9.11",
            "ecosystem": "npm"
          },
          {
            "name": "rehype-raw",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-gfm",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "remark-math",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "remark-mdx",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-parse",
            "direct": false,
            "version": "10.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "remark-reading-time",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-rehype",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "remove-accents",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "requirejs",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "requirejs-config-file",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.12",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-dependency-path",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "restore-cursor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "robust-predicates",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "rw",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "sade",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "sass-lookup",
            "direct": false,
            "version": "6.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "scheduler",
            "direct": false,
            "version": "0.23.2",
            "ecosystem": "npm"
          },
          {
            "name": "scroll-into-view-if-needed",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "section-matter",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "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": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shiki",
            "direct": false,
            "version": "0.14.7",
            "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": "slash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "sort-keys",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.7.6",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "space-separated-tokens",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "3.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-to-array",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "streamsearch",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "stringify-entities",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "stringify-object",
            "direct": false,
            "version": "3.3.0",
            "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": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom-string",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-eof",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-literal",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "style-to-object",
            "direct": false,
            "version": "0.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "styled-jsx",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "stylis",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "stylus-lookup",
            "direct": false,
            "version": "6.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-preserve-symlinks-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tapable",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "test-exclude",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinypool",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyspy",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "title",
            "direct": false,
            "version": "3.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "titleize",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "0.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "trim-lines",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "trough",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-dedent",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-graphviz",
            "direct": false,
            "version": "2.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "tsconfig-paths",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "4.22.4",
            "ecosystem": "npm"
          },
          {
            "name": "tunnel",
            "direct": false,
            "version": "0.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "5.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "5.26.5",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "unified",
            "direct": false,
            "version": "10.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-find-after",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-generated",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-is",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-is",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-position",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-position",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-position-from-estree",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-remove",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-remove-position",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-remove-position",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-stringify-position",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-stringify-position",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit-parents",
            "direct": false,
            "version": "5.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit-parents",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "universal-user-agent",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "14.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "uvu",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "vfile",
            "direct": false,
            "version": "5.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "vfile",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-location",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-matter",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-message",
            "direct": false,
            "version": "3.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-message",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "7.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "vite-node",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-oniguruma",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-textmate",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "walkdir",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "wcwidth",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "web-namespaces",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "web-streams-polyfill",
            "direct": false,
            "version": "4.0.0-beta.3",
            "ecosystem": "npm"
          },
          {
            "name": "web-worker",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "1.3.1",
            "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": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": false,
            "version": "3.25.76",
            "ecosystem": "npm"
          },
          {
            "name": "zwitch",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 735,
        "direct_count": 17,
        "indirect_count": 718
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 10,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "lucasgio",
          "commits": 78,
          "avatar_url": "https://avatars.githubusercontent.com/u/57779728?v=4"
        },
        {
          "type": "User",
          "login": "giolabsuydev",
          "commits": 8,
          "avatar_url": "https://avatars.githubusercontent.com/u/259621443?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.907
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "deploy-docs.yml",
        "handle-feedback.yml",
        "publish.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".eslintrc",
        "eslint.config.js",
        "eslint.config.mjs"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json",
        "yarn.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 6,
            "reason": "binaries present in source code",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "4 out of 4 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": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 3,
            "reason": "project has 1 contributing companies or organizations -- score normalized to 3",
            "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": 0,
            "reason": "no 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": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project was created within the last 90 days. Please review its contents carefully",
            "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": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "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": 0,
            "reason": "43 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "64cd5233bf43097ca3007b9dddab8d681358bd35",
        "ran_at": "2026-07-23T01:05:34Z",
        "aggregate_score": 3.5,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-20T00:46:33Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-10T11:53:14Z",
      "ci_last_conclusion": "STARTUP_FAILURE",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/giolabs/ai-code-reviewer",
    "host": "github.com",
    "name": "ai-code-reviewer",
    "owner": "giolabs"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 62,
      "inputs": {
        "security": 42,
        "vitality": 74,
        "community": 42,
        "governance": 54,
        "engineering": 90
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 74,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 57,
            "inputs": {
              "commits_last_year": 86,
              "human_commit_share": 1,
              "days_since_last_push": 5,
              "active_weeks_last_year": 5
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "5/52 weeks with commits",
                "points": 3.5,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "86 commits in the last year",
                "points": 17.4,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 86
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "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": 17,
              "latest_release_tag": "v0.1.0-beta.18",
              "releases_from_tags": false,
              "days_since_latest_release": 5,
              "mean_days_between_releases": 0.8
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "17 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 17
                    }
                  }
                ],
                "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 ~0.8 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 0.8
                    }
                  }
                ],
                "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": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 42,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 0,
              "stars": 0,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "0 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "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": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "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": 0,
                "status": "missed",
                "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": "moderate",
            "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": 59,
            "inputs": {
              "packages": [
                "@giolabsuy/ai-code-reviewer"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 3286
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "3,286 downloads/month across npm",
                "points": 46.9,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 3286,
                      "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": "moderate",
        "name": "Sustainability & Governance",
        "value": 54,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 17,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.907
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 91% of commits",
                "points": 2.1,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 91
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "2 contributors",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 72,
            "inputs": {
              "merged_prs": 10,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "10/10 decided PRs merged",
                "points": 38.2,
                "status": "met",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 10,
                      "decided": 10
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 43,
            "inputs": {
              "followers": 1,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "giolabs",
              "public_repos": 8,
              "account_age_days": 647
            },
            "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": "1 followers of giolabs",
                "points": 2.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1,
                      "login": "giolabs"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "8 public repos, account ~1 yr old",
                "points": 10.5,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 8
                    }
                  },
                  {
                    "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": [
                "@giolabsuy/ai-code-reviewer"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "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": "18 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 18
                    }
                  }
                ],
                "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": "excellent",
        "name": "Engineering Quality",
        "value": 90,
        "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": ".eslintrc, eslint.config.js, eslint.config.mjs",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc, eslint.config.js, eslint.config.mjs"
                    }
                  }
                ],
                "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": "4 out of 4 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "ai-agents",
                "ai-review"
              ],
              "has_wiki": true,
              "homepage": "https://giolabs.github.io/ai-code-reviewer/",
              "has_readme": true,
              "has_docs_dir": true,
              "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": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://giolabs.github.io/ai-code-reviewer/",
                "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": "2 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 42,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 35,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 3.5
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "4 out of 4 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 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 0.8,
                "status": "partial",
                "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": "no update tool detected",
                "points": 0,
                "status": "missed",
                "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.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "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 0",
                "points": 0,
                "status": "missed",
                "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": "43 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 735 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 735
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 72,
            "inputs": {
              "source": "osv",
              "advisories": 44,
              "affected_packages": 10,
              "assessed_packages": 735,
              "unassessed_packages": 0,
              "affected_by_severity": "high 7, moderate 1, low 2",
              "direct_affected_packages": 1
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "1 affected: js-yaml 4.2.0 (high 7.5)",
                "points": 14,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "js-yaml 4.2.0 (high 7.5)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "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": 735,
              "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": 2
            },
            "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": 80,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.977,
              "agent_instruction_files": [
                "CLAUDE.md",
                "node_modules/undici/docs/api/Agent.md"
              ],
              "agent_instruction_max_bytes": 14575
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "CLAUDE.md, node_modules/undici/docs/api/Agent.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "CLAUDE.md, node_modules/undici/docs/api/Agent.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": "84 of 86 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 84,
                      "sampled": 86
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json",
                "yarn.lock"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [
                "node_modules/delayed-stream/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "docs/tsconfig.json",
                "node_modules/@anthropic-ai/sdk/src/tsconfig.json",
                "node_modules/call-bind-apply-helpers/tsconfig.json",
                "node_modules/dunder-proto/tsconfig.json",
                "node_modules/es-define-property/tsconfig.json",
                "node_modules/es-errors/tsconfig.json",
                "node_modules/es-object-atoms/tsconfig.json",
                "node_modules/es-set-tostringtag/tsconfig.json",
                "node_modules/get-proto/tsconfig.json",
                "node_modules/gopd/tsconfig.json",
                "node_modules/has-symbols/tsconfig.json",
                "node_modules/has-tostringtag/tsconfig.json",
                "node_modules/hasown/tsconfig.json",
                "node_modules/math-intrinsics/tsconfig.json",
                "node_modules/openai/src/tsconfig.json",
                "tsconfig.json"
              ],
              "agent_commit_share": 0.198,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "node_modules/delayed-stream/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "node_modules/delayed-stream/Makefile"
                    }
                  }
                ],
                "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": ".eslintrc, eslint.config.js, eslint.config.mjs",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc, eslint.config.js, eslint.config.mjs"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "docs/tsconfig.json, node_modules/@anthropic-ai/sdk/src/tsconfig.json, node_modules/call-bind-apply-helpers/tsconfig.json, node_modules/dunder-proto/tsconfig.json, node_modules/es-define-property/tsconfig.json, node_modules/es-errors/tsconfig.json, node_modules/es-object-atoms/tsconfig.json, node_modules/es-set-tostringtag/tsconfig.json, node_modules/get-proto/tsconfig.json, node_modules/gopd/tsconfig.json, node_modules/has-symbols/tsconfig.json, node_modules/has-tostringtag/tsconfig.json, node_modules/hasown/tsconfig.json, node_modules/math-intrinsics/tsconfig.json, node_modules/openai/src/tsconfig.json, tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "docs/tsconfig.json, node_modules/@anthropic-ai/sdk/src/tsconfig.json, node_modules/call-bind-apply-helpers/tsconfig.json, node_modules/dunder-proto/tsconfig.json, node_modules/es-define-property/tsconfig.json, node_modules/es-errors/tsconfig.json, node_modules/es-object-atoms/tsconfig.json, node_modules/es-set-tostringtag/tsconfig.json, node_modules/get-proto/tsconfig.json, node_modules/gopd/tsconfig.json, node_modules/has-symbols/tsconfig.json, node_modules/has-tostringtag/tsconfig.json, node_modules/hasown/tsconfig.json, node_modules/math-intrinsics/tsconfig.json, node_modules/openai/src/tsconfig.json, tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "17 of the last 86 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 17,
                      "sampled": 86
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "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": 40070,
              "source_files_sampled": 59,
              "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/59 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 59,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "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": [
    "deps.dev does not index npm:@giolabsuy/ai-code-reviewer@0.1.0-beta.18; advisories assessed against the repository dependency graph instead"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-23T01:05:47.684473Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/giolabs/ai-code-reviewer.svg",
  "full_name": "giolabs/ai-code-reviewer",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

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