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

dealfluence / adeu

docx ↔ LLM translator. Projects .docx to Markdown for editing. Projects edits back to OOXML as tracked changes. Python and Node.js implementations.

Python · TypeScriptMIT★ 129 зірок⑂ 18 форківз груд. 2025 р.Переглянути на GitHub ↗

dealfluence/adeu має індекс здоров’я 72 зі 100, що відповідає смузі «Добрий». Найвищий показник — Engineering Quality (90/100), найнижчий — Security (59/100). Останнє оновлення — сьогодні. Більшість нещодавньої роботи виконує один учасник.

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

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

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

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

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

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

Власність

dealfluenceОрганізація
3 підписники3 публічні репозиторіїз квіт. 2024 р.

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

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

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
PyPIadeu1.28.09 875791 день томуagentdocxllmmcpredliningvirtual-dom
PyPIlangchain-adeu1.28.03 178321 день томуagentdocxlangchainredliningtoolstracked-changesword

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

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

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

86Відмінний · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 0 дн. тому
18.7/36Ритм комітів — 27/52 тижнів із комітами
18/18Обсяг комітів — 756 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year756
human_commit_share0,96
days_since_last_push0
active_weeks_last_year27
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 50 релізів
36/36Свіжість релізів — останній реліз 1 дн. тому
27/27Ритм релізів — реліз кожні ~1,4 дн.
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Використані вхідні дані
releases_count50
latest_release_tagv1.28.0
releases_from_tagsні
days_since_latest_release1
mean_days_between_releases1,4

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

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

62Помірний · 18% загального індексу
Як обчислюється оцінка
34.2/60Зірки — 129 зірок
10.3/25Форки — 18 форків
0/15Спостерігачі — 2 спостерігачів
Використані вхідні дані
forks18
stars129
watchers2
growth_stateorganic
growth_factor_pct100
Як обчислюється оцінка
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так
Як обчислюється оцінка
54.9/80Щомісячні завантаження — 13 053 завантажень/місяць у pypi
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packagesadeu, langchain-adeu
dependents
ecosystemspypi
total_downloads
monthly_downloads13 053
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

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

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

61Помірний · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
8.3/22.5Розподіл комітів — головний контриб’ютор — автор 63% комітів
5.4/13.5Широта контриб’юторів — 4 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 6 contributing companies or organizations
Використані вхідні дані
bus_factor1
contributors_sampled4
top_contributor_share0,631
Як обчислюється оцінка
46.8/46.8Вирішення issue — закрито 100% issue
34.3/38.3Прийняття PR — злито 44/49 вирішених PR
0/15OpenSSF Scorecard: Code-Review — Found 0/17 approved changesets -- score normalized to 0
Використані вхідні дані
merged_prs44
open_issues0
closed_issues21
issue_closed_ratio1
closed_unmerged_prs5

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

43У зоні ризику
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
4.3/25Охоплення власника — 3 підписників у dealfluence
8.9/25Послужний список — 3 публічних репозиторіїв, вік облікового запису ~2 р.
Використані вхідні дані
followers3
owner_typeOrganization
is_verified
owner_logindealfluence
public_repos3
account_age_days832

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

100Відмінний
Як обчислюється оцінка
25/25Опубліковано й доступно — 2 пакет(ів) у pypi
35/35Свіжість публікацій — остання публікація 1 дн. тому
20/20Історія версій — 79 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesadeu, langchain-adeu
ecosystemspypi
any_deprecatedні
min_days_since_publish1

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

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

90Відмінний · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 3 процес(ів) CI
24/24Наявні тести
16/16Конфігурація лінтера — eslint.config.mjs
0/9.6Pre-commit-хуки
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 11 out of 11 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://adeu.ai
10/10Опис репозиторію
10/10Теми — 9 тем
10/10Wiki
Використані вхідні дані
topicsai-agents, document-automation, docx-converter, legaltech, llm-tools, mcp-server, python-library, redline, gemini-cli-extension
has_wikiтак
homepagehttps://adeu.ai
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

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

59Помірний · 16% загального індексу

Стан безпеки

49У зоні ризику
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
3/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 11 out of 11 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/17 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 6 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
7.5/7.5Maintained — 30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
3.8/7.5Vulnerabilities — 5 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated18
scorecard_versionv5.5.0
checks_inconclusive0
scorecard_aggregate4,9
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
0/40Немає задавнених сповіщень — жодне сповіщення не має дати публікації
Використані вхідні дані
sourceosv
advisories6
affected_packages6
assessed_packages639
unassessed_packages17
affected_by_severityhigh 3, moderate 1, low 2
direct_affected_packages0
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень, Немає задавнених сповіщень. Залишкові ваги перенормовано. Звірено 639 резолвлених залежностей із OSV. 17 не вдалося оцінити — немає резолвленої версії, непідтримувана екосистема або поза межами звітованого переліку пакетів. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

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

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

82Добрий · 0% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — GEMINI.md
0/15Машиночитана документація (llms.txt)
36.7/40Читабельна історія комітів — намір зазначено у 66 з 96 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,688
agent_instruction_filesGEMINI.md
agent_instruction_max_bytes2 199
Як обчислюється оцінка
18/18Розгортання однією командою — langchain/Makefile
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера — eslint.config.mjs
11/11Статична перевірка типів — node/packages/core/tsconfig.json, node/packages/mcp-server/tsconfig.json, node/packages/n8n-nodes-adeu/tsconfig.json
10/10Відтворюване середовище — Dockerfile, lockfile
10/10Підтверджена практика роботи з агентами — 24 з останніх 100 комітів створено агентом або з його зазначенням
8/8Автоматизоване супроводження — 4 з останніх 100 комітів — автоматичні оновлення залежностей
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Використані вхідні дані
has_nixні
has_testsтак
lockfilespackage-lock.json, uv.lock
has_dockerfileтак
typed_languageні
bootstrap_fileslangchain/Makefile
has_devcontainerні
has_linter_configтак
typecheck_configsnode/packages/core/tsconfig.json, node/packages/mcp-server/tsconfig.json, node/packages/n8n-nodes-adeu/tsconfig.json
agent_commit_share0,24
toolchain_manifests
dependency_bot_commit_share0,04
Як обчислюється оцінка
27/45Типізований код — Python з конфігурацією перевірки типів (node/packages/core/tsconfig.json, node/packages/mcp-server/tsconfig.json, node/packages/n8n-nodes-adeu/tsconfig.json)
54.4/55Керовані розміри файлів — 3/275 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languagePython
largest_source_bytes216 475
source_files_sampled275
oversized_source_files3
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
20/20Сервер MCP
40/40Придатні до запуску приклади — examples
Використані вхідні дані
example_dirsexamples
has_mcp_signalтак
api_schema_files

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

129зірок GitHub
4контриб'юторів
756комітів за останні 12 місяців
0днів від останнього пушу
50релізів
1бас-фактор
0відкритих issue
npm, PyPIпакетних екосистем

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

  • deps.dev does not index pypi:adeu@1.28.0; advisories assessed against the repository dependency graph instead

Докладніше

Історія зірок і форків 129 ★ / 18 ⇿
129Зірки
18Форки
50Релізи

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

025507510012515012918122026-012026-042026-07
Мажорні 0Мінорні 25Патчі 25
OpenSSF Scorecard 4.9 / 10
4.9сукупно

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

10Binary-Artifactsno binaries found in the repo
4Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests11 out of 11 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/17 approved changesets -- score normalized to 0
10Contributorsproject has 6 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
5Vulnerabilities5 existing vulnerabilities detected
Прямі залежності 13
РеєстрПакетОбмеження версіїМаніфест
PyPIlangchain-core>=0.3.0,<2.0.0langchain/pyproject.toml
PyPIadeu>=1.17.0langchain/pyproject.toml
PyPIpydantic>=2.0.0langchain/pyproject.toml
PyPIpython-docx>=1.1.0python/pyproject.toml
PyPIstructlog>=24.0.0python/pyproject.toml
PyPIpydantic>=2.0.0python/pyproject.toml
PyPIlxml>=5.0.0python/pyproject.toml
PyPIdiff-match-patch>=20230430python/pyproject.toml
PyPIfastmcp>=3.1.1python/pyproject.toml
PyPIjinja2>=3.1.6python/pyproject.toml
PyPIpywin32python/pyproject.toml
PyPIrapidfuzz>=3.14.5python/pyproject.toml
PyPIregex>=2024.11.6python/pyproject.toml
Усі залежності 656

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

РеєстрПакетВерсіяЗв'язок
PyPIadeu1.28.0пряма
PyPIdiff-match-patch20241021пряма
PyPIfastmcp3.4.4пряма
PyPIjinja23.1.6пряма
PyPIlangchain-core1.4.9пряма
PyPIlxml6.1.1пряма
PyPIpydantic2.13.4пряма
PyPIpython-docx1.2.0пряма
PyPIpywin32312пряма
PyPIrapidfuzz3.14.5пряма
PyPIregex2026.7.10пряма
PyPIstructlog26.1.0пряма
npm@adeu/core1.28.0непряма
npm@adeu/core^1.28.0непряма
npm@adeu/mcp-server1.28.0непряма
npm@apm-js-collab/code-transformer0.15.0непряма
npm@apm-js-collab/code-transformer-bundler-plugins0.5.0непряма
npm@apm-js-collab/tracing-hooks0.10.1непряма
npm@codemirror/autocomplete6.20.0непряма
npm@codemirror/language6.12.4непряма
npm@codemirror/state6.7.1непряма
npm@codemirror/view6.43.6непряма
npm@emnapi/core1.11.1непряма
npm@emnapi/runtime1.11.1непряма
npm@emnapi/wasi-threads1.2.2непряма
npm@esbuild/aix-ppc640.27.7непряма
npm@esbuild/android-arm0.27.7непряма
npm@esbuild/android-arm640.27.7непряма
npm@esbuild/android-x640.27.7непряма
npm@esbuild/darwin-arm640.27.7непряма
npm@esbuild/darwin-x640.27.7непряма
npm@esbuild/freebsd-arm640.27.7непряма
npm@esbuild/freebsd-x640.27.7непряма
npm@esbuild/linux-arm0.27.7непряма
npm@esbuild/linux-arm640.27.7непряма
npm@esbuild/linux-ia320.27.7непряма
npm@esbuild/linux-loong640.27.7непряма
npm@esbuild/linux-mips64el0.27.7непряма
npm@esbuild/linux-ppc640.27.7непряма
npm@esbuild/linux-riscv640.27.7непряма
npm@esbuild/linux-s390x0.27.7непряма
npm@esbuild/linux-x640.27.7непряма
npm@esbuild/netbsd-arm640.27.7непряма
npm@esbuild/netbsd-x640.27.7непряма
npm@esbuild/openbsd-arm640.27.7непряма
npm@esbuild/openbsd-x640.27.7непряма
npm@esbuild/openharmony-arm640.27.7непряма
npm@esbuild/sunos-x640.27.7непряма
npm@esbuild/win32-arm640.27.7непряма
npm@esbuild/win32-ia320.27.7непряма
npm@esbuild/win32-x640.27.7непряма
npm@eslint-community/eslint-utils4.9.1непряма
npm@eslint-community/regexpp4.12.2непряма
npm@eslint/config-array0.20.1непряма
npm@eslint/config-array0.23.5непряма
npm@eslint/config-helpers0.2.3непряма
npm@eslint/config-helpers0.6.0непряма
npm@eslint/core0.14.0непряма
npm@eslint/core0.15.2непряма
npm@eslint/core1.2.1непряма
npm@eslint/eslintrc3.3.6непряма
npm@eslint/js9.29.0непряма
npm@eslint/object-schema2.1.7непряма
npm@eslint/object-schema3.0.5непряма
npm@eslint/plugin-kit0.3.5непряма
npm@eslint/plugin-kit0.7.2непряма
npm@hono/node-server1.19.14непряма
npm@humanfs/core0.19.2непряма
npm@humanfs/node0.16.8непряма
npm@humanfs/types0.15.0непряма
npm@humanwhocodes/module-importer1.0.1непряма
npm@humanwhocodes/retry0.4.3непряма
npm@jridgewell/gen-mapping0.3.13непряма
npm@jridgewell/resolve-uri3.1.2непряма
npm@jridgewell/sourcemap-codec1.5.5непряма
npm@jridgewell/trace-mapping0.3.31непряма
npm@lezer/common1.5.2непряма
npm@lezer/highlight1.2.3непряма
npm@lezer/lr1.4.10непряма
npm@marijn/find-cluster-break1.0.3непряма
npm@modelcontextprotocol/ext-apps1.7.4непряма
npm@modelcontextprotocol/ext-apps^1.7.4непряма
npm@modelcontextprotocol/sdk1.29.0непряма
npm@modelcontextprotocol/sdk^1.0.0непряма
npm@n8n/constants0.31.0непряма
npm@n8n/errors0.12.0непряма
npm@n8n/eslint-plugin-community-nodes0.24.0непряма
npm@n8n/eslint-plugin-community-nodes^0.24.0непряма
npm@n8n/expression-runtime0.22.0непряма
npm@n8n/tournament1.7.0непряма
npm@n8n/utils1.39.0непряма
npm@napi-rs/wasm-runtime1.1.6непряма
npm@opentelemetry/api1.9.1непряма
npm@opentelemetry/api-logs0.220.0непряма
npm@opentelemetry/core2.9.0непряма
npm@opentelemetry/instrumentation0.220.0непряма
npm@opentelemetry/resources2.9.0непряма
npm@opentelemetry/sdk-trace2.9.0непряма
npm@opentelemetry/sdk-trace-base2.9.0непряма
npm@opentelemetry/semantic-conventions1.43.0непряма
npm@oxc-project/types0.139.0непряма
npm@rolldown/binding-android-arm641.1.5непряма
npm@rolldown/binding-darwin-arm641.1.5непряма
npm@rolldown/binding-darwin-x641.1.5непряма
npm@rolldown/binding-freebsd-x641.1.5непряма
npm@rolldown/binding-linux-arm-gnueabihf1.1.5непряма
npm@rolldown/binding-linux-arm64-gnu1.1.5непряма
npm@rolldown/binding-linux-arm64-musl1.1.5непряма
npm@rolldown/binding-linux-ppc64-gnu1.1.5непряма
npm@rolldown/binding-linux-s390x-gnu1.1.5непряма
npm@rolldown/binding-linux-x64-gnu1.1.5непряма
npm@rolldown/binding-linux-x64-musl1.1.5непряма
npm@rolldown/binding-openharmony-arm641.1.5непряма
npm@rolldown/binding-wasm32-wasi1.1.5непряма
npm@rolldown/binding-win32-arm64-msvc1.1.5непряма
npm@rolldown/binding-win32-x64-msvc1.1.5непряма
npm@rolldown/pluginutils1.0.1непряма
npm@rollup/rollup-android-arm-eabi4.60.3непряма
npm@rollup/rollup-android-arm644.60.3непряма
npm@rollup/rollup-darwin-arm644.60.3непряма
npm@rollup/rollup-darwin-x644.60.3непряма
npm@rollup/rollup-freebsd-arm644.60.3непряма
npm@rollup/rollup-freebsd-x644.60.3непряма
npm@rollup/rollup-linux-arm-gnueabihf4.60.3непряма
npm@rollup/rollup-linux-arm-musleabihf4.60.3непряма
npm@rollup/rollup-linux-arm64-gnu4.60.3непряма
npm@rollup/rollup-linux-arm64-musl4.60.3непряма
npm@rollup/rollup-linux-loong64-gnu4.60.3непряма
npm@rollup/rollup-linux-loong64-musl4.60.3непряма
npm@rollup/rollup-linux-ppc64-gnu4.60.3непряма
npm@rollup/rollup-linux-ppc64-musl4.60.3непряма
npm@rollup/rollup-linux-riscv64-gnu4.60.3непряма
npm@rollup/rollup-linux-riscv64-musl4.60.3непряма
npm@rollup/rollup-linux-s390x-gnu4.60.3непряма
npm@rollup/rollup-linux-x64-gnu4.60.3непряма
npm@rollup/rollup-linux-x64-musl4.60.3непряма
npm@rollup/rollup-openbsd-x644.60.3непряма
npm@rollup/rollup-openharmony-arm644.60.3непряма
npm@rollup/rollup-win32-arm64-msvc4.60.3непряма
npm@rollup/rollup-win32-ia32-msvc4.60.3непряма
npm@rollup/rollup-win32-x64-gnu4.60.3непряма
npm@rollup/rollup-win32-x64-msvc4.60.3непряма
npm@sentry/conventions0.15.1непряма
npm@sentry/core10.65.0непряма
npm@sentry/node10.65.0непряма
npm@sentry/node-core10.65.0непряма
npm@sentry/opentelemetry10.65.0непряма
npm@sentry/server-utils10.65.0непряма
npm@standard-schema/spec1.1.0непряма
npm@tybys/wasm-util0.10.3непряма
npm@types/chai5.2.3непряма
npm@types/deep-eql4.0.2непряма
npm@types/diff-match-patch1.0.36непряма
npm@types/diff-match-patch^1.0.36непряма
npm@types/esrecurse4.3.1непряма
npm@types/estree1.0.8непряма
npm@types/json-schema7.0.15непряма
npm@types/node25.9.1непряма
npm@types/node^25.9.1непряма
npm@typescript-eslint/parser8.64.0непряма
npm@typescript-eslint/parser^8.64.0непряма
npm@typescript-eslint/project-service8.59.4непряма
npm@typescript-eslint/project-service8.64.0непряма
npm@typescript-eslint/scope-manager8.59.4непряма
npm@typescript-eslint/scope-manager8.64.0непряма
npm@typescript-eslint/tsconfig-utils8.59.4непряма
npm@typescript-eslint/tsconfig-utils8.64.0непряма
npm@typescript-eslint/types8.59.4непряма
npm@typescript-eslint/types8.64.0непряма
npm@typescript-eslint/typescript-estree8.59.4непряма
npm@typescript-eslint/typescript-estree8.64.0непряма
npm@typescript-eslint/utils8.59.4непряма
npm@typescript-eslint/visitor-keys8.59.4непряма
npm@typescript-eslint/visitor-keys8.64.0непряма
npm@vitest/expect4.1.7непряма
npm@vitest/mocker4.1.7непряма
npm@vitest/pretty-format4.1.7непряма
npm@vitest/runner4.1.7непряма
npm@vitest/snapshot4.1.7непряма
npm@vitest/spy4.1.7непряма
npm@vitest/utils4.1.7непряма
npm@xmldom/xmldom0.9.10непряма
npm@xmldom/xmldom^0.9.10непряма
npmaccepts2.0.0непряма
npmacorn8.16.0непряма
npmacorn-jsx5.3.2непряма
npmagent-base6.0.2непряма
npmajv6.15.0непряма
npmajv8.20.0непряма
npmajv-formats3.0.1непряма
npmansi-regex5.0.1непряма
npmansi-styles4.3.0непряма
npmany-promise1.3.0непряма
npmargparse2.0.1непряма
npmasn10.2.6непряма
npmassert2.1.0непряма
npmassertion-error2.0.1непряма
npmast-types0.15.2непряма
npmast-types0.16.1непряма
npmastring1.9.0непряма
npmasynckit0.4.0непряма
npmavailable-typed-arrays1.0.7непряма
npmaxios1.18.0непряма
npmbalanced-match1.0.2непряма
npmbalanced-match4.0.4непряма
npmbcrypt-pbkdf1.0.2непряма
npmbody-parser2.2.2непряма
npmbrace-expansion1.1.14непряма
npmbrace-expansion5.0.6непряма
npmbrace-expansion5.0.7непряма
npmbuildcheck0.0.7непряма
npmbundle-require5.1.0непряма
npmbytes3.1.2непряма
npmcac6.7.14непряма
npmcall-bind1.0.9непряма
npmcall-bind-apply-helpers1.0.2непряма
npmcall-bound1.0.4непряма
npmcallsites3.1.0непряма
npmchai6.2.2непряма
npmchalk4.1.2непряма
npmcharenc0.0.2непряма
npmchokidar4.0.3непряма
npmcjs-module-lexer2.2.0непряма
npmcliui7.0.4непряма
npmcliui8.0.1непряма
npmcolor-convert2.0.1непряма
npmcolor-name1.1.4непряма
npmcombined-stream1.0.8непряма
npmcommander4.1.1непряма
npmconcat-map0.0.1непряма
npmconfbox0.1.8непряма
npmconsola3.4.2непряма
npmcontent-disposition1.1.0непряма
npmcontent-type1.0.5непряма
npmconvert-source-map2.0.0непряма
npmcookie0.7.2непряма
npmcookie-signature1.2.2непряма
npmcopyfiles2.4.1непряма
npmcopyfiles^2.4.1непряма
npmcore-util-is1.0.3непряма
npmcors2.8.6непряма
npmcpu-features0.0.10непряма
npmcrelt1.0.7непряма
npmcross-spawn7.0.6непряма
npmcrypt0.0.2непряма
npmdebug4.4.3непряма
npmdeep-is0.1.4непряма
npmdefine-data-property1.1.4непряма
npmdefine-properties1.2.1непряма
npmdelayed-stream1.0.0непряма
npmdepd2.0.0непряма
npmdetect-libc2.1.2непряма
npmdiff-match-patch1.0.5непряма
npmdiff-match-patch^1.0.5непряма
npmdunder-proto1.0.1непряма
npmee-first1.1.1непряма
npmemoji-regex8.0.0непряма
npmencodeurl2.0.0непряма
npmes-define-property1.0.1непряма
npmes-errors1.3.0непряма
npmes-module-lexer2.3.1непряма
npmes-object-atoms1.1.2непряма
npmes-set-tostringtag2.1.0непряма
npmesbuild0.27.7непряма
npmescalade3.2.0непряма
npmescape-html1.0.3непряма
npmescape-string-regexp4.0.0непряма
npmeslint10.7.0непряма
npmeslint9.29.0непряма
npmeslint^10.4.0непряма
npmeslint-scope8.4.0непряма
npmeslint-scope9.1.2непряма
npmeslint-visitor-keys3.4.3непряма
npmeslint-visitor-keys4.2.1непряма
npmeslint-visitor-keys5.0.1непряма
npmespree10.4.0непряма
npmespree11.2.0непряма
npmesprima4.0.1непряма
npmesprima-next5.8.4непряма
npmesquery1.7.0непряма
npmesrecurse4.3.0непряма
npmestraverse5.3.0непряма
npmestree-walker3.0.3непряма
npmesutils2.0.3непряма
npmetag1.8.1непряма
npmeventsource3.0.7непряма
npmeventsource-parser3.0.8непряма
npmexpect-type1.3.0непряма
npmexpress5.2.1непряма
npmexpress-rate-limit8.5.1непряма
npmfast-deep-equal3.1.3непряма
npmfast-json-stable-stringify2.1.0непряма
npmfast-levenshtein2.0.6непряма
npmfast-uri3.1.2непряма
npmfastest-levenshtein1.0.16непряма
npmfdir6.5.0непряма
npmfflate0.8.3непряма
npmfflate^0.8.2непряма
npmfile-entry-cache8.0.0непряма
npmfinalhandler2.1.1непряма
npmfind-up5.0.0непряма
npmfix-dts-default-cjs-exports1.0.1непряма
npmflat-cache4.0.1непряма
npmflatted3.4.2непряма
npmfollow-redirects1.16.0непряма
npmfor-each0.3.5непряма
npmform-data4.0.6непряма
npmforwarded0.2.0непряма
npmfresh2.0.0непряма
npmfs.realpath1.0.0непряма
npmfsevents2.3.3непряма
npmfunction-bind1.1.2непряма
npmgenerator-function2.0.1непряма
npmget-caller-file2.0.5непряма
npmget-intrinsic1.3.0непряма
npmget-proto1.0.1непряма
npmglob7.2.3непряма
npmglob-parent6.0.2непряма
npmglobals14.0.0непряма
npmgopd1.2.0непряма
npmhas-flag4.0.0непряма
npmhas-property-descriptors1.0.2непряма
npmhas-symbols1.1.0непряма
npmhas-tostringtag1.0.2непряма
npmhasown2.0.4непряма
npmhono4.12.30непряма
npmhttp-errors2.0.1непряма
npmhttps-proxy-agent5.0.1непряма
npmiconv-lite0.7.2непряма
npmignore5.3.2непряма
npmimport-fresh3.3.1непряма
npmimport-in-the-middle3.3.1непряма
npmimurmurhash0.1.4непряма
npminflight1.0.6непряма
npminherits2.0.4непряма
npmip-address10.2.0непряма
npmipaddr.js1.9.1непряма
npmis-arguments1.2.0непряма
npmis-buffer1.1.6непряма
npmis-callable1.2.7непряма
npmis-extglob2.1.1непряма
npmis-fullwidth-code-point3.0.0непряма
npmis-generator-function1.1.2непряма
npmis-glob4.0.3непряма
npmis-nan1.3.2непряма
npmis-promise4.0.0непряма
npmis-regex1.2.1непряма
npmis-typed-array1.1.15непряма
npmisarray0.0.1непряма
npmisarray1.0.0непряма
npmisexe2.0.0непряма
npmisolated-vm6.1.2непряма
npmjmespath0.16.0непряма
npmjose6.2.3непряма
npmjoycon3.1.1непряма
npmjs-base643.7.8непряма
npmjs-yaml4.3.0непряма
npmjson-buffer3.0.1непряма
npmjson-schema0.4.0непряма
npmjson-schema-traverse0.4.1непряма
npmjson-schema-traverse1.0.0непряма
npmjson-schema-typed8.0.2непряма
npmjson-stable-stringify-without-jsonify1.0.1непряма
npmjsonrepair3.13.2непряма
npmjssha3.3.1непряма
npmkeyv4.5.4непряма
npmlevn0.4.1непряма
npmlightningcss1.32.0непряма
npmlightningcss-android-arm641.32.0непряма
npmlightningcss-darwin-arm641.32.0непряма
npmlightningcss-darwin-x641.32.0непряма
npmlightningcss-freebsd-x641.32.0непряма
npmlightningcss-linux-arm-gnueabihf1.32.0непряма
npmlightningcss-linux-arm64-gnu1.32.0непряма
npmlightningcss-linux-arm64-musl1.32.0непряма
npmlightningcss-linux-x64-gnu1.32.0непряма
npmlightningcss-linux-x64-musl1.32.0непряма
npmlightningcss-win32-arm64-msvc1.32.0непряма
npmlightningcss-win32-x64-msvc1.32.0непряма
npmlilconfig3.1.3непряма
npmlines-and-columns1.2.4непряма
npmload-tsconfig0.2.5непряма
npmlocate-path6.0.0непряма
npmlodash4.18.1непряма
npmlodash.merge4.6.2непряма
npmluxon3.7.2непряма
npmmagic-string0.30.21непряма
npmmath-intrinsics1.1.0непряма
npmmd52.3.0непряма
npmmedia-typer1.1.0непряма
npmmerge-descriptors2.0.0непряма
npmmeriyah6.1.4непряма
npmmime-db1.52.0непряма
npmmime-db1.54.0непряма
npmmime-types2.1.35непряма
npmmime-types3.0.2непряма
npmminimatch10.2.5непряма
npmminimatch3.1.5непряма
npmmkdirp1.0.4непряма
npmmlly1.8.2непряма
npmmodule-details-from-path1.0.4непряма
npmms2.1.3непряма
npmmz2.7.0непряма
npmn8n-workflow2.31.0непряма
npmn8n-workflow^2.16.0непряма
npmnan2.28.0непряма
npmnanoid3.3.12непряма
npmnanoid3.3.8непряма
npmnatural-compare1.4.0непряма
npmnegotiator1.0.0непряма
npmnode-gyp-build4.8.4непряма
npmnoms0.0.0непряма
npmobject-assign4.1.1непряма
npmobject-inspect1.13.4непряма
npmobject-is1.1.6непряма
npmobject-keys1.1.1непряма
npmobject.assign4.1.7непряма
npmobug2.1.1непряма
npmon-finished2.4.1непряма
npmonce1.4.0непряма
npmoptionator0.9.4непряма
npmp-limit3.1.0непряма
npmp-locate5.0.0непряма
npmpackages/n8n-nodes-adeu1.28.0непряма
npmparent-module1.0.1непряма
npmparseurl1.3.3непряма
npmpath-exists4.0.0непряма
npmpath-is-absolute1.0.1непряма
npmpath-key3.1.1непряма
npmpath-to-regexp8.4.2непряма
npmpathe2.0.3непряма
npmpicocolors1.1.1непряма
npmpicomatch4.0.5непряма
npmpirates4.0.7непряма
npmpkce-challenge5.0.1непряма
npmpkg-types1.3.1непряма
npmpossible-typed-array-names1.1.0непряма
npmpostcss8.5.19непряма
npmpostcss-load-config6.0.1непряма
npmprelude-ls1.2.1непряма
npmprocess-nextick-args2.0.1непряма
npmproxy-addr2.0.7непряма
npmproxy-from-env2.1.0непряма
npmpunycode2.3.1непряма
npmqs6.15.3непряма
npmrange-parser1.2.1непряма
npmraw-body3.0.2непряма
npmreadable-stream1.0.34непряма
npmreadable-stream2.3.8непряма
npmreaddirp4.1.2непряма
npmrecast0.22.0непряма
npmrequire-directory2.1.1непряма
npmrequire-from-string2.0.2непряма
npmrequire-in-the-middle8.0.1непряма
npmresolve-from4.0.0непряма
npmresolve-from5.0.0непряма
npmrolldown1.1.5непряма
npmrollup4.60.3непряма
npmrouter2.2.0непряма
npmsafe-buffer5.1.2непряма
npmsafe-regex-test1.1.0непряма
npmsafer-buffer2.1.2непряма
npmsax1.6.0непряма
npmsemifies1.0.0непряма
npmsemver7.8.0непряма
npmsend1.2.1непряма
npmserve-static2.2.1непряма
npmset-function-length1.2.2непряма
npmsetprototypeof1.2.0непряма
npmshebang-command2.0.0непряма
npmshebang-regex3.0.0непряма
npmside-channel1.1.1непряма
npmside-channel-list1.0.1непряма
npmside-channel-map1.0.1непряма
npmside-channel-weakmap1.0.2непряма
npmsiginfo2.0.0непряма
npmsource-map0.6.1непряма
npmsource-map0.7.6непряма
npmsource-map-js1.2.1непряма
npmssh21.15.0непряма
npmstackback0.0.2непряма
npmstatuses2.0.2непряма
npmstd-env4.1.0непряма
npmstring-width4.2.3непряма
npmstring_decoder0.10.31непряма
npmstring_decoder1.1.1непряма
npmstrip-ansi6.0.1непряма
npmstrip-json-comments3.1.1непряма
npmstyle-mod4.1.3непряма
npmsucrase3.35.1непряма
npmsupports-color7.2.0непряма
npmthenify3.3.1непряма
npmthenify-all1.6.0непряма
npmthrough22.0.5непряма
npmtinybench2.9.0непряма
npmtinyexec0.3.2непряма
npmtinyexec1.1.2непряма
npmtinyglobby0.2.17непряма
npmtinyrainbow3.1.0непряма
npmtitle-case3.0.3непряма
npmtoidentifier1.0.1непряма
npmtransliteration2.3.5непряма
npmtree-kill1.2.2непряма
npmts-api-utils2.5.0непряма
npmts-interface-checker0.1.13непряма
npmtslib2.8.1непряма
npmtsup8.5.1непряма
npmtsup^8.5.1непряма
npmtweetnacl0.14.5непряма
npmtype-check0.4.0непряма
npmtype-is2.0.1непряма
npmtypescript6.0.3непряма
npmtypescript^6.0.3непряма
npmufo1.6.4непряма
npmundici-types7.24.6непряма
npmunpipe1.0.0непряма
npmuntildify4.0.0непряма
npmuri-js4.4.1непряма
npmutil0.12.5непряма
npmutil-deprecate1.0.2непряма
npmuuid11.1.1непряма
npmvary1.1.2непряма
npmvite8.1.4непряма
npmvitest4.1.7непряма
npmvitest^4.1.7непряма
npmw3c-keyname2.2.8непряма
npmwhich2.0.2непряма
npmwhich-typed-array1.1.22непряма
npmwhy-is-node-running2.3.0непряма
npmword-wrap1.2.5непряма
npmwrap-ansi7.0.0непряма
npmwrappy1.0.2непряма
npmxml2js0.6.2непряма
npmxmlbuilder11.0.1непряма
npmxpath0.0.34непряма
npmxpath^0.0.34непряма
npmxtend4.0.2непряма
npmy18n5.0.8непряма
npmyargs16.2.0непряма
npmyargs17.7.3непряма
npmyargs-parser20.2.9непряма
npmyargs-parser21.1.1непряма
npmyocto-queue0.1.0непряма
npmzod3.25.67непряма
npmzod4.4.3непряма
npmzod-to-json-schema3.25.2непряма
PyPIaiofile3.11.1непряма
PyPIannotated-types0.7.0непряма
PyPIanyio4.14.2непряма
PyPIast-serialize0.6.0непряма
PyPIattrs26.1.0непряма
PyPIauthlib1.7.2непряма
PyPIbeartype0.22.9непряма
PyPIcachetools7.1.4непряма
PyPIcaio0.9.25непряма
PyPIcertifi2026.6.17непряма
PyPIcffi2.1.0непряма
PyPIcharset-normalizer3.4.9непряма
PyPIclick8.4.2непряма
PyPIcolorama0.4.6непряма
PyPIcoverage7.15.1непряма
PyPIcryptography49.0.0непряма
PyPIcyclopts4.21.0непряма
PyPIdistro1.9.0непряма
PyPIdnspython2.8.0непряма
PyPIdocstring-parser0.18.0непряма
PyPIemail-validator2.3.0непряма
PyPIexceptiongroup1.3.1непряма
PyPIfastmcp-slim3.4.4непряма
PyPIgriffelib2.1.0непряма
PyPIh110.16.0непряма
PyPIhttpcore1.0.9непряма
PyPIhttpx0.28.1непряма
PyPIhttpx-sse0.4.3непряма
PyPIhypothesis6.156.6непряма
PyPIidna3.18непряма
PyPIiniconfig2.3.0непряма
PyPIjaraco-classes3.4.0непряма
PyPIjaraco-context6.1.2непряма
PyPIjaraco-functools4.6.0непряма
PyPIjeepney0.9.0непряма
PyPIjoserfc1.7.3непряма
PyPIjsonpatch1.33непряма
PyPIjsonpointer3.1.1непряма
PyPIjsonref1.1.0непряма
PyPIjsonschema4.26.0непряма
PyPIjsonschema-path0.5.0непряма
PyPIjsonschema-specifications2025.9.1непряма
PyPIkeyring25.7.0непряма
PyPIlangchain-adeu1.28.0непряма
PyPIlangchain-protocol0.0.18непряма
PyPIlangchain-tests1.1.9непряма
PyPIlangsmith0.10.3непряма
PyPIlibrt0.13.0непряма
PyPImarkdown-it-py4.2.0непряма
PyPImarkupsafe3.0.3непряма
PyPImcp1.28.1непряма
PyPImdurl0.1.2непряма
PyPImore-itertools11.1.0непряма
PyPImypy2.3.0непряма
PyPImypy-extensions1.1.0непряма
PyPInumpy2.5.1непряма
PyPIopenapi-pydantic0.5.1непряма
PyPIopentelemetry-api1.43.0непряма
PyPIorjson3.11.9непряма
PyPIpackaging26.2непряма
PyPIpathable0.6.0непряма
PyPIpathspec1.1.1непряма
PyPIplatformdirs4.10.0непряма
PyPIpluggy1.6.0непряма
PyPIprefab-ui0.20.2непряма
PyPIpy-cpuinfo9.0.0непряма
PyPIpy-key-value-aio0.4.5непряма
PyPIpycparser3.0непряма
PyPIpydantic-core2.46.4непряма
PyPIpydantic-settings2.14.2непряма
PyPIpygments2.20.0непряма
PyPIpyjwt2.13.0непряма
PyPIpyperclip1.11.0непряма
PyPIpytest9.1.1непряма
PyPIpytest-asyncio1.4.0непряма
PyPIpytest-benchmark5.2.3непряма
PyPIpytest-codspeed5.0.3непряма
PyPIpytest-cov7.1.0непряма
PyPIpytest-recording0.13.4непряма
PyPIpytest-socket0.8.0непряма
PyPIpython-dotenv1.2.2непряма
PyPIpython-multipart0.0.32непряма
PyPIpywin32-ctypes0.2.3непряма
PyPIpyyaml6.0.3непряма
PyPIreferencing0.37.0непряма
PyPIrequests2.34.2непряма
PyPIrequests-toolbelt1.0.0непряма
PyPIrich15.0.0непряма
PyPIrich-rst2.1.0непряма
PyPIrpds-py2026.6.3непряма
PyPIruff0.15.21непряма
PyPIsecretstorage3.5.0непряма
PyPIsniffio1.3.1непряма
PyPIsortedcontainers2.4.0непряма
PyPIsse-starlette3.4.5непряма
PyPIstarlette1.3.1непряма
PyPIsyrupy5.5.3непряма
PyPItenacity9.1.4непряма
PyPItyping-extensions4.16.0непряма
PyPItyping-inspection0.4.2непряма
PyPIuncalled-for0.3.2непряма
PyPIurllib32.7.0непряма
PyPIuuid-utils0.17.0непряма
PyPIuvicorn0.51.0непряма
PyPIvcrpy8.3.0непряма
PyPIwatchfiles1.2.0непряма
PyPIwebsockets16.1непряма
PyPIwrapt2.2.2непряма
PyPIxxhash3.8.1непряма
PyPIzstandard0.25.0непряма
Сповіщення про залежності 6

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

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
brace-expansion1.1.14непрямависока15.0.7
brace-expansion5.0.6непрямависока15.0.7
fast-uri3.1.2непрямависока14.0.1
@hono/node-server1.19.14непрямапомірна12.0.5
body-parser2.2.2непряманизька12.3.0
esbuild0.27.7непряманизька10.28.1

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

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "ai-agents",
        "document-automation",
        "docx-converter",
        "legaltech",
        "llm-tools",
        "mcp-server",
        "python-library",
        "redline",
        "gemini-cli-extension"
      ],
      "is_fork": false,
      "size_kb": 4482,
      "has_wiki": true,
      "homepage": "https://adeu.ai",
      "languages": {
        "MDX": 5042,
        "HTML": 50266,
        "Shell": 6488,
        "Python": 1961298,
        "Makefile": 1083,
        "Dockerfile": 318,
        "JavaScript": 12513,
        "PowerShell": 2160,
        "TypeScript": 883226
      },
      "pushed_at": "2026-07-21T20:23:51Z",
      "created_at": "2025-12-30T19:38:23Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T20:24:02Z",
      "description": "docx ↔ LLM translator. Projects .docx to Markdown for editing. Projects edits back to OOXML as tracked changes. Python and Node.js implementations.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "Python",
      "significant_languages": [
        "Python",
        "TypeScript"
      ]
    },
    "owner": {
      "blog": null,
      "name": "dealfluence",
      "type": "Organization",
      "login": "dealfluence",
      "company": null,
      "location": null,
      "followers": 3,
      "avatar_url": "https://avatars.githubusercontent.com/u/166614754?v=4",
      "created_at": "2024-04-10T11:40:45Z",
      "is_verified": null,
      "public_repos": 3,
      "account_age_days": 832
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.28.0",
          "kind": "minor",
          "published_at": "2026-07-20T15:20:09Z"
        },
        {
          "tag": "v1.27.0",
          "kind": "minor",
          "published_at": "2026-07-19T14:46:47Z"
        },
        {
          "tag": "v1.26.0",
          "kind": "minor",
          "published_at": "2026-07-19T11:01:16Z"
        },
        {
          "tag": "v1.25.0",
          "kind": "minor",
          "published_at": "2026-07-19T06:25:02Z"
        },
        {
          "tag": "v1.23.0",
          "kind": "minor",
          "published_at": "2026-07-18T15:59:41Z"
        },
        {
          "tag": "v1.22.0",
          "kind": "minor",
          "published_at": "2026-07-18T07:51:53Z"
        },
        {
          "tag": "v1.21.0",
          "kind": "minor",
          "published_at": "2026-07-17T19:54:02Z"
        },
        {
          "tag": "v1.20.0",
          "kind": "minor",
          "published_at": "2026-07-16T10:28:07Z"
        },
        {
          "tag": "v1.19.1",
          "kind": "patch",
          "published_at": "2026-07-13T10:32:21Z"
        },
        {
          "tag": "v1.19.0",
          "kind": "minor",
          "published_at": "2026-07-08T07:12:20Z"
        },
        {
          "tag": "v1.18.5",
          "kind": "patch",
          "published_at": "2026-07-07T14:00:50Z"
        },
        {
          "tag": "v1.18.4",
          "kind": "patch",
          "published_at": "2026-07-05T06:16:58Z"
        },
        {
          "tag": "v1.18.2",
          "kind": "patch",
          "published_at": "2026-07-03T13:50:09Z"
        },
        {
          "tag": "v1.18.1",
          "kind": "patch",
          "published_at": "2026-06-30T18:57:11Z"
        },
        {
          "tag": "v1.18.0",
          "kind": "minor",
          "published_at": "2026-06-30T13:06:04Z"
        },
        {
          "tag": "v1.17.2",
          "kind": "patch",
          "published_at": "2026-06-29T21:49:44Z"
        },
        {
          "tag": "v1.17.1",
          "kind": "patch",
          "published_at": "2026-06-27T18:41:14Z"
        },
        {
          "tag": "v1.17.0",
          "kind": "minor",
          "published_at": "2026-06-26T12:24:36Z"
        },
        {
          "tag": "v1.16.0",
          "kind": "minor",
          "published_at": "2026-06-26T07:47:59Z"
        },
        {
          "tag": "v1.15.2",
          "kind": "patch",
          "published_at": "2026-06-25T13:50:56Z"
        },
        {
          "tag": "v1.15.1",
          "kind": "patch",
          "published_at": "2026-06-25T11:57:10Z"
        },
        {
          "tag": "v1.15.0",
          "kind": "minor",
          "published_at": "2026-06-25T10:39:28Z"
        },
        {
          "tag": "v1.14.0",
          "kind": "minor",
          "published_at": "2026-06-24T09:52:04Z"
        },
        {
          "tag": "v1.13.0",
          "kind": "minor",
          "published_at": "2026-06-23T13:50:57Z"
        },
        {
          "tag": "v1.12.1",
          "kind": "patch",
          "published_at": "2026-06-18T17:58:17Z"
        },
        {
          "tag": "v1.12.0",
          "kind": "minor",
          "published_at": "2026-06-18T14:35:21Z"
        },
        {
          "tag": "v1.11.2",
          "kind": "patch",
          "published_at": "2026-06-17T20:37:44Z"
        },
        {
          "tag": "v1.10.1",
          "kind": "patch",
          "published_at": "2026-06-12T12:09:10Z"
        },
        {
          "tag": "v1.10.0",
          "kind": "minor",
          "published_at": "2026-06-09T09:28:58Z"
        },
        {
          "tag": "v1.9.0",
          "kind": "minor",
          "published_at": "2026-06-01T14:19:59Z"
        },
        {
          "tag": "v1.8.0",
          "kind": "minor",
          "published_at": "2026-05-26T13:01:22Z"
        },
        {
          "tag": "v1.7.5",
          "kind": "patch",
          "published_at": "2026-05-20T11:20:49Z"
        },
        {
          "tag": "v1.7.4",
          "kind": "patch",
          "published_at": "2026-05-20T10:57:46Z"
        },
        {
          "tag": "v1.7.3",
          "kind": "patch",
          "published_at": "2026-05-20T09:03:36Z"
        },
        {
          "tag": "v1.7.1",
          "kind": "patch",
          "published_at": "2026-05-16T13:51:24Z"
        },
        {
          "tag": "v1.6.9",
          "kind": "patch",
          "published_at": "2026-05-15T09:07:07Z"
        },
        {
          "tag": "v1.6.8",
          "kind": "patch",
          "published_at": "2026-05-13T07:41:06Z"
        },
        {
          "tag": "v1.6.7",
          "kind": "patch",
          "published_at": "2026-05-12T10:58:06Z"
        },
        {
          "tag": "v1.6.6",
          "kind": "patch",
          "published_at": "2026-05-11T12:15:13Z"
        },
        {
          "tag": "v1.6.5",
          "kind": "patch",
          "published_at": "2026-05-11T12:08:24Z"
        },
        {
          "tag": "v1.6.1",
          "kind": "patch",
          "published_at": "2026-05-09T18:58:43Z"
        },
        {
          "tag": "v1.5.2",
          "kind": "patch",
          "published_at": "2026-05-05T14:24:41Z"
        },
        {
          "tag": "v1.4.3",
          "kind": "patch",
          "published_at": "2026-05-01T05:41:22Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2026-04-28T12:36:38Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2026-04-24T14:06:48Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2026-04-22T13:33:59Z"
        },
        {
          "tag": "v1.1.0",
          "kind": "minor",
          "published_at": "2026-04-19T04:23:13Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2026-03-29T19:19:22Z"
        },
        {
          "tag": "v0.7.1",
          "kind": "patch",
          "published_at": "2026-03-12T12:30:38Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2026-02-26T11:08:58Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "fcc417d490bdf92da46e30f1758e4a213132382b",
          "body": "fix: parse manual page breaks in read_docx pagination and outline",
          "is_bot": false,
          "headline": "Merge pull request #74 from dealfluence/agent-fix/mcp_py-1784664633",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T20:23:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ee99a48e68ecb91c58e9569a8ecad6aa9349a28",
          "body": null,
          "is_bot": false,
          "headline": "fix: parse manual page breaks in read_docx pagination and outline",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T20:10:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "064440ff7dcb3bd3028428dd1c5858d12c5faacc",
          "body": "fix: normalize trailing whitespace in text-file diff alignment",
          "is_bot": false,
          "headline": "Merge pull request #73 from dealfluence/agent-fix/cli-1784661937",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T19:46:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6413c76338839011854e02128612a8e184ade4d",
          "body": null,
          "is_bot": false,
          "headline": "fix: normalize trailing whitespace in text-file diff alignment",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T19:25:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f68e6e7d3618d89f31d3667854e73fd937a5dcba",
          "body": "fix: Automated agentic CLI (adeu) bug fix",
          "is_bot": false,
          "headline": "Merge pull request #72 from dealfluence/agent-fix/cli-1784658384",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T18:29:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7b1f0b19d3d5049b31af657b348a9dd2465a1655",
          "body": null,
          "is_bot": false,
          "headline": "fix: Automated agentic CLI (adeu) bug fix",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T18:26:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff45aa335bc9594dee56f45d4544aedcccc12ec4",
          "body": "fix: Automated agentic CLI bug fix",
          "is_bot": false,
          "headline": "Merge pull request #71 from dealfluence/agent-fix/cli-1784656546",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T17:58:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "668cc0c1eb567f9dfb229d3f4fd804558c47e0ad",
          "body": null,
          "is_bot": false,
          "headline": "fix: Automated agentic CLI bug fix",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T17:55:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7713d15cfe303f31964c8be399892130564445a5",
          "body": "fix: route successful adeu init status logs to stdout",
          "is_bot": false,
          "headline": "Merge pull request #70 from dealfluence/agent-fix/cli-1784638645",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T13:05:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1192b22250efb892f4490e8d0618340e57879abd",
          "body": null,
          "is_bot": false,
          "headline": "fix: route successful adeu init status logs to stdout",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T12:57:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "92ae366e6074e7cc246a4a20afb3adef2498a6bd",
          "body": "fix: detailed report prints table row modification indications",
          "is_bot": false,
          "headline": "Merge pull request #69 from dealfluence/agent-fix/cli-1784636286",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T12:21:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0b5a1d1628e565bc95d03230ec4b3c1b5f4a371",
          "body": null,
          "is_bot": false,
          "headline": "fix: detailed report prints table row modification indications",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T12:18:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2368d52a5247e1a51bf3d480ceb9dde1bd1f2ca2",
          "body": "fix: tag --live option as Windows-only on non-Windows OS",
          "is_bot": false,
          "headline": "Merge pull request #68 from dealfluence/agent-fix/cli-1784633447",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T11:43:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e2fd21b8e0fe07ad8b4a96094697b2ddfc776238",
          "body": null,
          "is_bot": false,
          "headline": "fix: tag --live option as Windows-only on non-Windows OS",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T11:30:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89bb40c854da107fca4085653fd0ce96d054a5d1",
          "body": "fix: keep wrapping comments when accepting tracked changes",
          "is_bot": false,
          "headline": "Merge pull request #67 from dealfluence/agent-fix/cli-1784630344",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T10:45:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "387ed33f75aa6a1db1b031cee70e8a4b74a9316c",
          "body": null,
          "is_bot": false,
          "headline": "fix: keep wrapping comments when accepting tracked changes",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T10:39:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71705f80a778d6990a0d3e3dacb538b8073ccfa5",
          "body": "fix: support partial substring anchors for markup table row edits",
          "is_bot": false,
          "headline": "Merge pull request #66 from dealfluence/agent-fix/cli-1784628595",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T10:13:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d5e13862c73b03932f0c3f0733469b13ab2b307",
          "body": null,
          "is_bot": false,
          "headline": "fix: support partial substring anchors for markup table row edits",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T10:09:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "485caecd20c84bb4333c6cfbc1c7ddabb03c2fc6",
          "body": "Fix strict sequential action ordering in edit batches",
          "is_bot": false,
          "headline": "Merge pull request #64 from dealfluence/agent-fix/cli-1784587193",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-21T08:47:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "202169628893a4c06b10e1028307aee7fb84c228",
          "body": null,
          "is_bot": false,
          "headline": "fix: resolve strict sequential action ordering on edit batches",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-20T22:39:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d748f3c71f4828d948bb932ebe55df06f94ae285",
          "body": "fix: automated agentic fix for CLI bug",
          "is_bot": false,
          "headline": "Merge pull request #63 from dealfluence/agent-fix/cli-1784582526",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-20T22:11:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5cf4b84c56b670980826bf8549636035d61150e",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into agent-fix/cli-1784582526",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-20T21:55:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41988a769a0b9e6003039f0fc4fd87714e122f99",
          "body": null,
          "is_bot": false,
          "headline": "fix lint",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-20T21:54:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6dff820da91b0c8f4d434611fad739814e506d23",
          "body": null,
          "is_bot": false,
          "headline": "fix: automated agentic fix for CLI bug",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-20T21:50:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "827fc6859f3c5aea3e837beb090c469496af9c99",
          "body": null,
          "is_bot": false,
          "headline": "cleanup AI_CONTEXT.md",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-20T19:28:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1e7acac2a451946f928fd06e8e476de7bed11bb",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 1.28.0",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-20T15:18:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "62f0524a09d258d8e43caf974536fc402d170817",
          "body": null,
          "is_bot": false,
          "headline": "bump improved",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-20T15:18:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01398b0fdf2665c5caf2115816f94a90ac1d1595",
          "body": null,
          "is_bot": false,
          "headline": "fix issues",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-20T13:13:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f32291cbc9a34bb8f30c33d512ceb20b3f1c7c1",
          "body": null,
          "is_bot": false,
          "headline": "failing tests",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-20T09:51:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd1b98b7404ba388db75872042df4bb6b49da12c",
          "body": null,
          "is_bot": false,
          "headline": "fix tests on windows",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-19T22:48:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae5ba03b085d48b84efb7e79578f4e3e9ab2cb18",
          "body": "…ity-9qwtc3",
          "is_bot": false,
          "headline": "Merge pull request #62 from dealfluence/claude/python-node-engine-par…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-19T22:10:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6df2063238b2367e1eeff22ab559b69c7970c654",
          "body": "Black-box QA of 1.27.0+7a0a821 (adeu_qa_report_1.27.0.md) found 7 defects\n(ADEU-QA-001..007). Every confirmed finding is reproduced by a regression\ntest that fails against the pre-fix source (python/tests/\ntest_repro_qa_report_v9.py, 35 tests; node/packages/core/src/\nrepro_qa_report_v9.test.ts, 14) \n[…]\na\ndelete+swap replays exactly. AI_CONTEXT.md records the new invariants.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01GWG8afoXbFnD7MWJSoDa3H",
          "is_bot": false,
          "headline": "Fix the 1.27.0 QA report findings in both engines, with regression tests",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-19T21:53:59Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7a0a8212048e3428faa9f8a1e54f2eaf62f7a3ae",
          "body": null,
          "is_bot": false,
          "headline": "1.27.0",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-19T14:44:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4545dab482c04b704f25199b9e87b2a579704a0c",
          "body": null,
          "is_bot": false,
          "headline": "Merge pull request #61 from dealfluence/claude/python-node-parity-in9f48",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-19T13:34:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c2428d9d40a38a9eb913b1987b88c464bed58a62",
          "body": "Black-box QA of 1.26.0+0741eaf (adeu_qa_report_1.26.0.md) found 13 defects.\nEvery confirmed finding is reproduced by a regression test that fails\nagainst the pre-fix source (python/tests/test_repro_qa_report_v8.py, 43\ntests; node/packages/core/src/repro_qa_report_v8.test.ts, 9;\nnode/packages/mcp-ser\n[…]\nlease-consistency check clean.\nAI_CONTEXT.md records the new invariants.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_015UWY2Y7Su8gsFvPdagi44K",
          "is_bot": false,
          "headline": "Fix the 1.26.0 QA report findings in both engines, with regression tests",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-19T13:06:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0741eaf81c09e5905db560090dc98012e3732f73",
          "body": null,
          "is_bot": false,
          "headline": "1.26.0",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-19T10:58:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f83fb67475a69fc12d453918b7c6a71f56219ea",
          "body": "…-tests-48w98a\n\nFix the 2026-07-19 QA report findings in both engines, with regression tests",
          "is_bot": false,
          "headline": "Merge pull request #60 from dealfluence/claude/node-python-regression…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-19T10:44:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e846fed40b50a98ec06144917f358d4b23d99de",
          "body": "…n tests\n\nBlack-box QA of 1.25.0 (adeu_cli_qa_report.md) found 21 defects. Every\nconfirmed finding is reproduced by a failing regression test\n(python/tests/test_repro_qa_report_v7.py, 31 tests;\nnode/packages/core/src/repro_qa_report_v7.test.ts, 15 tests) and fixed in\nboth engines where the surface e\n[…]\nn 117 passed, ruff/mypy clean. AI_CONTEXT.md\nrecords the new invariants.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_013JjzwpoeY9U5aQTQEF8pN4",
          "is_bot": false,
          "headline": "Fix the 2026-07-19 QA report findings in both engines, with regressio…",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-19T09:05:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "35c8bb45ca0c9672c3d5c0dfbb965a283d7ad0db",
          "body": null,
          "is_bot": false,
          "headline": "1.25",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-19T06:21:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e620214ec99d43bda3c1903d6bdc1d0165ef21a4",
          "body": "…-zbppbg\n\nFix the 2026-07-18 v6 QA findings in both engines (C1, C2, H1, H2)",
          "is_bot": false,
          "headline": "Merge pull request #55 from dealfluence/claude/qa-report-parity-fixes…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-19T05:52:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7ad489ec9fa2f631b191e08d3bf035b65c4d7999",
          "body": "tests/test_property_invariants.py drives five properties (25 examples in\nCI, --hypothesis-profile=hunt for 300): pinned text round-trips are\nexact; JSON round-trips are exact or loudly rejected; structured table\ndiffs replay without pins or fail loud (and never fail un-warned);\nsanitize leaves no ge\n[…]\nts; the QA/fuzz history lives in\nAI_CONTEXT.md and the repro test files.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Ue7HZb9xU4Gyfots3YZV6w",
          "is_bot": false,
          "headline": "Fuzz the core invariants with Hypothesis; fix the six bugs it found",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T22:48:51Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "26d2fc4dc3a07552f344b2a82aaa4b0a4ace3114",
          "body": "M1 — output safety: apply/accept-all/sanitize refuse non-.docx output\npaths; every CLI file write stages to a same-directory temp file and\nos.replace()s into place (a failed write never corrupts an existing\noutput); replacing an existing file is announced on stderr; sanitize\nreport files share the s\n[…]\n.\n\nL4 — init distinguishes \"Config found\" from \"Config will be created\".\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Ue7HZb9xU4Gyfots3YZV6w",
          "is_bot": false,
          "headline": "Fix the remaining v6 QA defects: M1, M3, M4, M5, M6, L1, L2, L3, L4",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T22:00:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e7b540b6668bb0155383179f74381e2d4261c8bb",
          "body": "Repro tests first (python/tests/test_repro_qa_report_v6.py,\nnode/packages/core/src/repro_qa_report_v6.test.ts) — every test failed\nagainst 8102b64 for the reason the report describes — then the fixes,\nkept in parity between the Python and Node engines.\n\nC1 — sanitize claimed \"Result: CLEAN\" while le\n[…]\ncontext and\n  inserted text and strand characters in the wrong paragraph\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Ue7HZb9xU4Gyfots3YZV6w",
          "is_bot": false,
          "headline": "Fix the 2026-07-18 v6 QA findings in both engines (C1, C2, H1, H2)",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T20:38:48Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8102b64ac5644e2d89976f8d6123af7e495750fc",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 1.23.0",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-18T15:58:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b99c46d80f7c2c6e27c161a7a4d357b822f7414c",
          "body": "…blim\n\nFix all 20 findings from the 2026-07-18 CLI QA report (Python engine + CLI)",
          "is_bot": false,
          "headline": "Merge pull request #54 from dealfluence/claude/cli-qa-report-fixes-1o…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-18T13:13:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d915bf29898ca4d81a62fb60094e1510ab8b4aee",
          "body": "The new mixed-edit diff surface leaked union-typing gaps: handle_diff's\nedits variable is now covariantly typed (Sequence[DiffEdit]) with\nisinstance narrowing in the printer, the row-anchor warning loop no\nlonger reuses a ModifyText-typed variable, and the table-geometry\naccumulator guard is written\n[…]\ns are linked.\n\nuv run mypy src: clean (30 files). langchain mypy: clean.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_015cSS4tU7MsMnS8BFDZBfDH",
          "is_bot": false,
          "headline": "Fix mypy errors in the QA-fix plumbing",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T11:54:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ee1f9638777335cf10408571d14f4d0c66405811",
          "body": "Full parity with the Python fixes for every finding with a Node surface,\nin two passes (base port + adversarial-review delta):\n\n- C1: iter_document_parts_with_kind, TextSpan.part_index + mapper\n  part_ranges/part_boundary_at, raw-range cross-part validation with\n  single-part guidance, apply-level c\n[…]\n n8n 19/19; tsc and tsup builds clean;\ncross-platform goldens unchanged.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_015cSS4tU7MsMnS8BFDZBfDH",
          "is_bot": false,
          "headline": "Port the 2026-07-18 QA fixes and review hardening to the Node engine",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T11:23:04Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a06472254ad12435c609f9c9c4edca936b6f5952",
          "body": "…e CLI\n\nNo legacy user space is being carried, so duplicates replaced by newer\ncode go away instead of lingering:\n\n- domain.py: drop extract_definitions_and_diagnostics and\n  extract_anchors — both fully superseded by the single-pass\n  extract_all_domain_metadata (their one caller was a legacy test,\n[…]\nt; the three\n  drifting copies of the zip-error discrimination are gone.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_015cSS4tU7MsMnS8BFDZBfDH",
          "is_bot": false,
          "headline": "Remove superseded implementations; single shared DOCX-open path in th…",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T11:20:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b2694279505006b62817cbc73bb87c5a0d011b03",
          "body": "Remove the dead ExtractStructure.part_index_at, compute the table row\nalignment once (shared between the structure-change detector and the\nrow-op emitter), and short-circuit the cross-part span scans for\nsingle-part documents — the common no-header/footer case pays nothing\nfor the C1 guards.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_015cSS4tU7MsMnS8BFDZBfDH",
          "is_bot": false,
          "headline": "Apply cleanup findings from self-review",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T11:02:03Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "5b23b2026776c0f40bf9e5204ee3c5ecd0c66a69",
          "body": "Findings from a multi-angle review of the fix commit, each with a\nregression test:\n\n- The C1 boundary re-anchor hijacked target-anchored insertions at a\n  part's first character (prepending \"DRAFT \" to a footer landed in the\n  body). Only machine-pinned pure insertions re-anchor now; cross-part\n  ra\n[…]\nrmark shapes stay out of the text\n  and in the sanitize watermark audit.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_015cSS4tU7MsMnS8BFDZBfDH",
          "is_bot": false,
          "headline": "Harden the QA fixes based on adversarial self-review",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T10:59:32Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "58778fad044507367f0f2e2fa66145133236861b",
          "body": "Mirrors the MCP diff_docx_files fix: the generated appendix is not\ndocument content and diffing it emits phantom edits.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_015cSS4tU7MsMnS8BFDZBfDH",
          "is_bot": false,
          "headline": "Exclude the structural appendix from the LangChain diff tool (QA H1)",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T10:35:18Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "02f7d0442b9ad95da86ebe2fd85458ca5f157b02",
          "body": "New architectural invariants both engines must uphold: OPC part-boundary\nsafety (span provenance, hard walls, body-preferring boundary insertions,\npart-by-part diff), main-story-only comments, structured table-row diff,\nlist/image/reserved-note projection rules, repeated defined-term\nextraction, bas\n[…]\nility, batch\ncollision refusal, and the CLI failure/JSON-error contract.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_015cSS4tU7MsMnS8BFDZBfDH",
          "is_bot": false,
          "headline": "Record the 2026-07-18 QA invariants in AI_CONTEXT",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T10:32:14Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0527e5119b7c2937b656dceb65c8b96614fb35ad",
          "body": "…+ CLI)\n\nCritical:\n- C1: the projection flattens headers/body/footers/notes into one string,\n  so diff emitted edits spanning the body/footer wall and apply wrote the\n  new final body paragraph into word/footer1.xml (with a comment anchor\n  that made LibreOffice refuse the file). The mapper now trac\n[…]\nincluding LibreOffice load checks (skipped when soffice is unavailable).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_015cSS4tU7MsMnS8BFDZBfDH",
          "is_bot": false,
          "headline": "Fix all 20 findings from the 2026-07-18 CLI QA report (Python engine …",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T10:26:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4947f97b546d6c2295ab3ad76355ae402cd7b416",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 1.22.0",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-18T07:49:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "63cf385f968880fa11bc4fd6901de1b64253aa99",
          "body": "…1xcr1f\n\nRemove the undocumented pre-v1.1.0 legacy CLI batch format",
          "is_bot": false,
          "headline": "Merge pull request #53 from dealfluence/claude/qa-report-tests-fixes-…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-18T07:03:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0dbf5b6888ef1860db6126105a5a9eeba4d39ee",
          "body": "Comments now describe the code as it is — the constraint or invariant\neach block enforces — rather than narrating what the code used to do,\nwhat was removed, or which project phase introduced it. History belongs\nto version control; a comment whose subject is a vanished state of the\ncodebase is stale\n[…]\n), as are repro-test docstrings, whose\npurpose is the regression record.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EPLjgC3CRjawkiGcTtFEUF",
          "is_bot": false,
          "headline": "Strip changelog residue from code comments",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T07:00:58Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ddfb2272e6a228bd6e24629ba35f884a5f963b00",
          "body": "The {\"actions\": [...], \"edits\": [...]} dict shape accepted by\n'adeu apply' and 'adeu markup' was never documented, nothing in the\nrepo produces it, and its tolerant translation layer is where QA F2\n(reject silently inverted to accept) lived. The unified typed-list\nformat — identical to the MCP 'chan\n[…]\n and the migrated modern\nequivalent of the F2 fixture applies correctly.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EPLjgC3CRjawkiGcTtFEUF",
          "is_bot": false,
          "headline": "Remove the undocumented pre-v1.1.0 legacy CLI batch format",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-18T06:41:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "eb7bc11169e269053314db05745272f362158605",
          "body": "…1xcr1f\n\nAdd failing repro tests for the 2026-07-17 QA report (F1-F11)",
          "is_bot": false,
          "headline": "Merge pull request #52 from dealfluence/claude/qa-report-tests-fixes-…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-18T06:27:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "269c07addff4b76020e305cc6f1f7129db93fedc",
          "body": "…roperty)\n\nImplements §7's two named regression tests plus the gaps they imply:\n\n- test_identity_roundtrip_is_a_noop_or_loud: apply(D, extract(D, --page\n  all)) across a six-document corpus (plain, contract w/ table+terms,\n  unicode, >19k chars, tracked changes, comments) in BOTH clean and\n  markup \n[…]\ned comments from the\n  package (the second delete_comment path from F3).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EPLjgC3CRjawkiGcTtFEUF",
          "is_bot": false,
          "headline": "Add the QA report's suggested regression tests (identity round-trip p…",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-17T22:19:32Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1a3254a6c648c1e312ac86d7aff63df6a3e17fa1",
          "body": "MCP parity for the F1 fix: mode='full' with page='all' now returns the\nentire document without page chrome via build_full_document_response —\nit used to fall through the isdigit() check and silently render page 1.\nApplied to the disk path (_read_docx_disk), both read_docx tool\nschemas, and the Live \n[…]\nF5). The langchain lockfile\npicks up the new 'regex' dependency of adeu.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EPLjgC3CRjawkiGcTtFEUF",
          "is_bot": false,
          "headline": "Wire page='all' through the Python MCP read_docx and Live Word paths",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-17T22:15:18Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "014b9da51370b9efa40ab4506f423fe3ef6a8145",
          "body": "Per the monorepo's 'Make Both Perfect' principle, every engine-level\nfinding from the 2026-07-17 QA report is verified on the Node side, and\nthe shared defects are fixed:\n\n- F5: user regex (regex:true, search_regex) now executes inside a\n  node:vm context with a 2s wall-clock timeout (V8 interrupts \n[…]\nthe\nshared defects against the unfixed engine (F5 hangs the event loop).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EPLjgC3CRjawkiGcTtFEUF",
          "is_bot": false,
          "headline": "Port QA report fixes to the Node engine and MCP server (F4-F6, F9-F11)",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-17T22:09:05Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8b7a953eeda7744293516880740707399bb155b4",
          "body": "F8 (Critical): pinned/text-diff edits now pass validate_edit_strings\nbefore apply, honouring the validate_edits docstring — CriticMarkup,\nheading-depth and anchor violations are rejected transactionally instead\nof being written into the document body. _attach_comment resolves its\nanchor indexes befo\n[…]\nion,\nand --author is validated in apply/sanitize and the MCP batch tool.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EPLjgC3CRjawkiGcTtFEUF",
          "is_bot": false,
          "headline": "Fix all 11 findings from the 2026-07-17 QA report (Python engine + CLI)",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-17T21:51:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b4db06ff576c14059889a93756abfcc54d6e06bc",
          "body": "Every test replicates a finding from the exploratory QA report against\nadeu 1.21.0+5bece24 and fails against that build:\n\n- F1: paginated extract fed back to apply/diff silently deletes every\n  page past page 1 and writes page chrome into the document body\n- F2: legacy {\"actions\": [...]} coerces ' r\n[…]\ntrol characters in new_text/comment/--author raise raw lxml\n  tracebacks\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EPLjgC3CRjawkiGcTtFEUF",
          "is_bot": false,
          "headline": "Add failing repro tests for the 2026-07-17 QA report (F1-F11)",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-17T21:32:01Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5bece24f3678bd94cf4b61fd943b087672fe94a4",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 1.21.0",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-17T19:52:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b22a35b26cc9b8eff20a313850daf54a1dbcea7",
          "body": "…8akct0\n\nFix QA report findings: diff/apply contract, boundary matching, previews, validation UX",
          "is_bot": false,
          "headline": "Merge pull request #51 from dealfluence/claude/adeu-cli-qa-ux-report-…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-17T14:19:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5621e4a697d5ae5e547eb30333636b5e71210781",
          "body": "Audit of the Node engine against the 2026-07-17 QA report found four of\nthe Python-side fixes were also needed there; the rest either did not\napply (no CLI surface, no JSON-edits diff output) or were covered by the\nzod boundary. Ported, with the Python v4 regression tests mirrored in\nengine.qa_v4_po\n[…]\nerver 41 passed, Python 574\npassed (untouched this round), builds clean.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Wvr76MSRHVuC6WegrSgBRj",
          "is_bot": false,
          "headline": "Port remaining QA-report fixes to the Node engine",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-17T14:13:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e26bc92ad16402ea19a66c2a24369d5c5fa766a8",
          "body": "Batches now apply SEQUENTIALLY in the Python engine's real run, not just\nits dry-run: each edit is validated and applied against the document\nstate produced by the edits before it, so a later edit may target text\nan earlier edit introduced (rename X to Y, then modify Y). The Node\nengine already work\n[…]\n now assert the\nfeature works end-to-end in both modes and both engines.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Wvr76MSRHVuC6WegrSgBRj",
          "is_bot": false,
          "headline": "Make sequential batch chaining a first-class contract in both engines",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-17T13:53:10Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "787b7ce68fff80639f9f1d3da7f129204b502de7",
          "body": "…ews, validation UX\n\nAddresses the 2026-07-17 CLI QA & UX report (C1-C2, H1-H3, M1-M5, L1-L5):\n\n- C1: `adeu diff` output is now guaranteed to re-apply cleanly by text\n  matching alone. make_edits_self_contained() widens ambiguous atomic\n  edits (and pure insertions) with surrounding words from the o\n[…]\nistine-target\ncontract; tests codifying the old divergence were updated.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Wvr76MSRHVuC6WegrSgBRj",
          "is_bot": false,
          "headline": "Fix QA report findings: diff/apply contract, boundary matching, previ…",
          "author_name": "Claude",
          "author_login": "claude",
          "committed_at": "2026-07-17T13:21:45Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f0d7d6a51958c5efbc85bd7884ee822406892a5c",
          "body": null,
          "is_bot": false,
          "headline": "updated README.md",
          "author_name": "Git-Uzair",
          "author_login": "Git-Uzair",
          "committed_at": "2026-07-17T12:17:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24d099740cafd86570e90bb47d7a3e1e132f0275",
          "body": null,
          "is_bot": false,
          "headline": "Removed adeu cloud from OSS",
          "author_name": "Git-Uzair",
          "author_login": "Git-Uzair",
          "committed_at": "2026-07-17T12:10:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c60ac0a8c76fdf831e8c952433014f5d5d02fad8",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 1.20.0",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-16T10:26:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "39ccba9ca74a3a0057324fa661b0ada0eab2ade0",
          "body": null,
          "is_bot": false,
          "headline": "cli done",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-16T10:25:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f47cadaaec5dcd96d501dfbfb65cc047c571859c",
          "body": null,
          "is_bot": false,
          "headline": "cli type ignore",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-16T09:45:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f6bf92c5238ebdcc2307af3328df60a2af2f4c3f",
          "body": null,
          "is_bot": false,
          "headline": "cli enconding fixes.",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-16T09:28:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d95ba31bc19dc2cf8678c5c18a19054fa619700",
          "body": null,
          "is_bot": false,
          "headline": "fix insertion anchor",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-15T21:11:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b2e2dc6dbee3e57156d2099669abab41e58dcda",
          "body": null,
          "is_bot": false,
          "headline": "fix insertion anchor",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-15T21:04:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce901cde4cc7913b04913d6dc756df6f1ded740d",
          "body": null,
          "is_bot": false,
          "headline": "cli improved",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-15T20:32:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5932169f46bf7788b971d8505c0b8df6a2f5cc76",
          "body": null,
          "is_bot": false,
          "headline": "zod",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-15T20:06:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e6bd644db1866a80ea412aa4ede0f67375ecd54",
          "body": "…ions/setup-node-7\n\nchore(deps): bump actions/setup-node from 6 to 7",
          "is_bot": false,
          "headline": "Merge pull request #45 from dealfluence/dependabot/github_actions/act…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-15T07:24:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f137aafad9ba85cedd7eef6d27e444f3ebafca4a",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into dependabot/github_actions/actions/setup-node-7",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-15T07:23:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e2fc0666049785b311936a0be4b098fcefbf3d64",
          "body": "…typescript-eslint/parser-8.64.0\n\nchore(deps-dev): bump @typescript-eslint/parser from 8.59.4 to 8.64.0 in /node",
          "is_bot": false,
          "headline": "Merge pull request #48 from dealfluence/dependabot/npm_and_yarn/node/…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-15T07:23:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "66bd5a3dcd845a5b73f044fe64222533c06e3806",
          "body": "…nt/parser-8.64.0",
          "is_bot": false,
          "headline": "Merge branch 'main' into dependabot/npm_and_yarn/node/typescript-esli…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-15T07:06:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0048078f09c085a88e7796c8c7d86e229694a89",
          "body": "…modelcontextprotocol/ext-apps-1.7.4\n\nchore(deps): bump @modelcontextprotocol/ext-apps from 1.7.2 to 1.7.4 in /node",
          "is_bot": false,
          "headline": "Merge pull request #49 from dealfluence/dependabot/npm_and_yarn/node/…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-15T07:05:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f6501cb6ce3cebbc6a0e7601c5fc458f7d5cc61",
          "body": "Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.59.4 to 8.64.0.\n- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)\n- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main\n[…]\nname: \"@typescript-eslint/parser\"\n  dependency-version: 8.64.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps-dev): bump @typescript-eslint/parser in /node",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-15T06:55:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "de56adfff048dbecdc4c1ed78efd6ef92602ef1c",
          "body": "…tocol/ext-apps-1.7.4",
          "is_bot": false,
          "headline": "Merge branch 'main' into dependabot/npm_and_yarn/node/modelcontextpro…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-15T06:53:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "63aa6ddf2a0d2423516ecfa329398579599a58c7",
          "body": "…n8n/eslint-plugin-community-nodes-0.24.0\n\nchore(deps-dev): bump @n8n/eslint-plugin-community-nodes from 0.16.0 to 0.24.0 in /node",
          "is_bot": false,
          "headline": "Merge pull request #50 from dealfluence/dependabot/npm_and_yarn/node/…",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-15T06:53:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16b44afb61084b28a8b56a394b0dc6e42eb4d739",
          "body": "Bumps [@n8n/eslint-plugin-community-nodes](https://github.com/n8n-io/n8n) from 0.16.0 to 0.24.0.\n- [Release notes](https://github.com/n8n-io/n8n/releases)\n- [Commits](https://github.com/n8n-io/n8n/compare/n8n@0.16.0...n8n@0.24.0)\n\n---\nupdated-dependencies:\n- dependency-name: \"@n8n/eslint-plugin-community-nodes\"\n  dependency-version: 0.24.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps-dev): bump @n8n/eslint-plugin-community-nodes in /node",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-14T20:11:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d67a26efa83ae8891a19050030f69bb5387208e",
          "body": "Bumps [@modelcontextprotocol/ext-apps](https://github.com/modelcontextprotocol/ext-apps) from 1.7.2 to 1.7.4.\n- [Release notes](https://github.com/modelcontextprotocol/ext-apps/releases)\n- [Changelog](https://github.com/modelcontextprotocol/ext-apps/blob/main/RELEASES.md)\n- [Commits](https://github.\n[…]\ne: \"@modelcontextprotocol/ext-apps\"\n  dependency-version: 1.7.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump @modelcontextprotocol/ext-apps in /node",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-14T20:11:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "930c2859eeb101649c3fdfbac8d495d5aba1e93c",
          "body": "Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6 to 7.\n- [Release notes](https://github.com/actions/setup-node/releases)\n- [Commits](https://github.com/actions/setup-node/compare/v6...v7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-node\n  dependency-version: '7'\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump actions/setup-node from 6 to 7",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-14T20:10:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9bd12afb34ddbbc251e49c7872d9333a8bac13a6",
          "body": null,
          "is_bot": false,
          "headline": "update deps",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-14T20:09:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1aea2a8d671ea23ab830a933733f1f6da0cfe786",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 1.19.1",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-13T10:30:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91b8258a07023032428b21784256fb1864095fd7",
          "body": null,
          "is_bot": false,
          "headline": "fix console log",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-13T10:25:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "750614883af9a82dec5e4e6cf796385d844e87d9",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 1.19.0",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-08T07:08:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c2fe4c5a312dbe11c9e97c661b2f103e798098b3",
          "body": null,
          "is_bot": false,
          "headline": "mypy",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-08T06:48:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad9a8ae2d244b16be0bc358a41e726a1ab23dd89",
          "body": null,
          "is_bot": false,
          "headline": "format",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-08T06:39:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7fa8ce1314cfa29c97c5c7045f24d2696e19aade",
          "body": null,
          "is_bot": false,
          "headline": "lint",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-08T06:05:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f6daffe5ec287123af5f90c3501cb2a507e78f6a",
          "body": null,
          "is_bot": false,
          "headline": "trimming logic",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-08T06:02:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "795b4194436a4469b88596f3ca5d0e6d8d86b0c3",
          "body": null,
          "is_bot": false,
          "headline": "fix indexed",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-08T05:41:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ffa5978d41de50952f3b2eb1c9840b9d29963cf1",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump version to 1.18.5",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-07T13:55:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2c9f8cc515c4f77f2885cfdbab1236a7e77b8a2b",
          "body": null,
          "is_bot": false,
          "headline": "add missing tests",
          "author_name": "Mikko Korpela",
          "author_login": "mkorpela",
          "committed_at": "2026-07-07T13:49:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 50,
      "commits_last_year": 756,
      "latest_release_at": "2026-07-20T15:20:09Z",
      "latest_release_tag": "v1.28.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 27,
      "days_since_latest_release": 1,
      "mean_days_between_releases": 1.4
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "adeu",
          "exists": true,
          "license": null,
          "keywords": [
            "agent",
            "docx",
            "llm",
            "mcp",
            "redlining",
            "virtual-dom",
            "Development Status :: 5 - Production/Stable",
            "Intended Audience :: Developers",
            "License :: OSI Approved :: MIT License",
            "Operating System :: OS Independent",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/adeu/",
          "is_deprecated": false,
          "latest_version": "1.28.0",
          "repository_url": "https://github.com/dealfluence/adeu",
          "versions_count": 79,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 9875,
          "first_published_at": "2025-08-04T14:30:55.487050Z",
          "latest_published_at": "2026-07-20T15:20:37.233661Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 1
        },
        {
          "name": "langchain-adeu",
          "exists": true,
          "license": null,
          "keywords": [
            "agent",
            "docx",
            "langchain",
            "redlining",
            "tools",
            "tracked-changes",
            "word",
            "Development Status :: 5 - Production/Stable",
            "Intended Audience :: Developers",
            "License :: OSI Approved :: MIT License",
            "Operating System :: OS Independent",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13",
            "Topic :: Office/Business :: Office Suites",
            "Topic :: Scientific/Engineering :: Artificial Intelligence"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/langchain-adeu/",
          "is_deprecated": false,
          "latest_version": "1.28.0",
          "repository_url": "https://github.com/dealfluence/adeu",
          "versions_count": 32,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 3178,
          "first_published_at": "2026-05-25T08:21:45.869634Z",
          "latest_published_at": "2026-07-20T15:20:41.760394Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 1
        }
      ]
    },
    "popularity": {
      "forks": 18,
      "stars": 129,
      "watchers": 2,
      "fork_history": {
        "days": [
          {
            "date": "2026-01-14",
            "count": 1
          },
          {
            "date": "2026-01-16",
            "count": 1
          },
          {
            "date": "2026-02-04",
            "count": 1
          },
          {
            "date": "2026-02-05",
            "count": 1
          },
          {
            "date": "2026-02-18",
            "count": 1
          },
          {
            "date": "2026-02-27",
            "count": 1
          },
          {
            "date": "2026-03-02",
            "count": 1
          },
          {
            "date": "2026-04-19",
            "count": 1
          },
          {
            "date": "2026-05-07",
            "count": 1
          },
          {
            "date": "2026-05-15",
            "count": 1
          },
          {
            "date": "2026-05-19",
            "count": 1
          },
          {
            "date": "2026-05-20",
            "count": 1
          },
          {
            "date": "2026-05-26",
            "count": 1
          },
          {
            "date": "2026-06-11",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 1
          },
          {
            "date": "2026-07-08",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 18,
        "total_forks": 18
      },
      "star_history": {
        "days": [
          {
            "date": "2026-01-01",
            "count": 1
          },
          {
            "date": "2026-01-14",
            "count": 12
          },
          {
            "date": "2026-01-15",
            "count": 3
          },
          {
            "date": "2026-01-16",
            "count": 1
          },
          {
            "date": "2026-01-17",
            "count": 2
          },
          {
            "date": "2026-01-18",
            "count": 1
          },
          {
            "date": "2026-01-19",
            "count": 1
          },
          {
            "date": "2026-01-22",
            "count": 1
          },
          {
            "date": "2026-01-23",
            "count": 4
          },
          {
            "date": "2026-01-26",
            "count": 1
          },
          {
            "date": "2026-01-29",
            "count": 3
          },
          {
            "date": "2026-01-30",
            "count": 2
          },
          {
            "date": "2026-01-31",
            "count": 1
          },
          {
            "date": "2026-02-05",
            "count": 3
          },
          {
            "date": "2026-02-06",
            "count": 1
          },
          {
            "date": "2026-02-12",
            "count": 2
          },
          {
            "date": "2026-02-13",
            "count": 1
          },
          {
            "date": "2026-02-18",
            "count": 1
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-03-02",
            "count": 1
          },
          {
            "date": "2026-03-05",
            "count": 1
          },
          {
            "date": "2026-03-10",
            "count": 1
          },
          {
            "date": "2026-03-12",
            "count": 3
          },
          {
            "date": "2026-03-15",
            "count": 1
          },
          {
            "date": "2026-03-18",
            "count": 2
          },
          {
            "date": "2026-04-04",
            "count": 1
          },
          {
            "date": "2026-04-07",
            "count": 1
          },
          {
            "date": "2026-04-08",
            "count": 2
          },
          {
            "date": "2026-04-10",
            "count": 1
          },
          {
            "date": "2026-04-14",
            "count": 1
          },
          {
            "date": "2026-04-18",
            "count": 1
          },
          {
            "date": "2026-04-19",
            "count": 2
          },
          {
            "date": "2026-04-20",
            "count": 1
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-04-24",
            "count": 2
          },
          {
            "date": "2026-04-25",
            "count": 1
          },
          {
            "date": "2026-05-05",
            "count": 2
          },
          {
            "date": "2026-05-06",
            "count": 1
          },
          {
            "date": "2026-05-10",
            "count": 3
          },
          {
            "date": "2026-05-11",
            "count": 1
          },
          {
            "date": "2026-05-12",
            "count": 1
          },
          {
            "date": "2026-05-15",
            "count": 2
          },
          {
            "date": "2026-05-16",
            "count": 1
          },
          {
            "date": "2026-05-18",
            "count": 1
          },
          {
            "date": "2026-05-20",
            "count": 2
          },
          {
            "date": "2026-05-22",
            "count": 2
          },
          {
            "date": "2026-05-26",
            "count": 3
          },
          {
            "date": "2026-05-29",
            "count": 1
          },
          {
            "date": "2026-05-30",
            "count": 1
          },
          {
            "date": "2026-06-07",
            "count": 2
          },
          {
            "date": "2026-06-09",
            "count": 1
          },
          {
            "date": "2026-06-12",
            "count": 1
          },
          {
            "date": "2026-06-13",
            "count": 1
          },
          {
            "date": "2026-06-15",
            "count": 3
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-06-17",
            "count": 2
          },
          {
            "date": "2026-06-18",
            "count": 2
          },
          {
            "date": "2026-06-21",
            "count": 1
          },
          {
            "date": "2026-06-22",
            "count": 5
          },
          {
            "date": "2026-06-23",
            "count": 2
          },
          {
            "date": "2026-06-24",
            "count": 1
          },
          {
            "date": "2026-06-25",
            "count": 2
          },
          {
            "date": "2026-06-28",
            "count": 2
          },
          {
            "date": "2026-06-29",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 1
          },
          {
            "date": "2026-07-01",
            "count": 1
          },
          {
            "date": "2026-07-04",
            "count": 1
          },
          {
            "date": "2026-07-06",
            "count": 1
          },
          {
            "date": "2026-07-07",
            "count": 2
          },
          {
            "date": "2026-07-08",
            "count": 1
          },
          {
            "date": "2026-07-09",
            "count": 1
          },
          {
            "date": "2026-07-12",
            "count": 3
          },
          {
            "date": "2026-07-14",
            "count": 1
          },
          {
            "date": "2026-07-15",
            "count": 1
          },
          {
            "date": "2026-07-17",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 129,
        "total_stars": 129
      },
      "open_issues_and_prs": 4
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": true,
      "bootstrap_files": [
        "langchain/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "node/packages/core/tsconfig.json",
        "node/packages/mcp-server/tsconfig.json",
        "node/packages/n8n-nodes-adeu/tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 216475,
      "source_files_sampled": 275,
      "oversized_source_files": 3,
      "agent_instruction_files": [
        "GEMINI.md"
      ],
      "agent_instruction_max_bytes": 2199
    },
    "dependencies": {
      "manifests": [
        "desktop-extension/package.json",
        "langchain/pyproject.toml",
        "node/package.json",
        "python/pyproject.toml"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.14",
            "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": 0
          },
          {
            "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": 0
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-4c8g-83qw-93j6"
            ],
            "fixed_version": "4.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 0
          },
          {
            "name": "@hono/node-server",
            "direct": false,
            "version": "1.19.14",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.9,
            "advisory_ids": [
              "GHSA-frvp-7c67-39w9"
            ],
            "fixed_version": "2.0.5",
            "advisory_count": 1,
            "oldest_advisory_days": 0
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "2.2.2",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 3.7,
            "advisory_ids": [
              "GHSA-v422-hmwv-36x6"
            ],
            "fixed_version": "2.3.0",
            "advisory_count": 1,
            "oldest_advisory_days": 0
          },
          {
            "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": 39
          }
        ],
        "collected": true,
        "truncated": false,
        "by_severity": {
          "low": 2,
          "high": 3,
          "moderate": 1
        },
        "advisory_count": 6,
        "affected_count": 6,
        "assessed_count": 639,
        "assessed_package": null,
        "unassessed_count": 17,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm",
        "pypi"
      ],
      "dependencies": [
        {
          "name": "langchain-core",
          "manifest": "langchain/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.3.0,<2.0.0"
        },
        {
          "name": "adeu",
          "manifest": "langchain/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.17.0"
        },
        {
          "name": "pydantic",
          "manifest": "langchain/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.0.0"
        },
        {
          "name": "python-docx",
          "manifest": "python/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.1.0"
        },
        {
          "name": "structlog",
          "manifest": "python/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=24.0.0"
        },
        {
          "name": "pydantic",
          "manifest": "python/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.0.0"
        },
        {
          "name": "lxml",
          "manifest": "python/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=5.0.0"
        },
        {
          "name": "diff-match-patch",
          "manifest": "python/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=20230430"
        },
        {
          "name": "fastmcp",
          "manifest": "python/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.1.1"
        },
        {
          "name": "jinja2",
          "manifest": "python/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.1.6"
        },
        {
          "name": "pywin32",
          "manifest": "python/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "rapidfuzz",
          "manifest": "python/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.14.5"
        },
        {
          "name": "regex",
          "manifest": "python/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2024.11.6"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "adeu",
            "direct": true,
            "version": "1.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "diff-match-patch",
            "direct": true,
            "version": "20241021",
            "ecosystem": "pypi"
          },
          {
            "name": "fastmcp",
            "direct": true,
            "version": "3.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": true,
            "version": "3.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-core",
            "direct": true,
            "version": "1.4.9",
            "ecosystem": "pypi"
          },
          {
            "name": "lxml",
            "direct": true,
            "version": "6.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": true,
            "version": "2.13.4",
            "ecosystem": "pypi"
          },
          {
            "name": "python-docx",
            "direct": true,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pywin32",
            "direct": true,
            "version": "312",
            "ecosystem": "pypi"
          },
          {
            "name": "rapidfuzz",
            "direct": true,
            "version": "3.14.5",
            "ecosystem": "pypi"
          },
          {
            "name": "regex",
            "direct": true,
            "version": "2026.7.10",
            "ecosystem": "pypi"
          },
          {
            "name": "structlog",
            "direct": true,
            "version": "26.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "@adeu/core",
            "direct": false,
            "version": "1.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@adeu/core",
            "direct": false,
            "version": "^1.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@adeu/mcp-server",
            "direct": false,
            "version": "1.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@apm-js-collab/code-transformer",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@apm-js-collab/code-transformer-bundler-plugins",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@apm-js-collab/tracing-hooks",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@codemirror/autocomplete",
            "direct": false,
            "version": "6.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "@codemirror/language",
            "direct": false,
            "version": "6.12.4",
            "ecosystem": "npm"
          },
          {
            "name": "@codemirror/state",
            "direct": false,
            "version": "6.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "@codemirror/view",
            "direct": false,
            "version": "6.43.6",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-array",
            "direct": false,
            "version": "0.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-array",
            "direct": false,
            "version": "0.23.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "0.15.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "3.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "9.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "2.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "@hono/node-server",
            "direct": false,
            "version": "1.19.14",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/core",
            "direct": false,
            "version": "0.19.2",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/node",
            "direct": false,
            "version": "0.16.8",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/types",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@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": "@lezer/common",
            "direct": false,
            "version": "1.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@lezer/highlight",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@lezer/lr",
            "direct": false,
            "version": "1.4.10",
            "ecosystem": "npm"
          },
          {
            "name": "@marijn/find-cluster-break",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@modelcontextprotocol/ext-apps",
            "direct": false,
            "version": "1.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "@modelcontextprotocol/ext-apps",
            "direct": false,
            "version": "^1.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "@modelcontextprotocol/sdk",
            "direct": false,
            "version": "1.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@modelcontextprotocol/sdk",
            "direct": false,
            "version": "^1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@n8n/constants",
            "direct": false,
            "version": "0.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@n8n/errors",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "@n8n/eslint-plugin-community-nodes",
            "direct": false,
            "version": "0.24.0",
            "ecosystem": "npm"
          },
          {
            "name": "@n8n/eslint-plugin-community-nodes",
            "direct": false,
            "version": "^0.24.0",
            "ecosystem": "npm"
          },
          {
            "name": "@n8n/expression-runtime",
            "direct": false,
            "version": "0.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "@n8n/tournament",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@n8n/utils",
            "direct": false,
            "version": "1.39.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/api",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/api-logs",
            "direct": false,
            "version": "0.220.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/core",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/instrumentation",
            "direct": false,
            "version": "0.220.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/resources",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/sdk-trace",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/sdk-trace-base",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/semantic-conventions",
            "direct": false,
            "version": "1.43.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.139.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/conventions",
            "direct": false,
            "version": "0.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/core",
            "direct": false,
            "version": "10.65.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/node",
            "direct": false,
            "version": "10.65.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/node-core",
            "direct": false,
            "version": "10.65.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/opentelemetry",
            "direct": false,
            "version": "10.65.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/server-utils",
            "direct": false,
            "version": "10.65.0",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/diff-match-patch",
            "direct": false,
            "version": "1.0.36",
            "ecosystem": "npm"
          },
          {
            "name": "@types/diff-match-patch",
            "direct": false,
            "version": "^1.0.36",
            "ecosystem": "npm"
          },
          {
            "name": "@types/esrecurse",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "25.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "^25.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "^8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.59.4",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.59.4",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.59.4",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.59.4",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.59.4",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "8.59.4",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.59.4",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.64.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@xmldom/xmldom",
            "direct": false,
            "version": "0.9.10",
            "ecosystem": "npm"
          },
          {
            "name": "@xmldom/xmldom",
            "direct": false,
            "version": "^0.9.10",
            "ecosystem": "npm"
          },
          {
            "name": "accepts",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-formats",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "any-promise",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "asn1",
            "direct": false,
            "version": "0.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "assert",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ast-types",
            "direct": false,
            "version": "0.15.2",
            "ecosystem": "npm"
          },
          {
            "name": "ast-types",
            "direct": false,
            "version": "0.16.1",
            "ecosystem": "npm"
          },
          {
            "name": "astring",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "asynckit",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "available-typed-arrays",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "axios",
            "direct": false,
            "version": "1.18.0",
            "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": "bcrypt-pbkdf",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.14",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "buildcheck",
            "direct": false,
            "version": "0.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "bundle-require",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "cac",
            "direct": false,
            "version": "6.7.14",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bound",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "charenc",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cjs-module-lexer",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "combined-stream",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "consola",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "content-disposition",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "cookie-signature",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "copyfiles",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "copyfiles",
            "direct": false,
            "version": "^2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "core-util-is",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cors",
            "direct": false,
            "version": "2.8.6",
            "ecosystem": "npm"
          },
          {
            "name": "cpu-features",
            "direct": false,
            "version": "0.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "crelt",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "crypt",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "define-data-property",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "define-properties",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "delayed-stream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "depd",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "diff-match-patch",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "diff-match-patch",
            "direct": false,
            "version": "^1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ee-first",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "encodeurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-html",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "10.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "9.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "^10.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "9.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "10.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "esprima-next",
            "direct": false,
            "version": "5.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "etag",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "eventsource",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "eventsource-parser",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "express",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "express-rate-limit",
            "direct": false,
            "version": "8.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "fastest-levenshtein",
            "direct": false,
            "version": "1.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "fflate",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "fflate",
            "direct": false,
            "version": "^0.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "finalhandler",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fix-dts-default-cjs-exports",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "follow-redirects",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "for-each",
            "direct": false,
            "version": "0.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "forwarded",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fresh",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "generator-function",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-property-descriptors",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "hono",
            "direct": false,
            "version": "4.12.30",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "import-in-the-middle",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ip-address",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ipaddr.js",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-arguments",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-buffer",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "is-callable",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-generator-function",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-nan",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-promise",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-regex",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-typed-array",
            "direct": false,
            "version": "1.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isolated-vm",
            "direct": false,
            "version": "6.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "jmespath",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "jose",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "joycon",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-base64",
            "direct": false,
            "version": "3.7.8",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-typed",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonrepair",
            "direct": false,
            "version": "3.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "jssha",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lilconfig",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "load-tsconfig",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "luxon",
            "direct": false,
            "version": "3.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "md5",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "media-typer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-descriptors",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "meriyah",
            "direct": false,
            "version": "6.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.35",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "mlly",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "module-details-from-path",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mz",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "n8n-workflow",
            "direct": false,
            "version": "2.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "n8n-workflow",
            "direct": false,
            "version": "^2.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "nan",
            "direct": false,
            "version": "2.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp-build",
            "direct": false,
            "version": "4.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "noms",
            "direct": false,
            "version": "0.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "object-is",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "object-keys",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object.assign",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "on-finished",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "packages/n8n-nodes-adeu",
            "direct": false,
            "version": "1.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parseurl",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "8.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "pirates",
            "direct": false,
            "version": "4.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "pkce-challenge",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "possible-typed-array-names",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.19",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-load-config",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "process-nextick-args",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-addr",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-from-env",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.15.3",
            "ecosystem": "npm"
          },
          {
            "name": "range-parser",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "raw-body",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "1.0.34",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "recast",
            "direct": false,
            "version": "0.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "require-in-the-middle",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.60.3",
            "ecosystem": "npm"
          },
          {
            "name": "router",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "safe-regex-test",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "sax",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "semifies",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "send",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "serve-static",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "set-function-length",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "setprototypeof",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-list",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-map",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-weakmap",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "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": "ssh2",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "0.10.31",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "style-mod",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "sucrase",
            "direct": false,
            "version": "3.35.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "thenify",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "thenify-all",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "through2",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "title-case",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "toidentifier",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "transliteration",
            "direct": false,
            "version": "2.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "tree-kill",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-interface-checker",
            "direct": false,
            "version": "0.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsup",
            "direct": false,
            "version": "8.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsup",
            "direct": false,
            "version": "^8.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "tweetnacl",
            "direct": false,
            "version": "0.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-is",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "^6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "ufo",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.24.6",
            "ecosystem": "npm"
          },
          {
            "name": "unpipe",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "untildify",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "util",
            "direct": false,
            "version": "0.12.5",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "11.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "vary",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "^4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "w3c-keyname",
            "direct": false,
            "version": "2.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-typed-array",
            "direct": false,
            "version": "1.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "xml2js",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "xmlbuilder",
            "direct": false,
            "version": "11.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "xpath",
            "direct": false,
            "version": "0.0.34",
            "ecosystem": "npm"
          },
          {
            "name": "xpath",
            "direct": false,
            "version": "^0.0.34",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "16.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "17.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "20.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": false,
            "version": "3.25.67",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "zod-to-json-schema",
            "direct": false,
            "version": "3.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "aiofile",
            "direct": false,
            "version": "3.11.1",
            "ecosystem": "pypi"
          },
          {
            "name": "annotated-types",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.14.2",
            "ecosystem": "pypi"
          },
          {
            "name": "ast-serialize",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": "26.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "authlib",
            "direct": false,
            "version": "1.7.2",
            "ecosystem": "pypi"
          },
          {
            "name": "beartype",
            "direct": false,
            "version": "0.22.9",
            "ecosystem": "pypi"
          },
          {
            "name": "cachetools",
            "direct": false,
            "version": "7.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "caio",
            "direct": false,
            "version": "0.9.25",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2026.6.17",
            "ecosystem": "pypi"
          },
          {
            "name": "cffi",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.9",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": false,
            "version": "8.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "colorama",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "pypi"
          },
          {
            "name": "coverage",
            "direct": false,
            "version": "7.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "49.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cyclopts",
            "direct": false,
            "version": "4.21.0",
            "ecosystem": "pypi"
          },
          {
            "name": "distro",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dnspython",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "docstring-parser",
            "direct": false,
            "version": "0.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "email-validator",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "exceptiongroup",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "fastmcp-slim",
            "direct": false,
            "version": "3.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "griffelib",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "h11",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "httpcore",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx-sse",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "pypi"
          },
          {
            "name": "hypothesis",
            "direct": false,
            "version": "6.156.6",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.18",
            "ecosystem": "pypi"
          },
          {
            "name": "iniconfig",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-classes",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-context",
            "direct": false,
            "version": "6.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-functools",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jeepney",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "joserfc",
            "direct": false,
            "version": "1.7.3",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpatch",
            "direct": false,
            "version": "1.33",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpointer",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonref",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema",
            "direct": false,
            "version": "4.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-path",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-specifications",
            "direct": false,
            "version": "2025.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "keyring",
            "direct": false,
            "version": "25.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-adeu",
            "direct": false,
            "version": "1.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-protocol",
            "direct": false,
            "version": "0.0.18",
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-tests",
            "direct": false,
            "version": "1.1.9",
            "ecosystem": "pypi"
          },
          {
            "name": "langsmith",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "pypi"
          },
          {
            "name": "librt",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown-it-py",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "mcp",
            "direct": false,
            "version": "1.28.1",
            "ecosystem": "pypi"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "more-itertools",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy-extensions",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "openapi-pydantic",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-api",
            "direct": false,
            "version": "1.43.0",
            "ecosystem": "pypi"
          },
          {
            "name": "orjson",
            "direct": false,
            "version": "3.11.9",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "26.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pathable",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pathspec",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "platformdirs",
            "direct": false,
            "version": "4.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pluggy",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "prefab-ui",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "pypi"
          },
          {
            "name": "py-cpuinfo",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "py-key-value-aio",
            "direct": false,
            "version": "0.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-core",
            "direct": false,
            "version": "2.46.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-settings",
            "direct": false,
            "version": "2.14.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": false,
            "version": "2.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyjwt",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyperclip",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "9.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-asyncio",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-benchmark",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-codspeed",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-cov",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-recording",
            "direct": false,
            "version": "0.13.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-socket",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dotenv",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "python-multipart",
            "direct": false,
            "version": "0.0.32",
            "ecosystem": "pypi"
          },
          {
            "name": "pywin32-ctypes",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "referencing",
            "direct": false,
            "version": "0.37.0",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": false,
            "version": "2.34.2",
            "ecosystem": "pypi"
          },
          {
            "name": "requests-toolbelt",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": false,
            "version": "15.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-rst",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rpds-py",
            "direct": false,
            "version": "2026.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "ruff",
            "direct": false,
            "version": "0.15.21",
            "ecosystem": "pypi"
          },
          {
            "name": "secretstorage",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sniffio",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sortedcontainers",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sse-starlette",
            "direct": false,
            "version": "3.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "starlette",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "syrupy",
            "direct": false,
            "version": "5.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "tenacity",
            "direct": false,
            "version": "9.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": false,
            "version": "4.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-inspection",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "uncalled-for",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uuid-utils",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uvicorn",
            "direct": false,
            "version": "0.51.0",
            "ecosystem": "pypi"
          },
          {
            "name": "vcrpy",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "watchfiles",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "websockets",
            "direct": false,
            "version": "16.1",
            "ecosystem": "pypi"
          },
          {
            "name": "wrapt",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "xxhash",
            "direct": false,
            "version": "3.8.1",
            "ecosystem": "pypi"
          },
          {
            "name": "zstandard",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 656,
        "direct_count": 12,
        "indirect_count": 644
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 4,
        "merged_prs": 44,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 21,
        "closed_unmerged_prs": 5
      },
      "bus_factor": 1,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "mkorpela",
          "commits": 477,
          "avatar_url": "https://avatars.githubusercontent.com/u/136885?v=4"
        },
        {
          "type": "User",
          "login": "Git-Uzair",
          "commits": 233,
          "avatar_url": "https://avatars.githubusercontent.com/u/58306355?v=4"
        },
        {
          "type": "User",
          "login": "claude",
          "commits": 44,
          "avatar_url": "https://avatars.githubusercontent.com/u/81847?v=4"
        },
        {
          "type": "User",
          "login": "itsbrex",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/9772694?v=4"
        }
      ],
      "contributors_sampled": 4,
      "top_contributor_share": 0.631
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "ecosystem-rot-pruner.yml",
        "release.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        "eslint.config.mjs"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json",
        "uv.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 4,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "11 out of 11 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/17 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 6 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "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": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "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": 5,
            "reason": "5 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "fcc417d490bdf92da46e30f1758e4a213132382b",
        "ran_at": "2026-07-21T20:24:18Z",
        "aggregate_score": 4.9,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/dealfluence/adeu",
    "host": "github.com",
    "name": "adeu",
    "owner": "dealfluence"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 72,
      "inputs": {
        "security": 59,
        "vitality": 86,
        "community": 62,
        "governance": 61,
        "engineering": 90
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 86,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 83,
            "inputs": {
              "commits_last_year": 756,
              "human_commit_share": 0.96,
              "days_since_last_push": 0,
              "active_weeks_last_year": 27
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "27/52 weeks with commits",
                "points": 18.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 27
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "756 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 756
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 50,
              "latest_release_tag": "v1.28.0",
              "releases_from_tags": false,
              "days_since_latest_release": 1,
              "mean_days_between_releases": 1.4
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "50 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 50
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~1.4 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 1.4
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 62,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "at_risk",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 44,
            "inputs": {
              "forks": 18,
              "stars": 129,
              "watchers": 2,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "129 stars",
                "points": 34.2,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 129
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "18 forks",
                "points": 10.3,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 18
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "2 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "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": 69,
            "inputs": {
              "packages": [
                "adeu",
                "langchain-adeu"
              ],
              "dependents": null,
              "ecosystems": "pypi",
              "total_downloads": null,
              "monthly_downloads": 13053
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "13,053 downloads/month across pypi",
                "points": 54.9,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 13053,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "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": 61,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 33,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 4,
              "top_contributor_share": 0.631
            },
            "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 63% of commits",
                "points": 8.3,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 63
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "4 contributors",
                "points": 5.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 6 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 81,
            "inputs": {
              "merged_prs": 44,
              "open_issues": 0,
              "closed_issues": 21,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 5
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 46.8,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "44/49 decided PRs merged",
                "points": 34.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 44,
                      "decided": 49
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/17 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": 3,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "dealfluence",
              "public_repos": 3,
              "account_age_days": 832
            },
            "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": "3 followers of dealfluence",
                "points": 4.3,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 3,
                      "login": "dealfluence"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "3 public repos, account ~2 yr old",
                "points": 8.9,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 3
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 2
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "adeu",
                "langchain-adeu"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 1
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "2 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 2,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 1 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "79 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 79
                    }
                  }
                ],
                "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": "3 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": "eslint.config.mjs",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "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": "11 out of 11 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",
                "document-automation",
                "docx-converter",
                "legaltech",
                "llm-tools",
                "mcp-server",
                "python-library",
                "redline",
                "gemini-cli-extension"
              ],
              "has_wiki": true,
              "homepage": "https://adeu.ai",
              "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://adeu.ai",
                "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": "9 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "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": "moderate",
        "name": "Security",
        "value": 59,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": null,
            "notes": [],
            "value": 49,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 18,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 0,
              "scorecard_aggregate": 4.9
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "11 out of 11 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/17 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 6 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "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 not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "5 existing vulnerabilities detected",
                "points": 3.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 639 resolved dependencies against OSV; 17 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). 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",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 639
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 17
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 6,
              "affected_packages": 6,
              "assessed_packages": 639,
              "unassessed_packages": 17,
              "affected_by_severity": "high 3, moderate 1, low 2",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "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 carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "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": 639,
              "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": 82,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "good",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.688,
              "agent_instruction_files": [
                "GEMINI.md"
              ],
              "agent_instruction_max_bytes": 2199
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "GEMINI.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "GEMINI.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": "66 of 96 human commits state their intent (structured subject or explanatory body)",
                "points": 36.7,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 66,
                      "sampled": 96
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "excellent",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json",
                "uv.lock"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [
                "langchain/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "node/packages/core/tsconfig.json",
                "node/packages/mcp-server/tsconfig.json",
                "node/packages/n8n-nodes-adeu/tsconfig.json"
              ],
              "agent_commit_share": 0.24,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.04
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "langchain/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "langchain/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": "eslint.config.mjs",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.mjs"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "node/packages/core/tsconfig.json, node/packages/mcp-server/tsconfig.json, node/packages/n8n-nodes-adeu/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "node/packages/core/tsconfig.json, node/packages/mcp-server/tsconfig.json, node/packages/n8n-nodes-adeu/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "24 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 24,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "4 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 4,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "good",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 81,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 216475,
              "source_files_sampled": 275,
              "oversized_source_files": 3
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python with type-check config (node/packages/core/tsconfig.json, node/packages/mcp-server/tsconfig.json, node/packages/n8n-nodes-adeu/tsconfig.json)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "node/packages/core/tsconfig.json, node/packages/mcp-server/tsconfig.json, node/packages/n8n-nodes-adeu/tsconfig.json",
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "3/275 source files over 60KB",
                "points": 54.4,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 275,
                      "oversized": 3
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "moderate",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": true,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "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 pypi:adeu@1.28.0; advisories assessed against the repository dependency graph instead"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-21T20:24:33.882015Z",
  "schema_version": "0.23.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/d/dealfluence/adeu.svg",
  "full_name": "dealfluence/adeu",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

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