Registro público
Informe de salud del softwareesquema 0.23.0 · métricas 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 estrellas⑂ 18 forksdesde dic 2025Ver en GitHub ↗

dealfluence/adeu tiene un índice de salud de 72 sobre 100, lo que lo sitúa en la banda Bueno. Su puntuación más alta es Engineering Quality (90/100) y la más baja, Security (59/100). Se actualizó por última vez hoy. Una sola persona concentra la mayor parte del trabajo reciente.

72
global / 100
Bueno

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala de 1 a 100. El resultado global parte de su media; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe el límite 49 (En riesgo). Preparación para IA queda fuera.

72
Excelente85-100Ejemplar; cumple prácticamente todos los criterios evaluados
Bueno70-84Saludable; carencias menores
Moderado50-69Aceptable con carencias notables; se recomienda revisión
En riesgo30-49Debilidades significativas; su adopción exige cautela
Crítico1-29Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.

Titularidad

dealfluenceOrganización
3 seguidores3 repositorios públicosdesde abr 2024

Este repositorio está respaldado por una organización: una custodia compartida y responsable que puede sobrevivir a cualquier mantenedor individual.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
PyPIadeu1.28.0987579hace 1 díaagentdocxllmmcpredliningvirtual-dom
PyPIlangchain-adeu1.28.0317832hace 1 díaagentdocxlangchainredliningtoolstracked-changesword

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

86Excelente · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
18.7/36Cadencia de commits — 27/52 semanas con commits
18/18Volumen de commits — 756 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year756
human_commit_share0,96
days_since_last_push0
active_weeks_last_year27
Cómo se puntúa
27/27Publica versiones — 50 versiones publicadas
36/36Recencia de las versiones — última versión hace 1 días
27/27Cadencia de publicación — una versión cada ~1,4 días
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Datos de entrada utilizados
releases_count50
latest_release_tagv1.28.0
releases_from_tagsno
days_since_latest_release1
mean_days_between_releases1,4

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

62Moderado · 18% del índice global
Cómo se puntúa
34.2/60Estrellas — 129 estrellas
10.3/25Forks — 18 forks
0/15Observadores — 2 observadores
Datos de entrada utilizados
forks18
stars129
watchers2
growth_stateorganic
growth_factor_pct100
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (MIT)
18/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
6.3/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributing
has_issue_templateno
has_code_of_conductno
has_pull_request_template
Cómo se puntúa
54.9/80Descargas mensuales — 13.053 descargas/mes en pypi
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packagesadeu, langchain-adeu
dependents
ecosystemspypi
total_downloads
monthly_downloads13.053
Excluidos de la puntuación (sin datos o no aplicable): Dependientes en el registro. Los pesos restantes se han renormalizado.

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

61Moderado · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
8.3/22.5Distribución de commits — el principal contribuyente firma el 63% de los commits
5.4/13.5Amplitud de contribuyentes — 4 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 6 contributing companies or organizations
Datos de entrada utilizados
bus_factor1
contributors_sampled4
top_contributor_share0,631
Cómo se puntúa
46.8/46.8Resolución de issues — 100% de issues cerradas
34.3/38.3Aceptación de PR — 44/49 PR decididos fusionados
0/15OpenSSF Scorecard: Code-Review — Found 0/17 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs44
open_issues0
closed_issues21
issue_closed_ratio1
closed_unmerged_prs5
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
4.3/25Alcance del propietario — 3 seguidores de dealfluence
8.9/25Trayectoria — 3 repos públicos, cuenta de ~2 años
Datos de entrada utilizados
followers3
owner_typeOrganization
is_verified
owner_logindealfluence
public_repos3
account_age_days832
Cómo se puntúa
25/25Publicado y resoluble — 2 paquete(s) en pypi
35/35Recencia de publicación — última publicación hace 1 días
20/20Historial de versiones — 79 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagesadeu, langchain-adeu
ecosystemspypi
any_deprecatedno
min_days_since_publish1

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

90Excelente · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 3 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter — eslint.config.mjs
0/9.6Hooks de pre-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
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_config
has_precommit_configno

Documentación

100Excelente
Cómo se puntúa
30/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://adeu.ai
10/10Descripción del repositorio
10/10Topics — 9 topics
10/10Wiki
Datos de entrada utilizados
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

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

59Moderado · 16% del índice global
Cómo se puntúa
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.5Licencia — 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
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated18
scorecard_versionv5.5.0
checks_inconclusive0
scorecard_aggregate4,9
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
0/25Dependencias indirectas libres de avisos conocidos — el conjunto transitivo no es separable de las dependencias de desarrollo y prueba en este alcance
0/40Sin avisos pendientes — ningún aviso tiene fecha de publicación
Datos de entrada utilizados
sourceosv
advisories6
affected_packages6
assessed_packages639
unassessed_packages17
affected_by_severityhigh 3, moderate 1, low 2
direct_affected_packages0
Excluidos de la puntuación (sin datos o no aplicable): Dependencias indirectas libres de avisos conocidos, Sin avisos pendientes. Los pesos restantes se han renormalizado. Se cotejaron 639 dependencias resueltas con OSV. 17 no pudieron evaluarse: sin versión resuelta, ecosistema no admitido o fuera de la lista de paquetes informada. Este repositorio no publica ningún paquete que el índice resuelva, por lo que se evaluó en su lugar el grafo de dependencias del repositorio. Ese grafo mezcla fijaciones de desarrollo y prueba con las dependencias distribuidas, de modo que solo se puntúan las dependencias declaradas en tiempo de ejecución; los hallazgos transitivos se informan como contexto y quedan excluidos de la puntuación. No se analiza la alcanzabilidad.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.

82Bueno · 0% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — GEMINI.md
0/15Documentación legible por máquinas (llms.txt)
36.7/40Historial de commits legible — 66 de 96 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,688
agent_instruction_filesGEMINI.md
agent_instruction_max_bytes2199
Cómo se puntúa
18/18Arranque con un solo comando — langchain/Makefile
22/22Pruebas automatizadas
11/11Configuración de lint / formato — eslint.config.mjs
11/11Verificación estática de tipos — node/packages/core/tsconfig.json, node/packages/mcp-server/tsconfig.json, node/packages/n8n-nodes-adeu/tsconfig.json
10/10Entorno reproducible — Dockerfile, lockfile
10/10Práctica demostrada con agentes — 24 de los últimos 100 commits con autoría o crédito de agente
8/8Mantenimiento automatizado — 4 de los últimos 100 commits son actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Datos de entrada utilizados
has_nixno
has_tests
lockfilespackage-lock.json, uv.lock
has_dockerfile
typed_languageno
bootstrap_fileslangchain/Makefile
has_devcontainerno
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
Cómo se puntúa
27/45Código verificable por tipos — Python con configuración de verificación de tipos (node/packages/core/tsconfig.json, node/packages/mcp-server/tsconfig.json, node/packages/n8n-nodes-adeu/tsconfig.json)
54.4/55Tamaños de archivo manejables — 3/275 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languagePython
largest_source_bytes216.475
source_files_sampled275
oversized_source_files3
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
20/20Servidor MCP
40/40Ejemplos ejecutables — examples
Datos de entrada utilizados
example_dirsexamples
has_mcp_signal
api_schema_files

Datos clave

129estrellas de GitHub
4contribuidores
756commits en los últimos 12 meses
0días desde el último push
50versiones publicadas
1factor bus
0issues abiertas
npm, PyPIecosistemas de paquetes

Advertencias de recopilación de datos

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

Más detalle

Historial de estrellas y forks 129 ★ / 18 ⇿
129Estrellas
18Forks
50Versiones

Cuándo se añadió cada estrella y fork, recopilado de GitHub y agrupado por día. El crecimiento acumulado se sitúa justo encima de las adiciones diarias que lo componen, de modo que ambos se leen en conjunto: la acumulación orgánica sostenida no se parece en nada a un pico abrupto y efímero. Cuando esa diferencia es medible, se informa como autenticidad del crecimiento.

025507510012515012918122026-012026-042026-07
Mayor 0Menor 25Parche 25
OpenSSF Scorecard 4.9 / 10
4.9agregado

Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).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
Dependencias directas 13
RegistroPaqueteRestricción de versiónManifiesto
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
Todas las dependencias 656

Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 12 paquetes directos y 644 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.

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

Este repositorio no publica ningún paquete que el índice resuelva, así que se evaluó su propio grafo de dependencias — 639 paquetes, que incluyen también fijaciones de desarrollo y prueba que nunca se distribuyen: 6 tienen avisos conocidos, de los cuales 0 son directas. 17 no pudieron evaluarse: sin versión resuelta, ecosistema no admitido, o fuera de la lista de paquetes informada.

PaqueteVersiónRelaciónGravedadAvisosCorregido en
brace-expansion1.1.14indirectaalta15.0.7
brace-expansion5.0.6indirectaalta15.0.7
fast-uri3.1.2indirectaalta14.0.1
@hono/node-server1.19.14indirectamoderada12.0.5
body-parser2.2.2indirectabaja12.3.0
esbuild0.27.7indirectabaja10.28.1

Un aviso significa que la versión registrada en el grafo de dependencias cae dentro del rango afectado de un aviso. No se analiza la alcanzabilidad, y el grafo incluye fijaciones de desarrollo y prueba: un hallazgo puede referirse al utillaje y no al software distribuido.

Informe JSON sin procesar legible por máquina
{
  "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"
}

Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v1.13.0, esquema v0.23.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadasPyPI.