Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 2.3.1 · 2026-07-26 08:10 UTC

AdguardTeam / FiltersDownloader

Pre-processing library for filters subscriptions

TypeScriptGPL-3.0★ 18 estrellas⑂ 3 forksdesde abr 2018Ver en GitHub ↗

AdguardTeam/FiltersDownloader tiene un índice de salud de 59 sobre 100, lo que lo sitúa en la banda Moderado. Su puntuación más alta es AI Readiness (74/100) y la más baja, Security (36/100). Se actualizó por última vez hace 11 días. 2 personas concentran la mayor parte del trabajo reciente.

59
global / 100
Moderado

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala estandarizada de 1 a 100. El resultado global parte de su media ponderada, calibrada contra la distribución del registro público para que las bandas tengan significado percentil; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe un límite «En riesgo» de 34.

59
Excepcional93-100El nivel más alto del registro (≈ el 5% superior); cumple prácticamente todos los criterios evaluados
Excelente80-92Sólido en todos los frentes; carencias menores
Bueno65-79Saludable; carencias limitadas y manejables
Moderado50-64Aceptable con carencias notables; se recomienda revisión
Débil35-49Debilidades sustanciales en varias áreas
En riesgo20-34Debilidades significativas; su adopción exige cautela
Crítico1-19Problemas 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.

El resultado global ponderado 56 se calibra a 59 en la escala publicada del índice (calibración del registro 2026-08-02).

Titularidad

AdGuardOrganización
3930 seguidores116 repositorios públicosdesde ago 2014

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ón
npm@adguard/filters-downloaderapunta a otro repositorio; no se puntúa2.4.510.13735hace 11 días

Métricas por categoría

Vitalidad

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

64Moderado · 21% del índice global
Cómo se puntúa
28.8/36Recencia de push — último push hace 11 días
6.2/36Cadencia de commits — 9/52 semanas con commits
11.3/18Volumen de commits — 17 commits en el último año
5/10OpenSSF Scorecard: Maintained — 6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5
Datos de entrada utilizados
commits_last_year17
human_commit_share0,99
days_since_last_push11
active_weeks_last_year9
Cómo se puntúa
27/27Publica versiones — 35 versiones publicadas
36/36Recencia de las versiones — última versión hace 11 días
19.8/27Cadencia de publicación — una versión cada ~64,3 días
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Datos de entrada utilizados
releases_count35
latest_release_tagv2.4.5
releases_from_tagsno
days_since_latest_release11
mean_days_between_releases64,3

Comunidad y Adopción

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

39Débil · 17% del índice global
Cómo se puntúa
20/60Estrellas — 18 estrellas
2.5/25Forks — 3 forks
6.5/15Observadores — 16 observadores
Datos de entrada utilizados
forks3
stars18
watchers16
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (GPL-3.0)
0/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
readme_badges
has_contributingno
has_issue_templateno
has_code_of_conductno
readme_badge_services
has_pull_request_templateno

Sostenibilidad y Gobernanza

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

58Moderado · 23% del índice global
Cómo se puntúa
25.2/54Factor bus — la mitad de los commits recae en 2 contribuyente(s)
15.9/22.5Distribución de commits — el principal contribuyente firma el 30% de los commits
12.2/13.5Amplitud de contribuyentes — 9 contribuyentes
6/10OpenSSF Scorecard: Contributors — project has 2 contributing companies or organizations -- score normalized to 6
Datos de entrada utilizados
bus_factor2
contributors_sampled9
top_contributor_share0,295
Cómo se puntúa
31.5/42Resolución de issues — 75% de issues cerradas
0/30Aceptación de PR — 0/29 PR decididos fusionados
0/13Newcomer PR acceptance — ningún PR de un contribuyente primerizo decidido en 30 d
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs0
open_issues1
closed_issues3
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio0,75
closed_unmerged_prs29
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Excluidos de la puntuación (sin datos o no aplicable): newcomer_pr_acceptance. Los pesos restantes se han renormalizado.
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
25/25Alcance del propietario — 3930 seguidores de AdguardTeam
25/25Trayectoria — 116 repos públicos, cuenta de ~11 años
Datos de entrada utilizados
followers3930
owner_typeOrganization
is_verified
owner_loginAdguardTeam
public_repos116
account_age_days4372

Calidad de Ingeniería

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

72Bueno · 19% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 4 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter — .eslintrc.js
0/9.6Hooks de pre-commit
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — sin datos
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_config
has_precommit_configno
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: CI-Tests. Los pesos restantes se han renormalizado.

Documentación

60Moderado
Cómo se puntúa
30/30README
0/25Directorio de documentación
0/15Sitio de documentación / página del proyecto
10/10Descripción del repositorio
10/10Topics — 1 topics
10/10Wiki
Datos de entrada utilizados
topicsopen-source
has_wiki
homepage
has_readme
has_docs_dirno
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?

36Débil · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — sin datos
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
1.5/2.5Contributors — project has 2 contributing companies or organizations -- score normalized to 6
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
3.8/7.5Maintained — 6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5
0/5Packaging — sin datos
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — no SAST tool detected
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
0/7.5Vulnerabilities — 84 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate2,6
Excluidos de la puntuación (sin datos o no aplicable): ci_tests, packaging. Los pesos restantes se han renormalizado.
Cómo se puntúa
10.6/35Dependencias directas libres de avisos conocidos — 1 afectados: axios 1.15.0 (high 8.7)
25/25Dependencias indirectas libres de avisos conocidos — ninguna dependencia indirecta tiene un aviso conocido
40/40Sin avisos pendientes — ningún aviso lleva público más de 90 días
Datos de entrada utilizados
sourceosv
advisories28
affected_packages1
assessed_packages29
unassessed_packages0
affected_by_severityhigh 1
direct_affected_packages1
Se cotejó el cierre de dependencias en tiempo de ejecución de npm:@adguard/filters-downloader@2.4.5 —lo que arrastra la instalación del paquete publicado—: 29 paquetes. 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? Tiene un peso deliberadamente pequeño (4%): las herramientas para agentes son una señal real de mantenimiento, pero un repositorio sin ninguna puede alcanzar igualmente 100/100.

74Bueno · 4% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — AGENTS.md
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 91 de 99 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,919
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes8115
Cómo se puntúa
0/18Arranque con un solo comando
22/22Pruebas automatizadas
11/11Configuración de lint / formato — .eslintrc.js
11/11Verificación estática de tipos — tsconfig.json
10/10Entorno reproducible — Dockerfile, lockfile
2/10Práctica demostrada con agentes — 1 de los últimos 100 commits con autoría o crédito de agente
0/8Mantenimiento automatizado — no se observan 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
lockfilespnpm-lock.yaml
has_dockerfile
typed_language
bootstrap_files
has_devcontainerno
has_linter_config
typecheck_configstsconfig.json
agent_commit_share0,01
toolchain_manifests
dependency_bot_commit_share0
Cómo se puntúa
45/45Código verificable por tipos — TypeScript (tipado estático)
55/55Tamaños de archivo manejables — 0/18 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageTypeScript
largest_source_bytes38.026
source_files_sampled18
oversized_source_files0

Datos clave

18estrellas de GitHub
9contribuidores
17commits en los últimos 12 meses
11días desde el último push
35versiones publicadas
2factor bus
1issues abiertas
npmecosistemas de paquetes

Advertencias de recopilación de datos

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • npm package '@adguard/filters-downloader' points at a different repository (https://github.com/AdGuardSoftwareLimited/ext-filters-downloader); excluded from ecosystem scoring

Más detalle

Historial de estrellas y forks 0 ★ / 3 ⇿
0Estrellas
3Forks
30Versiones

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.

12233312019-042022-042025-05
Mayor 0Menor 3Parche 27

Cada punto abarca 6 días.

OpenSSF Scorecard 2.6 / 10
2.6agregado

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-26 08:10 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
n/dCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
6Contributorsproject has 2 contributing companies or organizations -- score normalized to 6
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
5Maintained6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5
n/dPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTno SAST tool detected
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
0Vulnerabilities84 existing vulnerabilities detected
Dependencias directas 3
RegistroPaqueteRestricción de versiónManifiesto
npm@adguard/diff-builder1.1.4package.json
npmaxios1.15.0package.json
npmcrypto-js4.2.0package.json
Todas las dependencias 683

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

RegistroPaqueteVersiónRelación
npm@adguard/diff-builder1.0.17directa
npmaxios1.6.2directa
npmcrypto-js4.2.0directa
npm@aashutoshrathi/word-wrap1.2.6indirecta
npm@ampproject/remapping2.2.1indirecta
npm@babel/code-frame7.23.5indirecta
npm@babel/compat-data7.23.5indirecta
npm@babel/core7.23.6indirecta
npm@babel/generator7.23.6indirecta
npm@babel/helper-compilation-targets7.23.6indirecta
npm@babel/helper-environment-visitor7.22.20indirecta
npm@babel/helper-function-name7.23.0indirecta
npm@babel/helper-hoist-variables7.22.5indirecta
npm@babel/helper-module-imports7.22.15indirecta
npm@babel/helper-module-transforms7.23.3indirecta
npm@babel/helper-plugin-utils7.22.5indirecta
npm@babel/helper-simple-access7.22.5indirecta
npm@babel/helper-split-export-declaration7.22.6indirecta
npm@babel/helper-string-parser7.23.4indirecta
npm@babel/helper-validator-identifier7.22.20indirecta
npm@babel/helper-validator-option7.23.5indirecta
npm@babel/helpers7.23.6indirecta
npm@babel/highlight7.23.4indirecta
npm@babel/parser7.23.6indirecta
npm@babel/plugin-syntax-async-generators7.8.4indirecta
npm@babel/plugin-syntax-bigint7.8.3indirecta
npm@babel/plugin-syntax-class-properties7.12.13indirecta
npm@babel/plugin-syntax-import-meta7.10.4indirecta
npm@babel/plugin-syntax-json-strings7.8.3indirecta
npm@babel/plugin-syntax-jsx7.23.3indirecta
npm@babel/plugin-syntax-logical-assignment-operators7.10.4indirecta
npm@babel/plugin-syntax-nullish-coalescing-operator7.8.3indirecta
npm@babel/plugin-syntax-numeric-separator7.10.4indirecta
npm@babel/plugin-syntax-object-rest-spread7.8.3indirecta
npm@babel/plugin-syntax-optional-catch-binding7.8.3indirecta
npm@babel/plugin-syntax-optional-chaining7.8.3indirecta
npm@babel/plugin-syntax-top-level-await7.14.5indirecta
npm@babel/plugin-syntax-typescript7.23.3indirecta
npm@babel/template7.22.15indirecta
npm@babel/traverse7.23.6indirecta
npm@babel/types7.23.6indirecta
npm@bcoe/v8-coverage0.2.3indirecta
npm@cspotcode/source-map-support0.8.1indirecta
npm@es-joy/jsdoccomment0.41.0indirecta
npm@eslint-community/eslint-utils4.4.0indirecta
npm@eslint-community/regexpp4.10.0indirecta
npm@eslint/eslintrc2.1.4indirecta
npm@eslint/js8.56.0indirecta
npm@humanwhocodes/config-array0.11.13indirecta
npm@humanwhocodes/module-importer1.0.1indirecta
npm@humanwhocodes/object-schema2.0.1indirecta
npm@isaacs/cliui8.0.2indirecta
npm@istanbuljs/load-nyc-config1.1.0indirecta
npm@istanbuljs/schema0.1.3indirecta
npm@jest/console29.7.0indirecta
npm@jest/core29.7.0indirecta
npm@jest/create-cache-key-function27.5.1indirecta
npm@jest/environment29.7.0indirecta
npm@jest/expect29.7.0indirecta
npm@jest/expect-utils29.7.0indirecta
npm@jest/fake-timers29.7.0indirecta
npm@jest/globals29.7.0indirecta
npm@jest/reporters29.7.0indirecta
npm@jest/schemas29.6.3indirecta
npm@jest/source-map29.6.3indirecta
npm@jest/test-result29.7.0indirecta
npm@jest/test-sequencer29.7.0indirecta
npm@jest/transform29.7.0indirecta
npm@jest/types27.5.1indirecta
npm@jest/types29.6.3indirecta
npm@jridgewell/gen-mapping0.3.3indirecta
npm@jridgewell/resolve-uri3.1.1indirecta
npm@jridgewell/set-array1.1.2indirecta
npm@jridgewell/sourcemap-codec1.4.15indirecta
npm@jridgewell/trace-mapping0.3.20indirecta
npm@jridgewell/trace-mapping0.3.9indirecta
npm@nodelib/fs.scandir2.1.5indirecta
npm@nodelib/fs.stat2.0.5indirecta
npm@nodelib/fs.walk1.2.8indirecta
npm@pkgjs/parseargs0.11.0indirecta
npm@rollup/plugin-commonjs25.0.7indirecta
npm@rollup/plugin-json6.1.0indirecta
npm@rollup/plugin-node-resolve15.2.3indirecta
npm@rollup/plugin-typescript11.1.5indirecta
npm@rollup/pluginutils5.1.0indirecta
npm@rollup/rollup-android-arm-eabi4.9.1indirecta
npm@rollup/rollup-android-arm644.9.1indirecta
npm@rollup/rollup-darwin-arm644.9.1indirecta
npm@rollup/rollup-darwin-x644.9.1indirecta
npm@rollup/rollup-linux-arm-gnueabihf4.9.1indirecta
npm@rollup/rollup-linux-arm64-gnu4.9.1indirecta
npm@rollup/rollup-linux-arm64-musl4.9.1indirecta
npm@rollup/rollup-linux-riscv64-gnu4.9.1indirecta
npm@rollup/rollup-linux-x64-gnu4.9.1indirecta
npm@rollup/rollup-linux-x64-musl4.9.1indirecta
npm@rollup/rollup-win32-arm64-msvc4.9.1indirecta
npm@rollup/rollup-win32-ia32-msvc4.9.1indirecta
npm@rollup/rollup-win32-x64-msvc4.9.1indirecta
npm@sinclair/typebox0.27.8indirecta
npm@sinonjs/commons3.0.0indirecta
npm@sinonjs/fake-timers10.3.0indirecta
npm@swc-node/core1.12.0indirecta
npm@swc-node/register1.8.0indirecta
npm@swc-node/sourcemap-support0.4.0indirecta
npm@swc/core1.4.2indirecta
npm@swc/core-darwin-arm641.4.2indirecta
npm@swc/core-darwin-x641.4.2indirecta
npm@swc/core-linux-arm-gnueabihf1.4.2indirecta
npm@swc/core-linux-arm64-gnu1.4.2indirecta
npm@swc/core-linux-arm64-musl1.4.2indirecta
npm@swc/core-linux-x64-gnu1.4.2indirecta
npm@swc/core-linux-x64-musl1.4.2indirecta
npm@swc/core-win32-arm64-msvc1.4.2indirecta
npm@swc/core-win32-ia32-msvc1.4.2indirecta
npm@swc/core-win32-x64-msvc1.4.2indirecta
npm@swc/counter0.1.3indirecta
npm@swc/helpers0.5.6indirecta
npm@swc/jest0.2.29indirecta
npm@swc/types0.1.5indirecta
npm@tsconfig/node101.0.9indirecta
npm@tsconfig/node121.0.11indirecta
npm@tsconfig/node141.0.3indirecta
npm@tsconfig/node161.0.4indirecta
npm@types/babel__core7.20.5indirecta
npm@types/babel__generator7.6.8indirecta
npm@types/babel__template7.4.4indirecta
npm@types/babel__traverse7.20.4indirecta
npm@types/body-parser1.19.5indirecta
npm@types/connect3.4.38indirecta
npm@types/crypto-js4.2.2indirecta
npm@types/estree1.0.5indirecta
npm@types/express4.17.21indirecta
npm@types/express-serve-static-core4.17.41indirecta
npm@types/graceful-fs4.1.9indirecta
npm@types/http-errors2.0.4indirecta
npm@types/istanbul-lib-coverage2.0.6indirecta
npm@types/istanbul-lib-report3.0.3indirecta
npm@types/istanbul-reports3.0.4indirecta
npm@types/json-schema7.0.15indirecta
npm@types/json50.0.29indirecta
npm@types/mime1.3.5indirecta
npm@types/mime3.0.4indirecta
npm@types/node20.10.5indirecta
npm@types/qs6.9.10indirecta
npm@types/qunit2.19.9indirecta
npm@types/range-parser1.2.7indirecta
npm@types/resolve1.20.2indirecta
npm@types/semver7.5.6indirecta
npm@types/send0.17.4indirecta
npm@types/serve-static1.15.5indirecta
npm@types/stack-utils2.0.3indirecta
npm@types/yargs16.0.9indirecta
npm@types/yargs17.0.32indirecta
npm@types/yargs-parser21.0.3indirecta
npm@typescript-eslint/eslint-plugin6.15.0indirecta
npm@typescript-eslint/parser6.15.0indirecta
npm@typescript-eslint/scope-manager6.15.0indirecta
npm@typescript-eslint/type-utils6.15.0indirecta
npm@typescript-eslint/types6.15.0indirecta
npm@typescript-eslint/typescript-estree6.15.0indirecta
npm@typescript-eslint/utils6.15.0indirecta
npm@typescript-eslint/visitor-keys6.15.0indirecta
npm@ungap/structured-clone1.2.0indirecta
npmabbrev1.0.9indirecta
npmabbrev1.1.1indirecta
npmaccepts1.3.8indirecta
npmacorn8.11.2indirecta
npmacorn-jsx5.3.2indirecta
npmacorn-walk8.3.1indirecta
npmajv6.12.6indirecta
npmamdefine1.0.1indirecta
npmansi-escapes4.3.2indirecta
npmansi-escapes5.0.0indirecta
npmansi-regex5.0.1indirecta
npmansi-regex6.0.1indirecta
npmansi-styles3.2.1indirecta
npmansi-styles4.3.0indirecta
npmansi-styles5.2.0indirecta
npmansi-styles6.2.1indirecta
npmanymatch3.1.3indirecta
npmare-docs-informative0.0.2indirecta
npmarg4.1.3indirecta
npmargparse1.0.10indirecta
npmargparse2.0.1indirecta
npmargsparser0.0.7indirecta
npmarray-buffer-byte-length1.0.0indirecta
npmarray-flatten1.1.1indirecta
npmarray-includes3.1.7indirecta
npmarray-union2.1.0indirecta
npmarray.prototype.findlastindex1.2.3indirecta
npmarray.prototype.flat1.3.2indirecta
npmarray.prototype.flatmap1.3.2indirecta
npmarraybuffer.prototype.slice1.0.2indirecta
npmasync1.5.2indirecta
npmasynckit0.4.0indirecta
npmavailable-typed-arrays1.0.5indirecta
npmbabel-jest29.7.0indirecta
npmbabel-plugin-istanbul6.1.1indirecta
npmbabel-plugin-jest-hoist29.6.3indirecta
npmbabel-preset-current-node-syntax1.0.1indirecta
npmbabel-preset-jest29.6.3indirecta
npmbalanced-match1.0.2indirecta
npmbody-parser1.20.1indirecta
npmbrace-expansion1.1.11indirecta
npmbrace-expansion2.0.1indirecta
npmbraces3.0.2indirecta
npmbrowserslist4.22.2indirecta
npmbser2.1.1indirecta
npmbuffer-from1.1.2indirecta
npmbuiltin-modules3.3.0indirecta
npmbytes3.1.2indirecta
npmcall-bind1.0.5indirecta
npmcallsites3.1.0indirecta
npmcamelcase5.3.1indirecta
npmcamelcase6.3.0indirecta
npmcaniuse-lite1.0.30001570indirecta
npmchalk2.4.2indirecta
npmchalk4.1.2indirecta
npmchalk5.3.0indirecta
npmchar-regex1.0.2indirecta
npmci-info3.9.0indirecta
npmcjs-module-lexer1.2.3indirecta
npmcli-cursor4.0.0indirecta
npmcli-table0.3.11indirecta
npmcli-truncate3.1.0indirecta
npmcliui8.0.1indirecta
npmco4.6.0indirecta
npmcollect-v8-coverage1.0.2indirecta
npmcolor-convert1.9.3indirecta
npmcolor-convert2.0.1indirecta
npmcolor-name1.1.3indirecta
npmcolor-name1.1.4indirecta
npmcolorette2.0.20indirecta
npmcolors1.0.3indirecta
npmcombined-stream1.0.8indirecta
npmcommander11.0.0indirecta
npmcommander11.1.0indirecta
npmcommander7.2.0indirecta
npmcomment-parser1.4.1indirecta
npmcommondir1.0.1indirecta
npmconcat-map0.0.1indirecta
npmconfusing-browser-globals1.0.11indirecta
npmcontent-disposition0.5.4indirecta
npmcontent-type1.0.5indirecta
npmconvert-source-map2.0.0indirecta
npmcookie0.5.0indirecta
npmcookie-signature1.0.6indirecta
npmcreate-jest29.7.0indirecta
npmcreate-require1.1.1indirecta
npmcross-spawn7.0.3indirecta
npmdebug2.6.9indirecta
npmdebug3.2.7indirecta
npmdebug4.3.4indirecta
npmdedent1.5.1indirecta
npmdeep-is0.1.4indirecta
npmdeepmerge4.3.1indirecta
npmdefine-data-property1.1.1indirecta
npmdefine-properties1.2.1indirecta
npmdelayed-stream1.0.0indirecta
npmdepd2.0.0indirecta
npmdestroy1.2.0indirecta
npmdetect-newline3.1.0indirecta
npmdiff4.0.2indirecta
npmdiff-sequences29.6.3indirecta
npmdir-glob3.0.1indirecta
npmdoctrine2.1.0indirecta
npmdoctrine3.0.0indirecta
npmeastasianwidth0.2.0indirecta
npmee-first1.1.1indirecta
npmelectron-to-chromium1.4.615indirecta
npmemittery0.13.1indirecta
npmemoji-regex8.0.0indirecta
npmemoji-regex9.2.2indirecta
npmencodeurl1.0.2indirecta
npmerror-ex1.3.2indirecta
npmes-abstract1.22.3indirecta
npmes-set-tostringtag2.0.2indirecta
npmes-shim-unscopables1.0.2indirecta
npmes-to-primitive1.2.1indirecta
npmescalade3.1.1indirecta
npmescape-html1.0.3indirecta
npmescape-string-regexp1.0.5indirecta
npmescape-string-regexp2.0.0indirecta
npmescape-string-regexp4.0.0indirecta
npmescodegen1.8.1indirecta
npmeslint8.56.0indirecta
npmeslint-config-airbnb-base15.0.0indirecta
npmeslint-config-airbnb-typescript17.1.0indirecta
npmeslint-import-resolver-node0.3.9indirecta
npmeslint-module-utils2.8.0indirecta
npmeslint-plugin-import2.29.1indirecta
npmeslint-plugin-import-newlines1.3.4indirecta
npmeslint-plugin-jsdoc46.9.1indirecta
npmeslint-scope7.2.2indirecta
npmeslint-visitor-keys3.4.3indirecta
npmespree9.6.1indirecta
npmesprima2.7.3indirecta
npmesprima4.0.1indirecta
npmesquery1.5.0indirecta
npmesrecurse4.3.0indirecta
npmestraverse1.9.3indirecta
npmestraverse5.3.0indirecta
npmestree-walker0.6.1indirecta
npmestree-walker2.0.2indirecta
npmesutils2.0.3indirecta
npmetag1.8.1indirecta
npmeventemitter35.0.1indirecta
npmexeca5.1.1indirecta
npmexeca7.2.0indirecta
npmexit0.1.2indirecta
npmexpect29.7.0indirecta
npmexpress4.18.2indirecta
npmfast-deep-equal3.1.3indirecta
npmfast-glob3.3.2indirecta
npmfast-json-stable-stringify2.1.0indirecta
npmfast-levenshtein2.0.6indirecta
npmfastq1.16.0indirecta
npmfb-watchman2.0.2indirecta
npmfile-entry-cache6.0.1indirecta
npmfill-range7.0.1indirecta
npmfinalhandler1.2.0indirecta
npmfind-up4.1.0indirecta
npmfind-up5.0.0indirecta
npmflat-cache3.2.0indirecta
npmflatted3.2.9indirecta
npmfollow-redirects1.15.3indirecta
npmfor-each0.3.3indirecta
npmforeground-child3.1.1indirecta
npmform-data4.0.0indirecta
npmforwarded0.2.0indirecta
npmfresh0.5.2indirecta
npmfs.realpath1.0.0indirecta
npmfsevents2.3.3indirecta
npmfunction-bind1.1.2indirecta
npmfunction.prototype.name1.1.6indirecta
npmfunctions-have-names1.2.3indirecta
npmgensync1.0.0-beta.2indirecta
npmget-caller-file2.0.5indirecta
npmget-intrinsic1.2.2indirecta
npmget-package-type0.1.0indirecta
npmget-stream6.0.1indirecta
npmget-symbol-description1.0.0indirecta
npmglob10.3.10indirecta
npmglob5.0.15indirecta
npmglob7.2.3indirecta
npmglob8.1.0indirecta
npmglob-parent5.1.2indirecta
npmglob-parent6.0.2indirecta
npmglobals11.12.0indirecta
npmglobals13.24.0indirecta
npmglobalthis1.0.3indirecta
npmglobalyzer0.1.0indirecta
npmglobby11.1.0indirecta
npmglobrex0.1.2indirecta
npmgopd1.0.1indirecta
npmgraceful-fs4.2.11indirecta
npmgraphemer1.4.0indirecta
npmhandlebars4.7.8indirecta
npmhas-bigints1.0.2indirecta
npmhas-flag1.0.0indirecta
npmhas-flag3.0.0indirecta
npmhas-flag4.0.0indirecta
npmhas-property-descriptors1.0.1indirecta
npmhas-proto1.0.1indirecta
npmhas-symbols1.0.3indirecta
npmhas-tostringtag1.0.0indirecta
npmhasown2.0.0indirecta
npmhtml-escaper2.0.2indirecta
npmhttp-errors2.0.0indirecta
npmhuman-signals2.1.0indirecta
npmhuman-signals4.3.1indirecta
npmhusky8.0.3indirecta
npmiconv-lite0.4.24indirecta
npmignore5.3.0indirecta
npmimport-fresh3.3.0indirecta
npmimport-local3.1.0indirecta
npmimurmurhash0.1.4indirecta
npminflight1.0.6indirecta
npminherits2.0.4indirecta
npminternal-slot1.0.6indirecta
npmipaddr.js1.9.1indirecta
npmis-array-buffer3.0.2indirecta
npmis-arrayish0.2.1indirecta
npmis-bigint1.0.4indirecta
npmis-boolean-object1.1.2indirecta
npmis-builtin-module3.2.1indirecta
npmis-callable1.2.7indirecta
npmis-core-module2.13.1indirecta
npmis-date-object1.0.5indirecta
npmis-extglob2.1.1indirecta
npmis-fullwidth-code-point3.0.0indirecta
npmis-fullwidth-code-point4.0.0indirecta
npmis-generator-fn2.1.0indirecta
npmis-glob4.0.3indirecta
npmis-module1.0.0indirecta
npmis-negative-zero2.0.2indirecta
npmis-number7.0.0indirecta
npmis-number-object1.0.7indirecta
npmis-path-inside3.0.3indirecta
npmis-reference1.2.1indirecta
npmis-regex1.1.4indirecta
npmis-shared-array-buffer1.0.2indirecta
npmis-stream2.0.1indirecta
npmis-stream3.0.0indirecta
npmis-string1.0.7indirecta
npmis-symbol1.0.4indirecta
npmis-typed-array1.1.12indirecta
npmis-weakref1.0.2indirecta
npmisarray2.0.5indirecta
npmisexe2.0.0indirecta
npmistanbul0.4.5indirecta
npmistanbul-lib-coverage3.2.2indirecta
npmistanbul-lib-instrument5.2.1indirecta
npmistanbul-lib-instrument6.0.1indirecta
npmistanbul-lib-report3.0.1indirecta
npmistanbul-lib-source-maps4.0.1indirecta
npmistanbul-reports3.1.6indirecta
npmjackspeak2.3.6indirecta
npmjest29.7.0indirecta
npmjest-changed-files29.7.0indirecta
npmjest-circus29.7.0indirecta
npmjest-cli29.7.0indirecta
npmjest-config29.7.0indirecta
npmjest-diff29.7.0indirecta
npmjest-docblock29.7.0indirecta
npmjest-each29.7.0indirecta
npmjest-environment-node29.7.0indirecta
npmjest-get-type29.6.3indirecta
npmjest-haste-map29.7.0indirecta
npmjest-leak-detector29.7.0indirecta
npmjest-matcher-utils29.7.0indirecta
npmjest-message-util29.7.0indirecta
npmjest-mock29.7.0indirecta
npmjest-pnp-resolver1.2.3indirecta
npmjest-regex-util29.6.3indirecta
npmjest-resolve29.7.0indirecta
npmjest-resolve-dependencies29.7.0indirecta
npmjest-runner29.7.0indirecta
npmjest-runtime29.7.0indirecta
npmjest-snapshot29.7.0indirecta
npmjest-util29.7.0indirecta
npmjest-validate29.7.0indirecta
npmjest-watcher29.7.0indirecta
npmjest-worker29.7.0indirecta
npmjs-cleanup1.2.0indirecta
npmjs-tokens4.0.0indirecta
npmjs-yaml3.14.1indirecta
npmjs-yaml4.1.0indirecta
npmjsdoc-type-pratt-parser4.0.0indirecta
npmjsesc2.5.2indirecta
npmjson-buffer3.0.1indirecta
npmjson-parse-even-better-errors2.3.1indirecta
npmjson-schema-traverse0.4.1indirecta
npmjson-stable-stringify-without-jsonify1.0.1indirecta
npmjson-stringify-safe5.0.1indirecta
npmjson51.0.2indirecta
npmjson52.2.3indirecta
npmjsonc-parser3.2.0indirecta
npmkeyv4.5.4indirecta
npmkleur3.0.3indirecta
npmleven3.1.0indirecta
npmlevn0.3.0indirecta
npmlevn0.4.1indirecta
npmlilconfig2.1.0indirecta
npmlines-and-columns1.2.4indirecta
npmlint-staged14.0.1indirecta
npmlistr26.6.1indirecta
npmlocate-path5.0.0indirecta
npmlocate-path6.0.0indirecta
npmlodash.merge4.6.2indirecta
npmlog-update5.0.1indirecta
npmlru-cache10.1.0indirecta
npmlru-cache5.1.1indirecta
npmlru-cache6.0.0indirecta
npmmagic-string0.25.9indirecta
npmmagic-string0.30.5indirecta
npmmake-dir4.0.0indirecta
npmmake-error1.3.6indirecta
npmmakeerror1.0.12indirecta
npmmedia-typer0.3.0indirecta
npmmerge-descriptors1.0.1indirecta
npmmerge-stream2.0.0indirecta
npmmerge21.4.1indirecta
npmmethods1.1.2indirecta
npmmicromatch4.0.5indirecta
npmmime1.6.0indirecta
npmmime-db1.52.0indirecta
npmmime-types2.1.35indirecta
npmmimic-fn2.1.0indirecta
npmmimic-fn4.0.0indirecta
npmminimatch3.1.2indirecta
npmminimatch5.1.6indirecta
npmminimatch9.0.3indirecta
npmminimist1.2.8indirecta
npmminipass7.0.4indirecta
npmmkdirp0.5.6indirecta
npmms2.0.0indirecta
npmms2.1.2indirecta
npmms2.1.3indirecta
npmnatural-compare1.4.0indirecta
npmnegotiator0.6.3indirecta
npmneo-async2.6.2indirecta
npmnock13.4.0indirecta
npmnode-int640.4.0indirecta
npmnode-qunit2.0.0indirecta
npmnode-releases2.0.14indirecta
npmnode-watch0.7.3indirecta
npmnopt3.0.6indirecta
npmnormalize-path3.0.0indirecta
npmnpm-run-path4.0.1indirecta
npmnpm-run-path5.1.0indirecta
npmobject-inspect1.13.1indirecta
npmobject-keys1.1.1indirecta
npmobject.assign4.1.5indirecta
npmobject.entries1.1.7indirecta
npmobject.fromentries2.0.7indirecta
npmobject.groupby1.0.1indirecta
npmobject.values1.1.7indirecta
npmon-finished2.4.1indirecta
npmonce1.4.0indirecta
npmonetime5.1.2indirecta
npmonetime6.0.0indirecta
npmoptionator0.8.3indirecta
npmoptionator0.9.3indirecta
npmp-limit2.3.0indirecta
npmp-limit3.1.0indirecta
npmp-locate4.1.0indirecta
npmp-locate5.0.0indirecta
npmp-try2.2.0indirecta
npmparent-module1.0.1indirecta
npmparse-json5.2.0indirecta
npmparseurl1.3.3indirecta
npmpath-exists4.0.0indirecta
npmpath-is-absolute1.0.1indirecta
npmpath-key3.1.1indirecta
npmpath-key4.0.0indirecta
npmpath-parse1.0.7indirecta
npmpath-scurry1.10.1indirecta
npmpath-to-regexp0.1.7indirecta
npmpath-type4.0.0indirecta
npmperf-regexes1.0.1indirecta
npmpicocolors1.0.0indirecta
npmpicomatch2.3.1indirecta
npmpidtree0.6.0indirecta
npmpirates4.0.6indirecta
npmpkg-dir4.2.0indirecta
npmprelude-ls1.1.2indirecta
npmprelude-ls1.2.1indirecta
npmpretty-format29.7.0indirecta
npmprompts2.4.2indirecta
npmpropagate2.0.1indirecta
npmproxy-addr2.0.7indirecta
npmproxy-from-env1.1.0indirecta
npmpunycode2.3.1indirecta
npmpure-rand6.0.4indirecta
npmqs6.11.0indirecta
npmqueue-microtask1.2.3indirecta
npmqunit2.20.0indirecta
npmrange-parser1.2.1indirecta
npmraw-body2.5.1indirecta
npmreact-is18.2.0indirecta
npmregenerator-runtime0.14.1indirecta
npmregexp.prototype.flags1.5.1indirecta
npmrequire-directory2.1.1indirecta
npmresolve1.1.7indirecta
npmresolve1.22.8indirecta
npmresolve-cwd3.0.0indirecta
npmresolve-from4.0.0indirecta
npmresolve-from5.0.0indirecta
npmresolve.exports2.0.2indirecta
npmrestore-cursor4.0.0indirecta
npmreusify1.0.4indirecta
npmrfdc1.3.0indirecta
npmrimraf3.0.2indirecta
npmrimraf5.0.5indirecta
npmrollup4.9.1indirecta
npmrollup-plugin-cleanup3.2.1indirecta
npmrollup-pluginutils2.8.2indirecta
npmrun-parallel1.2.0indirecta
npmsafe-array-concat1.0.1indirecta
npmsafe-buffer5.2.1indirecta
npmsafe-regex-test1.0.0indirecta
npmsafer-buffer2.1.2indirecta
npmsemver6.3.1indirecta
npmsemver7.5.4indirecta
npmsend0.18.0indirecta
npmserve-static1.15.0indirecta
npmset-function-length1.1.1indirecta
npmset-function-name2.0.1indirecta
npmsetprototypeof1.2.0indirecta
npmshebang-command2.0.0indirecta
npmshebang-regex3.0.0indirecta
npmside-channel1.0.4indirecta
npmsignal-exit3.0.7indirecta
npmsignal-exit4.1.0indirecta
npmsisteransi1.0.5indirecta
npmskip-regex1.0.2indirecta
npmslash3.0.0indirecta
npmslice-ansi5.0.0indirecta
npmsource-map0.2.0indirecta
npmsource-map0.6.1indirecta
npmsource-map-support0.5.13indirecta
npmsource-map-support0.5.21indirecta
npmsourcemap-codec1.4.8indirecta
npmspdx-exceptions2.3.0indirecta
npmspdx-expression-parse4.0.0indirecta
npmspdx-license-ids3.0.16indirecta
npmsprintf-js1.0.3indirecta
npmstack-utils2.0.6indirecta
npmstatuses2.0.1indirecta
npmstring-argv0.3.2indirecta
npmstring-length4.0.2indirecta
npmstring-width4.2.3indirecta
npmstring-width5.1.2indirecta
npmstring.prototype.trim1.2.8indirecta
npmstring.prototype.trimend1.0.7indirecta
npmstring.prototype.trimstart1.0.7indirecta
npmstrip-ansi6.0.1indirecta
npmstrip-ansi7.1.0indirecta
npmstrip-bom3.0.0indirecta
npmstrip-bom4.0.0indirecta
npmstrip-final-newline2.0.0indirecta
npmstrip-final-newline3.0.0indirecta
npmstrip-json-comments3.1.1indirecta
npmsupports-color3.2.3indirecta
npmsupports-color5.5.0indirecta
npmsupports-color7.2.0indirecta
npmsupports-color8.1.1indirecta
npmsupports-preserve-symlinks-flag1.0.0indirecta
npmtest-exclude6.0.0indirecta
npmtext-table0.2.0indirecta
npmtiny-glob0.2.9indirecta
npmtmpl1.0.5indirecta
npmto-fast-properties2.0.0indirecta
npmto-regex-range5.0.1indirecta
npmtoidentifier1.0.1indirecta
npmtracejs0.1.8indirecta
npmts-api-utils1.0.3indirecta
npmts-node10.9.2indirecta
npmtsconfig-paths3.15.0indirecta
npmtslib2.6.2indirecta
npmtype-check0.3.2indirecta
npmtype-check0.4.0indirecta
npmtype-detect4.0.8indirecta
npmtype-fest0.20.2indirecta
npmtype-fest0.21.3indirecta
npmtype-fest1.4.0indirecta
npmtype-is1.6.18indirecta
npmtyped-array-buffer1.0.0indirecta
npmtyped-array-byte-length1.0.0indirecta
npmtyped-array-byte-offset1.0.0indirecta
npmtyped-array-length1.0.4indirecta
npmtypescript5.3.3indirecta
npmuglify-js3.17.4indirecta
npmunbox-primitive1.0.2indirecta
npmunderscore1.13.6indirecta
npmundici-types5.26.5indirecta
npmunpipe1.0.0indirecta
npmupdate-browserslist-db1.0.13indirecta
npmuri-js4.4.1indirecta
npmutils-merge1.0.1indirecta
npmv8-compile-cache-lib3.0.1indirecta
npmv8-to-istanbul9.2.0indirecta
npmvary1.1.2indirecta
npmwalker1.0.8indirecta
npmwhich1.3.1indirecta
npmwhich2.0.2indirecta
npmwhich-boxed-primitive1.0.2indirecta
npmwhich-typed-array1.1.13indirecta
npmword-wrap1.2.5indirecta
npmwordwrap1.0.0indirecta
npmwrap-ansi7.0.0indirecta
npmwrap-ansi8.1.0indirecta
npmwrappy1.0.2indirecta
npmwrite-file-atomic4.0.2indirecta
npmy18n5.0.8indirecta
npmyallist3.1.1indirecta
npmyallist4.0.0indirecta
npmyaml2.3.1indirecta
npmyargs17.7.2indirecta
npmyargs-parser21.1.1indirecta
npmyn3.1.1indirecta
npmyocto-queue0.1.0indirecta
Avisos de dependencias 1

Instalar npm:@adguard/filters-downloader@2.4.5 arrastra 29 paquetes, directos y transitivos: 1 tienen avisos conocidos, de los cuales 1 son dependencias directas.

PaqueteVersiónRelaciónGravedadAvisosCorregido en
axios1.15.0directaalta281.18.0

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": [
        "open-source"
      ],
      "is_fork": false,
      "size_kb": 702,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "Shell": 70,
        "Dockerfile": 1330,
        "JavaScript": 2751,
        "TypeScript": 124349
      },
      "pushed_at": "2026-07-14T13:56:10Z",
      "created_at": "2018-04-18T14:23:30Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-14T01:59:36Z",
      "description": "Pre-processing library for filters subscriptions",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "GPL-3.0",
      "default_branch": "master",
      "license_spdx_raw": "GPL-3.0",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://adguard.com/",
      "name": "AdGuard",
      "type": "Organization",
      "login": "AdguardTeam",
      "company": null,
      "location": "Cyprus",
      "followers": 3930,
      "avatar_url": "https://avatars.githubusercontent.com/u/8361145?v=4",
      "created_at": "2014-08-05T09:10:39Z",
      "is_verified": null,
      "public_repos": 116,
      "account_age_days": 4372
    },
    "license": {
      "state": "standard",
      "spdx_id": "GPL-3.0",
      "raw_spdx": "GPL-3.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.4.5",
          "kind": "patch",
          "published_at": "2026-07-14T13:56:45Z"
        },
        {
          "tag": "v2.4.4",
          "kind": "patch",
          "published_at": "2026-04-14T14:26:45Z"
        },
        {
          "tag": "v2.4.3",
          "kind": "patch",
          "published_at": "2026-04-03T21:33:09Z"
        },
        {
          "tag": "v2.4.2",
          "kind": "patch",
          "published_at": "2025-06-30T17:25:21Z"
        },
        {
          "tag": "v2.4.1",
          "kind": "patch",
          "published_at": "2025-06-09T14:13:23Z"
        },
        {
          "tag": "v2.4.0",
          "kind": "minor",
          "published_at": "2025-03-27T17:29:39Z"
        },
        {
          "tag": "v2.3.1",
          "kind": "patch",
          "published_at": "2025-03-12T10:53:20Z"
        },
        {
          "tag": "v2.3.0",
          "kind": "minor",
          "published_at": "2025-03-06T11:06:49Z"
        },
        {
          "tag": "v2.2.6",
          "kind": "patch",
          "published_at": "2024-12-13T09:58:59Z"
        },
        {
          "tag": "v2.2.5",
          "kind": "patch",
          "published_at": "2024-12-12T15:01:21Z"
        },
        {
          "tag": "v2.2.4",
          "kind": "patch",
          "published_at": "2024-12-06T11:26:56Z"
        },
        {
          "tag": "v2.2.3",
          "kind": "patch",
          "published_at": "2024-11-25T10:26:52Z"
        },
        {
          "tag": "v2.2.2",
          "kind": "patch",
          "published_at": "2024-07-12T09:47:22Z"
        },
        {
          "tag": "v2.2.1",
          "kind": "patch",
          "published_at": "2024-05-22T14:43:40Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2024-03-26T14:26:55Z"
        },
        {
          "tag": "v2.1.2",
          "kind": "patch",
          "published_at": "2024-03-25T13:53:39Z"
        },
        {
          "tag": "v2.1.1",
          "kind": "patch",
          "published_at": "2024-03-13T11:35:59Z"
        },
        {
          "tag": "v2.0.7",
          "kind": "patch",
          "published_at": "2024-01-17T13:17:47Z"
        },
        {
          "tag": "v2.0.6",
          "kind": "patch",
          "published_at": "2024-01-17T10:00:57Z"
        },
        {
          "tag": "v2.0.5",
          "kind": "patch",
          "published_at": "2024-01-11T10:21:57Z"
        },
        {
          "tag": "v2.0.4",
          "kind": "patch",
          "published_at": "2024-01-10T19:37:32Z"
        },
        {
          "tag": "v2.0.3",
          "kind": "patch",
          "published_at": "2023-12-29T18:05:16Z"
        },
        {
          "tag": "v2.0.2",
          "kind": "patch",
          "published_at": "2023-12-29T17:17:10Z"
        },
        {
          "tag": "v2.0.1",
          "kind": "patch",
          "published_at": "2023-12-29T12:39:29Z"
        },
        {
          "tag": "v1.1.23",
          "kind": "patch",
          "published_at": "2023-11-09T15:23:43Z"
        },
        {
          "tag": "v1.1.21",
          "kind": "patch",
          "published_at": "2023-10-20T17:55:05Z"
        },
        {
          "tag": "v1.1.20",
          "kind": "patch",
          "published_at": "2023-10-10T13:36:37Z"
        },
        {
          "tag": "v1.1.15",
          "kind": "patch",
          "published_at": "2023-10-05T22:40:44Z"
        },
        {
          "tag": "v1.1.14",
          "kind": "patch",
          "published_at": "2023-10-05T22:36:16Z"
        },
        {
          "tag": "v1.1.13",
          "kind": "patch",
          "published_at": "2023-10-05T22:34:24Z"
        },
        {
          "tag": "v1.1.12",
          "kind": "patch",
          "published_at": "2022-03-22T15:00:44Z"
        },
        {
          "tag": "v1.1.11",
          "kind": "patch",
          "published_at": "2022-03-21T19:03:56Z"
        },
        {
          "tag": "v1.1.3",
          "kind": "patch",
          "published_at": "2021-07-13T16:18:30Z"
        },
        {
          "tag": "v1.0.13",
          "kind": "patch",
          "published_at": "2020-05-28T21:29:53Z"
        },
        {
          "tag": "v1.0.11",
          "kind": "patch",
          "published_at": "2020-05-26T08:23:27Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "99a4ea1348954d371b73523af286224ea5e6a79c",
          "body": null,
          "is_bot": true,
          "headline": "Release v2.4.5 (PR 2)",
          "author_name": "adguard-octopass[bot]",
          "author_login": "adguard-octopass[bot]",
          "committed_at": "2026-07-14T01:59:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd327c3d96cdc649a5c9d4cf00812c6ed7864afc",
          "body": null,
          "is_bot": false,
          "headline": "AG-54909 Migrate CI to GitHub Actions (PR 1)",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2026-07-08T19:00:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2eca807d73a1898da033c7ccb4e4a214f50102b7",
          "body": "Squashed commit of the following:\n\ncommit ff9b48306dde196a5083dfc9896febf60ed6650a\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Thu May 14 20:28:10 2026 +0300\n\n    AG-54210 Update node-ssh Docker image to 22.22--0\n    \n    Update adguard/node-ssh image from 22.17--0 to 22.22--0 which includes\n\n[…]\nm 10.33.4 with support for minimumReleaseAge and\n    minimumReleaseAgeExclude settings for supply-chain attack prevention.\n    \n    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Pull request 89: AG-54210 Update node-ssh Docker image to 22.22--0",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2026-05-14T18:13:28Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7c218b08f73188b17ce471e7b2e9680a90c28a4f",
          "body": "….2, pnpm 10.33.4)\n\nSquashed commit of the following:\n\ncommit 1db12b981c45cf3dfc5b2136ab955d2ab96a21b2\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Thu May 14 14:31:59 2026 +0300\n\n    chore: update node-ssh image to 22.22--0\n    \n    Update Docker image to node-ssh:22.22--0 which includes\n    Node.js 22.22.2 and pnpm 10.33.4.\n    \n    This is needed to support minimumReleaseAge in pnpm-workspace.yaml\n    (AG-54210).",
          "is_bot": false,
          "headline": "Pull request 88: chore: update node-ssh image to 22.22--0 (Node 22.22…",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2026-05-14T13:44:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f70025eda35f9e52f83a12f7bd651090c146d9a",
          "body": "Squashed commit of the following:\n\ncommit 208d67537230012671b8b615db768e2e069926a1\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Tue May 12 12:20:53 2026 +0300\n\n    AG-54210 set pnpm minimumReleaseAge to 7 days",
          "is_bot": false,
          "headline": "Pull request 87: AG-54210 set pnpm minimumReleaseAge to 7 days",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2026-05-12T09:56:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c16cc1d2aafc71cc84263ccef081999a2b1de985",
          "body": "Squashed commit of the following:\n\ncommit 4dcef368cb072612a68554269a8c1aaf8dedcf41\nAuthor: Dima Seregin <d.seregin@adguard.com>\nDate:   Mon Apr 27 18:53:35 2026 +0300\n\n    fix: re-enable vcs tagging task\n    \n    AG-53636\n\ncommit 8678ae67657516eae033419d121cfa0e6b3c5a76\nAuthor: Dima Seregin <d.sereg\n[…]\ndate bamboo-specs/tests.yaml: replace docker: block with docker build\n    - Update bamboo-specs/build.yaml: replace docker: block with docker build,\n      update artifact location to output/artifacts/",
          "is_bot": false,
          "headline": "AG-53636: replace docker image with docker build in bamboo-specs",
          "author_name": "Dmitry Seregin",
          "author_login": "105th",
          "committed_at": "2026-04-27T16:06:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "80232a1120dae58185d97ad36fb6ec78c44e9372",
          "body": "Squashed commit of the following:\n\ncommit fd173716c936bfba136d89026df1edeaa6d1cbe8\nAuthor: slvvko <v.leleka@adguard.com>\nDate:   Thu Apr 16 07:51:44 2026 -0400\n\n    rename tests dir name",
          "is_bot": false,
          "headline": "AG-53285 rename tests dir name",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2026-04-16T12:40:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "81b8c9cd7ddff5814b48a6bce999adc45ac5346e",
          "body": "Squashed commit of the following:\n\ncommit eb61542eb7b7a91c86671d60e7c8265af90c78cf\nAuthor: slvvko <v.leleka@adguard.com>\nDate:   Wed Apr 15 13:12:53 2026 -0400\n\n    update vite\n\ncommit 7b5eb6d2f5dfa8abf0c0a239e4ccd74953015c53\nAuthor: slvvko <v.leleka@adguard.com>\nDate:   Wed Apr 15 12:58:03 2026 -04\n[…]\n400\n\n    pin vitest version\n\ncommit 39e3492189cd7adb0041cc3195ddf252870de131\nAuthor: slvvko <v.leleka@adguard.com>\nDate:   Wed Apr 15 12:18:41 2026 -0400\n\n    use vitest instead of jest for unit tests",
          "is_bot": false,
          "headline": "AG-52672 use vitest instead of jest for unit tests",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2026-04-16T11:40:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f7407e7c69cdf812b8062149b158ba141fd0ea01",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2026-04-14T14:25:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0de9bb95e519810ee5467075d9134032425afbc6",
          "body": "Squashed commit of the following:\n\ncommit 0d6d157c3765d301b3b620c7ab878eb6bda0a777\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Tue Apr 14 16:10:45 2026 +0300\n\n    fix increment",
          "is_bot": false,
          "headline": "Pull request 83: Fix increment",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2026-04-14T13:17:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "56b0055c32603dca3716373cbdda2e78fce7c748",
          "body": "Squashed commit of the following:\n\ncommit 6a8a8833a21a94e93547be46ea493ba6ce0c4fdc\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Tue Apr 14 15:27:39 2026 +0300\n\n    Refactor CI workflow: streamline build step in test job",
          "is_bot": false,
          "headline": "Pull request 82: Refactor CI workflow: streamline build step in test job",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2026-04-14T12:36:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cba4dbca55278f52e3585970d3a6d30ff58b8088",
          "body": "Squashed commit of the following:\n\ncommit 72eb7d5ab6c5409af0b34ecb0f5d6389f4b3f042\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Tue Apr 14 13:07:10 2026 +0300\n\n    AG-53183: Update axios to 1.15.0",
          "is_bot": false,
          "headline": "Pull request 81: AG-53183: Update axios to 1.15.0",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2026-04-14T10:32:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4fe3d2c2c8ae6d4a6649a8f27f92864816aadce",
          "body": "related: https://github.com/AdguardTeam/AdguardBrowserExtension/issues/3407\n\nSquashed commit of the following:\n\ncommit 6d11b5d3a1be45b08087597a2716dad72fb9fe1f\nAuthor: slvvko <v.leleka@adguard.com>\nDate:   Fri Apr 3 11:36:48 2026 -0400\n\n    fix tests with hardcoded base url\n\ncommit 138088ecd04349408\n[…]\nrent one, resolve conflicts\n\ncommit 64d8f6403fd417e528e2b1704928806da5b75726\nAuthor: slvvko <v.leleka@adguard.com>\nDate:   Fri Apr 3 00:55:47 2026 -0400\n\n    add headers.lastModified to DownloadResult",
          "is_bot": false,
          "headline": "AG-49676 add headers.lastModified to DownloadResult",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2026-04-03T21:30:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4770c4f7e4727bfed0019c34c2eff6b32d9a2b2f",
          "body": "Squashed commit of the following:\n\ncommit 44eca67c943cfecd097214c45105cd51b3ee5e29\nAuthor: slvvko <v.leleka@adguard.com>\nDate:   Wed Apr 1 13:25:08 2026 -0400\n\n    use Assert type instead of any\n\ncommit 7ace57fa8a7998a5e5c33c9215b140ff94656073\nAuthor: slvvko <v.leleka@adguard.com>\nDate:   Wed Apr 1 \n[…]\n specs\n\ncommit 95477609a7aa8ead8336d2bb5612f960b8e839e6\nAuthor: slvvko <v.leleka@adguard.com>\nDate:   Thu Mar 26 21:59:32 2026 -0400\n\n    add node matrix in test github workflow\n\n... and 1 more commit",
          "is_bot": false,
          "headline": "AG-52472 add docs for agents in filters-downloader",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2026-04-02T14:27:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "73b0fa7145d5d87737c5854b009d4159deb1f1a5",
          "body": "…o build specifications\n\nSquashed commit of the following:\n\ncommit 282c170df0a624c3cfd63fe69b8c8ae454ac3909\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Fri Feb 20 08:09:22 2026 +0200\n\n    AG-50920 Remove webhook notifications from all bamboo build specifications",
          "is_bot": false,
          "headline": "Pull request 78: AG-50920 Remove webhook notifications from all bambo…",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2026-02-20T13:17:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f8b78ca26b3ba8d2bea2ec122114bd53458d94a0",
          "body": "Squashed commit of the following:\n\ncommit d331c2cb4c9892f0b403032e944e93a7ca6c8856\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Mon Jan 19 11:10:48 2026 +0200\n\n    AG-50156 remove adg-docker requirement",
          "is_bot": false,
          "headline": "Pull request 77: AG-50156 remove adg-docker requirement",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2026-01-19T10:04:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "56bd94a2acfe73c35660c1af33598b8369f0eda4",
          "body": "Squashed commit of the following:\n\ncommit f3d8b400ff4cd134b03db13f072b28d541e4807d\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Wed Dec 17 18:47:48 2025 +0300\n\n    AG-49550: add extension requirement",
          "is_bot": false,
          "headline": "AG-49550: add extension requirement",
          "author_name": "Dmitry Seregin",
          "author_login": "105th",
          "committed_at": "2025-12-18T06:58:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca62686f97cb42ab4af51327ff38fdb36fef3e71",
          "body": "Squashed commit of the following:\n\ncommit 9a20b528763e48dc0f599295dcfff73ef371ab26\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon Jun 30 13:53:00 2025 -0400\n\n    build before test\n\ncommit fcafa1c20996d7ae2e151232f76833c51bddd486\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon Jun 30 13:50:30 2025 -0400\n\n    add eslint exclusion import/extensions for _qunit_tests_/filters-downloader.test.ts",
          "is_bot": false,
          "headline": "run build earlier for test workflow",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2025-06-30T18:33:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b1380514d0d4f20b0771c8754d2f24ce70445de",
          "body": "Squashed commit of the following:\n\ncommit 818852d9fd665dbbfea4cdbac7c38792caaf697e\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon Jun 30 13:11:25 2025 -0400\n\n    update diff-builder to v1.1.2",
          "is_bot": false,
          "headline": "AG-43382 update diff-builder to v1.1.2",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2025-06-30T17:21:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "217442b89b7ab1b627230d7eb9dc78ea6bec987f",
          "body": "Squashed commit of the following:\n\ncommit 05b23af55ef35ef658e15313b31aa3d25d8f471a\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Mon Jun 9 17:09:52 2025 +0300\n\n    update deps to version published on npm\n\ncommit 46048515af8ee142dc19cf8032815298796c7d8c\nAuthor: Dmitriy Seregin <d.seregin@ad\n[…]\n    added tgz command\n\ncommit 113a9c75bb52dbdc7cfa9c999fedd08b7fadba60\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Fri Jun 6 14:59:39 2025 +0300\n\n    AG-43002: update diff-builder to 1.1.1",
          "is_bot": false,
          "headline": "AG-43002: update diff-builder to 1.1.1",
          "author_name": "Dmitry Seregin",
          "author_login": "105th",
          "committed_at": "2025-06-09T14:11:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f1b42f030a92d0e76055bc34de522cd4faae472c",
          "body": "Squashed commit of the following:\n\ncommit 345b861289eee9348eba27724c29bfb5c6bae6d9\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon May 26 18:36:22 2025 -0400\n\n    AG-42652 add .npmrc to .gitignore",
          "is_bot": false,
          "headline": "AG-42652 add .npmrc to .gitignore",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2025-05-27T12:58:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8e7197b597173f96246f8f3a2d08b0c25f784d8",
          "body": "Squashed commit of the following:\n\ncommit b26cf24e48bdb5ff54b558fe13328461957442d8\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon May 12 12:21:34 2025 -0400\n\n    update pnpm-lock.yaml\n\ncommit f6189bd74d2df085f38ae04cab1b6ae8eafae852\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon Ma\n[…]\niff-builder\n\ncommit 9ed57aec82a4da9e32c567f755cf5a51e217eecb\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Sat May 10 15:12:16 2025 -0400\n\n    update node to v22 and use pnpm v10 instead of yarn",
          "is_bot": false,
          "headline": "AG-41223 update node to v22 and use pnpm v10",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2025-05-12T18:53:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d6444f23eb9142708574007ffa9b3fc03155a8d8",
          "body": "Squashed commit of the following:\n\ncommit d83199160ca8b6a72603020b406e5ee4fefe0485\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Thu Mar 27 16:58:53 2025 +0300\n\n    change minor version, not patch\n\ncommit bc04bfd31836d231cfe66837b2a5a00acbc2e3e5\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Thu Mar 27 16:44:29 2025 +0300\n\n    AG-31776: bump diff-builder to 1.1.0",
          "is_bot": false,
          "headline": "AG-31776: bump diff-builder to 1.1.0",
          "author_name": "Dmitry Seregin",
          "author_login": "105th",
          "committed_at": "2025-03-27T17:27:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f6c8ce254bcb5ea8938893838a19b8b9acb4ac1",
          "body": "Squashed commit of the following:\n\ncommit c001e2576bcb1442f5b836a048b8ceb58ba6481e\nAuthor: jellizaveta <e.egorova@adguard.com>\nDate:   Tue Mar 11 21:30:36 2025 +0300\n\n    revert old test\n\ncommit 2d93e626fb5a1a380f3842fa4569f7340d1f9797\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Tue Mar 11 2\n[…]\n00\n\n    test, legacy options\n\ncommit d38974c6ca0308f9e1d38129437d41f1f7558b15\nAuthor: jellizaveta <e.egorova@adguard.com>\nDate:   Tue Mar 11 20:23:33 2025 +0300\n\n    AG-40593 Handle empty source files",
          "is_bot": false,
          "headline": "AG-40593 Handle empty source files",
          "author_name": "Elizaveta Egorova",
          "author_login": "jellizaveta",
          "committed_at": "2025-03-12T10:31:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1a8049ad15bae4bf1b4f2513d0dbbc4e174f158b",
          "body": "…ad local file.\n\nSquashed commit of the following:\n\ncommit 567e40a11a631ad0fbf5c6a8b27452f288255723\nAuthor: jellizaveta <e.egorova@adguard.com>\nDate:   Thu Mar 6 12:55:12 2025 +0300\n\n    remove unused var, increment minor version\n\ncommit 3727e7ac276d74860792e97428c2b989dfea5bac\nAuthor: jellizaveta <\n[…]\n file loading.\n\ncommit ad326a497a581e523a77816680118cad5e548202\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Tue Mar 4 19:52:29 2025 +0200\n\n    AG-39419 handle case with duplicated end of origin",
          "is_bot": false,
          "headline": "AG-39419 AG-40445 Fixed  'filterOrigin' path duplication while downlo…",
          "author_name": "Elizaveta Egorova",
          "author_login": "jellizaveta",
          "committed_at": "2025-03-06T10:56:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2c992361f3f8a2ba904044101ac28bf06060cf3d",
          "body": "Squashed commit of the following:\n\ncommit 48d8660f8e27e90caa8f4695a1d5a1cb96c3c1d5\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Fri Dec 13 12:22:33 2024 +0300\n\n    update\n\ncommit 210a70eec3635a78c98b5a4a20320e666c9cccf9\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Thu Dec 12 22:58:27 2024 +0300\n\n    bump version",
          "is_bot": false,
          "headline": "AG-38419: bump version",
          "author_name": "Dmitry Seregin",
          "author_login": "105th",
          "committed_at": "2024-12-13T09:57:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d656577f3f2feb48ca964d99ae6349eae1a7d411",
          "body": "Squashed commit of the following:\n\ncommit fa4588096d562d15120c29580541b89807e8a0e3\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Thu Dec 12 17:32:40 2024 +0300\n\n    AG-38419: better exporting of types in package.json",
          "is_bot": false,
          "headline": "AG-38419: better exporting of types in package.json",
          "author_name": "Dmitry Seregin",
          "author_login": "105th",
          "committed_at": "2024-12-12T14:58:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e654a6710122022b0b6e914bf495c342d09c2943",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2024-12-06T11:21:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2db4570cbe13f449ee139781ecab3fc9fd3e9cec",
          "body": "Squashed commit of the following:\n\ncommit 9708d216b90c98f09e6f0d4931aa3ba7cdbf7af6\nAuthor: jellizaveta <e.egorova@adguard.com>\nDate:   Fri Dec 6 14:11:08 2024 +0300\n\n    update changelog\n\ncommit df3b5b0b758d335d6870437fb720de3589160272\nAuthor: jellizaveta <e.egorova@adguard.com>\nDate:   Fri Dec 6 13\n[…]\n1412\n\ncommit 5405295e893bbc144bd4ce2c72257c60916b652f\nAuthor: jellizaveta <e.egorova@adguard.com>\nDate:   Mon Dec 2 21:02:44 2024 +0300\n\n    update createErrorMessage function\n\n... and 11 more commits",
          "is_bot": false,
          "headline": "AG-31412 Improve error message during include directives resolving.",
          "author_name": "Elizaveta Egorova",
          "author_login": "jellizaveta",
          "committed_at": "2024-12-06T11:15:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ff5bf214bfd0fbb34a191d5ba878f6593733a978",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-35252 to master\n\nSquashed commit of the following:\n\ncommit ba64821c82e066c49de3c7bb54e2ac71db9f5d47\nAuthor: Rafkat Galiullin <r.galiullin@adguard.com>\nDate:   Mon Nov 25 13:20:50 2024 +0300\n\n    Prepare for release\n\ncommit b93991682e468eb115cc4e18e1\n[…]\nce\n\ncommit 2f71cf78937003730340abfae8ba13965c64b14d\nAuthor: Rafkat Galiullin <r.galiullin@adguard.com>\nDate:   Wed Nov 20 11:20:22 2024 +0300\n\n    AG-35252: Cannot add custom filters from Google Drive",
          "is_bot": false,
          "headline": "AG-35252: Cannot add custom filters from Google Drive",
          "author_name": "Rafkat Galiullin",
          "author_login": "neolite",
          "committed_at": "2024-11-25T10:22:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b41f152edf4d9bb6a4b75056a14a0ac5a8c374e7",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2024-07-12T09:45:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec5bba093a4234589086daffc8b565e2c62ef0bb",
          "body": "Squashed commit of the following:\n\ncommit 4e6539c1b70ce00446bfeb77dd3d01c336951232\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Fri Jul 12 01:13:48 2024 +0300\n\n    improve DefinedExpressions type",
          "is_bot": false,
          "headline": "improve DefinedExpressions type. AG-34320",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2024-07-12T09:34:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ee0de1c3cd72813db0683d0e92a48bcf11b4ed7",
          "body": "Squashed commit of the following:\n\ncommit c72653acbb7d7b18a27cb90f24697cd36d9c07eb\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Wed May 22 19:25:23 2024 +0300\n\n    fix docs",
          "is_bot": false,
          "headline": "fix docs",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2024-05-22T16:44:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9217d969ac759e6a809abb5e092e4f592382c5e4",
          "body": "Squashed commit of the following:\n\ncommit 2c80659cd4639260d03f99a7087134673eb90945\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Wed May 22 17:40:09 2024 +0300\n\n    throw the error\n\ncommit 1cb75beab26088756ec144145d7869c4a8efd7c0\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Wed May 22 1\n[…]\nerror handling during include directives resolving\n\ncommit f1f676ac6421ba921b2def8d655ab99103f2aa52\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Wed May 22 16:47:23 2024 +0300\n\n    bump version",
          "is_bot": false,
          "headline": "Improve error handling",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2024-05-22T14:41:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a89001337a6ca2bda542225fd06a6503c63c70bd",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-31356 to master\n\nSquashed commit of the following:\n\ncommit b585c43ffd01e1e452552dc9dfb059d357ec016c\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Tue Mar 26 16:00:37 2024 +0200\n\n    AG-31356 update changelog\n\ncommit 684cf078e77db8e0065d0e4772fe\n[…]\n0 19:04:15 2024 +0200\n\n    cleanup\n\ncommit fa78ee9dfe9bec151ffb799db1cb41deb4fc1b36\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Tue Mar 19 17:44:13 2024 +0200\n\n    handle a failed patch update",
          "is_bot": false,
          "headline": "AG-31356 return rawFilter as a string",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2024-03-26T14:22:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2898d7c48bc534c414ed75dd49667d09d55b1634",
          "body": "https://github.com/AdguardTeam/AdguardBrowserExtension/issues/2717\n\nSquashed commit of the following:\n\ncommit f24324f7058e40b3a7e48cd41278a39cfce27e5a\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon Mar 25 14:56:31 2024 +0200\n\n    update diff-builder to v1.0.17\n\ncommit d9861d66e52fc644e4c02d\n[…]\n0 19:04:15 2024 +0200\n\n    cleanup\n\ncommit fa78ee9dfe9bec151ffb799db1cb41deb4fc1b36\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Tue Mar 19 17:44:13 2024 +0200\n\n    handle a failed patch update",
          "is_bot": false,
          "headline": "handle a failed patch update. AG-30494",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2024-03-25T13:39:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "762326f7310c56291bbc664c68aa0c0925bdd111",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2024-03-13T11:33:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c0b3889a69ffd9a9e578a033a0e37d1c51b0815",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-29426 to master\n\nSquashed commit of the following:\n\ncommit 867adc6029033d19b6d364733a4793becf14cf08\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Wed Mar 13 14:28:14 2024 +0300\n\n    CHANGELOG.md edited online with Bitbucket\n\ncommit 2d23ab11c61\n[…]\n4 +0200\n\n    AG-29426 add tests\n\ncommit bf40b17734a9ab7c670db98d4b89c7406def05d7\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Thu Feb 22 19:38:12 2024 +0200\n\n    AG-29426 add checksum validation",
          "is_bot": false,
          "headline": "AG-29426 add checksum validation",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2024-03-13T11:32:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3987769cf0f38c6e5bdeb3420e70778a6d45ea1a",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-30908 to master\n\nSquashed commit of the following:\n\ncommit 003c7951aa37b8826a0809292803836522f865a2\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Wed Mar 6 12:13:04 2024 +0200\n\n    AG-30908 clean node_modules",
          "is_bot": false,
          "headline": "AG-30908 clean node_modules",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2024-03-06T10:17:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90fcd96ff054fc21baa70f85ef8c70152045b641",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-29546 to master\n\nSquashed commit of the following:\n\ncommit 9b6b3ba49fae07b65bd4c443a0e5cd7bf181572b\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Wed Jan 17 16:13:03 2024 +0300\n\n    AG-29546: updated diff-builder to 1.0.13",
          "is_bot": false,
          "headline": "AG-29546: updated diff-builder to 1.0.13",
          "author_name": "Dmitry Seregin",
          "author_login": "105th",
          "committed_at": "2024-01-17T13:15:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1855b90386a1c35bc13b5aa138e8817c53bfd9ca",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-29544 to master\n\nSquashed commit of the following:\n\ncommit 6e4472a058f004c898a8060a521d03a2e70378a9\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Wed Jan 17 12:52:45 2024 +0300\n\n    AG-29544: update diff-builder to 1.0.12",
          "is_bot": false,
          "headline": "AG-29544: update diff-builder to 1.0.12",
          "author_name": "Dmitry Seregin",
          "author_login": "105th",
          "committed_at": "2024-01-17T09:58:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9ce0a568c3bef12402bf374acdef0c994ec5dc8",
          "body": "Merge in EXTENSIONS/filters-downloader from feature/update-deps to master\n\nSquashed commit of the following:\n\ncommit 18bce98d9d778b7e7b59e305824c2a5b4e53026a\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Thu Jan 11 13:14:58 2024 +0300\n\n    bump version\n\ncommit 2e732cfbe9e64e3f15f5204892f784c52348855d\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Thu Jan 11 13:13:36 2024 +0300\n\n    update diff-builder",
          "is_bot": false,
          "headline": "Feature/update deps",
          "author_name": "Dmitry Seregin",
          "author_login": "105th",
          "committed_at": "2024-01-11T10:17:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08bb415ecc2376738d13dfe9893c6b472426c75f",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/new_line_split to master\n\nSquashed commit of the following:\n\ncommit 014f12b463f0f452d6ce0399e0df0765592e5f80\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Wed Jan 10 21:22:11 2024 +0200\n\n    fix tests\n\ncommit d71ee6cbe67f96492d7178c8374f5069531abe\n[…]\n24 +0200\n\n    changelog\n\ncommit e7551cb968e20cf8311f18be555908049886aa15\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Wed Jan 10 21:14:43 2024 +0200\n\n    split lines considering all line endings",
          "is_bot": false,
          "headline": "Pull request #53: Split lines considering all line endings",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2024-01-10T19:35:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "af0ef9a02c640ec876952898ca372381d0320c33",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/performance to master\n\nSquashed commit of the following:\n\ncommit 5bbb50d6e491ffbe5b4f0134174bde4c51bb4271\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Fri Dec 29 19:59:57 2023 +0200\n\n    fix performance regress",
          "is_bot": false,
          "headline": "Fix performance regress",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2023-12-29T18:02:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "891785b75bce681ae44c89415d966437442e8ac0",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/update_diff_builder to master\n\nSquashed commit of the following:\n\ncommit afa00d9265a70ea4e284001ba5164a06918b7cc6\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Fri Dec 29 19:05:11 2023 +0200\n\n    update diff builder to v1.0.8",
          "is_bot": false,
          "headline": "Update diff builder to v1.0.8",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2023-12-29T17:14:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae16a31c482da8a2c94d94e303511d8534bf8d9b",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-29245 to master\n\nSquashed commit of the following:\n\ncommit d2bae3d67cad1b85b53da5c8c128c8d54a63f1e7\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Fri Dec 29 15:20:41 2023 +0300\n\n    AG-29245: update diff-builder",
          "is_bot": false,
          "headline": "AG-29245: update diff-builder",
          "author_name": "Dmitry Seregin",
          "author_login": "105th",
          "committed_at": "2023-12-29T12:37:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d994350143fc6ef72a9286e379b5b08865a8d85",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/gh_actions to master\n\nSquashed commit of the following:\n\ncommit 110d54f3385288d102fe537d9c3dfac965326aac\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Wed Dec 27 18:38:34 2023 +0200\n\n    fix github actions",
          "is_bot": false,
          "headline": "Fix github actions",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2023-12-27T16:40:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "42f6eb88de05a49bd8414533c3e14d9cbf45a2e1",
          "body": "Merge in EXTENSIONS/filters-downloader from feature/AG-27444 to master\n\nSquashed commit of the following:\n\ncommit 70c316492ef18f36d3a39ee75a7dfe55e26093e6\nMerge: 9917433 fa19707\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Wed Dec 27 18:28:41 2023 +0200\n\n    Merge branch 'feature/AG-27444' of \n[…]\n\n\n    use yarn to run rimraf\n\ncommit 40d1d2bdf0ced3a46146f3c51ff5af558cdb9c79\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Tue Dec 19 19:32:28 2023 +0200\n\n    fix rimraf\n\n... and 22 more commits",
          "is_bot": false,
          "headline": "AG-27444 patch updates + typescript",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2023-12-27T16:29:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8c0967f19d60b50c8b927e00c73acb9ffb4d4d64",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2023-12-19T17:28:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "396efeb36a6f08d1c042187a6aa0c64bdad793a7",
          "body": "Merge in EXTENSIONS/filters-downloader from feature/AG-27444-1 to master\n\nSquashed commit of the following:\n\ncommit 555e22d6315c4f2e4aa2cd91e4fdf6c9c05c3289\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Tue Dec 19 19:26:18 2023 +0200\n\n    fix path\n\ncommit de7d313d41f60287857f821dad025fe998bbc10e\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Tue Dec 19 19:22:00 2023 +0200\n\n    AG-27444 update specs",
          "is_bot": false,
          "headline": "AG-27444 update specs",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2023-12-19T17:28:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5daa1107775a7116b3dcb8af6b29c26dde0c257b",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2023-11-09T15:18:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9951c64c855fde507cb5d106dbbee0cb225f0064",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-5510 to master\n\nSquashed commit of the following:\n\ncommit cded56382173803a31759b4be0b2df5ca64f64c5\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Thu Nov 9 17:14:20 2023 +0200\n\n    AG-5510 fix tests\n\ncommit 5b21d29d6bc56229a56c84553e64f4c48f6e82\n[…]\n23 +0200\n\n    AG-5510 add documentation\n\ncommit 603de9c4dedb4bfd426901eaab801583b8033bee\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Thu Nov 9 17:08:56 2023 +0200\n\n    AG-5510 support text/html",
          "is_bot": false,
          "headline": "AG-5510 support text/html",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2023-11-09T15:18:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "dbf9e9d08a34300774f6ce533d8b373efa9dca68",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2023-10-27T11:57:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "caea64228f1a5a4066262d86de5f9f65561961d5",
          "body": "Squashed commit of the following:\n\ncommit 4ea753b3d68498328fdb58650600188170ee712a\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Fri Oct 27 14:23:12 2023 +0300\n\n    fix changelog",
          "is_bot": false,
          "headline": "fix changelog",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2023-10-27T11:57:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee19bc9659e13606cfdac7766dfe7f2b49ccacd5",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2023-10-20T17:51:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "566742ffda63274792cf7506960e20737623675d",
          "body": "Squashed commit of the following:\n\ncommit ba00331a3becf9dd63d38b04c7627ed2da83ef55\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Fri Oct 20 20:46:35 2023 +0300\n\n    update changelog\n\ncommit ae6b40837f537999b18dd65f4aded36d839bfbdb\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Fri Oct 20 \n[…]\nngines.node to 18 or greater in package.json\n\ncommit fa24924c14702d9882a4484071234c6452a88ca7\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Fri Oct 20 20:22:33 2023 +0300\n\n    fix url validation",
          "is_bot": false,
          "headline": "fix url validation. AG-26168",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2023-10-20T17:51:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "601ba9c35238b4c26126fa8c5c751aa3f62dbb9a",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2023-10-10T13:34:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1d324f71df368b0155b9cfe8b2b0640e1cb22cc",
          "body": "Squashed commit of the following:\n\ncommit d8a02e6ab69b9601df5f2e902adbf61c0ab87b55\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Tue Oct 10 12:57:07 2023 +0300\n\n    update changelog\n\ncommit eb676f91dd552bb702beb1ed7eb96bedf9ecf44e\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon Oct 9 2\n[…]\n6 01:52:15 2023 +0300\n\n    add gh release workflow\n\ncommit e717db763343a23b3b99e7ff564c660de2dc6c42\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Fri Oct 6 01:51:56 2023 +0300\n\n    add changelog",
          "is_bot": false,
          "headline": "AG-26472 add changelog and gh release workflow",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2023-10-10T13:34:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9870402444a55fb63cbcd7b5533fc91231be8c66",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2023-10-03T18:28:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "796afe68b11e99a2c0c9df2d50d346b1cb2eaa6c",
          "body": "Squashed commit of the following:\n\ncommit 67ff668642d3c5e45f329670ec2ebb4246b625f6\nMerge: e3a9196 d820df6\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Tue Oct 3 12:36:07 2023 +0300\n\n    Merge branch 'master' into fix/AG-26382\n\ncommit e3a919697edbb78893876e88192168144c80c15e\nAuthor: Slava Lele\n[…]\n23 +0300\n\n    test pre-commit hook\n\ncommit 625777dfaf1473a522d3a1488e7104ee8bdb3467\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon Oct 2 22:23:27 2023 +0300\n\n    run lint-staged on pre-commit",
          "is_bot": false,
          "headline": "run lint-staged on pre-commit. AG-26382",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2023-10-03T18:28:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d820df661cf4357b7ee4d5b75251e9204ad9aa43",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2023-10-03T09:35:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afc60c58f8662b50278e47b5dd12cdba1f37dfd4",
          "body": "Squashed commit of the following:\n\ncommit a568d65bd1e5a891ab4be8f0696117f272056d88\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon Oct 2 22:08:47 2023 +0300\n\n    fix linter\n\ncommit 4ea3cb50ca1958edc266d7199078b0e3030ff240\nMerge: dd94c11 4e77339\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDat\n[…]\n 17:23:22 2023 +0300\n\n    add cosmetic code fixes\n\ncommit e3e0597152bbc5fdc8207f2de8839a6966b307ea\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Fri Sep 29 17:19:38 2023 +0300\n\n    update readme",
          "is_bot": false,
          "headline": "support `!#else` directive. #20 AG-26168",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2023-10-03T09:35:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4e7733921d9b51644d8f92724a244d1d68f39e7e",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2023-10-02T19:02:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "378e36b3b584f4b52ceeac43413945a5246160f0",
          "body": "Squashed commit of the following:\n\ncommit c489d1624a1ee560fcd7b58b87d2b205e3016f3a\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon Oct 2 21:49:55 2023 +0300\n\n    run linter during test specs\n\ncommit 29d7d4b14b42005252bce65b8087dff71639a165\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon Oct 2 21:48:23 2023 +0300\n\n    fix linter errors\n\ncommit 3dee85e577d4e79f59299ae4f9d9ebbb614fcda7\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Mon Oct 2 21:48:08 2023 +0300\n\n    add linter",
          "is_bot": false,
          "headline": "add linter. AG-26382",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2023-10-02T19:02:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "086b55a7683e0600ffebc830d6a55a9a24a37d1a",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2023-10-02T10:28:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b72fb753959b423cf9ab9d73473b076a50460184",
          "body": "Squashed commit of the following:\n\ncommit 5a1bc874d8f8541ab03939eb93047ee4bb792962\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Fri Sep 29 21:22:45 2023 +0300\n\n    update docker image",
          "is_bot": false,
          "headline": "update docker image. AG-26335",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2023-10-02T10:28:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8249bbca52adc7a7f6a83f14eb3e76ffbaea722d",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2022-11-25T13:48:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f898ca7f2c05b663ef7c82004a963a894e471ec3",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-14765 to master\n\nSquashed commit of the following:\n\ncommit 020a9303368e2421015ada27a4e17ce5ea78d901\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Fri Nov 25 15:25:19 2022 +0200\n\n    AG-14765 add comment why removed Promise.all\n\ncommit 2c25d1fb9\n[…]\n+0200\n\n    AG-14765 fix command\n\ncommit 55a45d003a3f3806969d36e33baa9412cdec22d4\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Tue Nov 22 20:01:16 2022 +0200\n\n    AG-14765 add chunked promise all",
          "is_bot": false,
          "headline": "AG-14765 add chunked promise all",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2022-11-25T13:48:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c110c0b5829b30433cae07222e24e8bda065736d",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2022-11-11T10:03:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3576fda2eacb0afe5faa4882babfade21dc23280",
          "body": "Merge in EXTENSIONS/filters-downloader from fixes/AG-17065 to master\n\nSquashed commit of the following:\n\ncommit 1b4fb5130b557d75efc4fcdf0ea83eab89206b94\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Thu Nov 10 19:07:08 2022 +0400\n\n    fix\n\ncommit 4ecaae6b55065d511e47cd2b318f9dfa11df41ab\nAu\n[…]\n59 2022 +0400\n\n    undo version bump\n\ncommit e0529fd395061c90ce2cb7a4941feac90fb12d19\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Thu Oct 20 17:32:14 2022 +0400\n\n    AG-17065: fixed export",
          "is_bot": false,
          "headline": "Pull request #36: AG-17065: fixed export",
          "author_name": "Dmitry Seregin",
          "author_login": "105th",
          "committed_at": "2022-11-11T10:03:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "54c6d224c1a92117a5c5cf1305b363522244f902",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2022-04-04T14:54:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ebfda727da3520c44018cc9d992645e5bcceba3c",
          "body": "Merge in EXTENSIONS/filters-downloader from feature/AG-13506 to master\n\nSquashed commit of the following:\n\ncommit c71d42a904b545f8b1b274da3b1b2177088c9131\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Mon Apr 4 12:19:11 2022 +0300\n\n    fix\n\ncommit bd95d79f48a82bcff124547d5fdf6e79270d4466\nA\n[…]\n 2022 +0300\n\n    changed package.json\n\ncommit d88c17053cc530b920b7ac28986bd3ca58980953\nAuthor: Dmitriy Seregin <d.seregin@adguard.com>\nDate:   Thu Mar 31 18:12:20 2022 +0300\n\n    AG-13506: added types",
          "is_bot": false,
          "headline": "AG-13506: added types",
          "author_name": "Dmitry Seregin",
          "author_login": "105th",
          "committed_at": "2022-04-04T14:54:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cf44f54d7e3c7c1a9e60073c77a3b9cf3780b54f",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2022-03-22T14:48:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b82484f5a18f5db67ca53b8f1ce4b29de2491de9",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-2774_1 to master\n\nSquashed commit of the following:\n\ncommit 211fe2a5adb9ac1bb64fd95a92ceca8d70efa27a\nAuthor: tvinzz <o.labudko@adguard.com>\nDate:   Tue Mar 22 21:31:29 2022 +0700\n\n    moved definedProperties check into resolveConditions\n\ncommit c502\n[…]\n presented\n\ncommit ddf063127ae6a1b09590b217360c0ec5c83f5e5b\nAuthor: tvinzz <o.labudko@adguard.com>\nDate:   Sat Mar 19 03:49:22 2022 +0700\n\n    resolve conditions only if definedProperties is presented",
          "is_bot": false,
          "headline": "Pull request: AG-2774 Make \"!#include\" sensitive to \"!#if\"",
          "author_name": "Oleg Labudko",
          "author_login": null,
          "committed_at": "2022-03-22T14:48:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0b6c89f8c99dac62b6a683983445b1ec8af4c616",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2022-03-18T13:18:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77bbc4d87814d4cb4b5b07840e44eb98cfc09b42",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-13204 to master\n\nSquashed commit of the following:\n\ncommit 5d6676d6b7db4d4dd93db82ca826a7323f2017ae\nAuthor: Anton <a.kaprielov@adguard.com>\nDate:   Fri Mar 18 14:05:24 2022 +0300\n\n    AG-13204 fix test & update qunit\n\ncommit ca8557656d5764fbb80697b8\n[…]\n12:14:28 2022 +0300\n\n    AG-13204\n\ncommit f328b9c4493695c6f8e8b032aadfcc88a24cdf7b\nAuthor: Anton <a.kaprielov@adguard.com>\nDate:   Tue Mar 15 17:12:47 2022 +0300\n\n    AG-13204 Filter Importation Error",
          "is_bot": false,
          "headline": "Pull request #30: Filter Importation Error",
          "author_name": "Anton Kaprielov",
          "author_login": null,
          "committed_at": "2022-03-18T13:18:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c2e7e8768715f9a84b603c0997d84effa9c684a2",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2022-03-16T10:25:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f28e6b5887ace35ba9188a6d6a0e9ab3e7a79b97",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-2774 to master\n\nSquashed commit of the following:\n\ncommit d5e59f39d3b70d8966447b66153a51bf5783ba1e\nAuthor: tvinzz <o.labudko@adguard.com>\nDate:   Wed Mar 16 17:01:38 2022 +0700\n\n    removed redundant test files\n\ncommit 41de02cd185f07e5bdac63ac3c49b5\n[…]\n:   Wed Mar 16 02:47:56 2022 +0700\n\n    added more tests\n\ncommit cde9793814e1c70b714108492216992a2b5a43e9\nAuthor: tvinzz <o.labudko@adguard.com>\nDate:   Wed Mar 16 02:25:03 2022 +0700\n\n    added tests",
          "is_bot": false,
          "headline": "Pull request: AG-2774 Make \"!#include\" sensitive to \"!#if\"",
          "author_name": "Oleg Labudko",
          "author_login": null,
          "committed_at": "2022-03-16T10:25:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "60972b2676b7ffbca1313ffce235781816e9f7d9",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2022-03-16T09:13:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "66fe50a02e536a3c094fe7232b7b11167aadbe61",
          "body": "Merge in EXTENSIONS/filters-downloader from add_test_files to master\n\nSquashed commit of the following:\n\ncommit 2838fa0da2e88782c0b7df3994e3a2ed9b908821\nAuthor: tvinzz <o.labudko@adguard.com>\nDate:   Wed Mar 16 03:08:37 2022 +0700\n\n    added test files",
          "is_bot": false,
          "headline": "Pull request: Add test files",
          "author_name": "Oleg Labudko",
          "author_login": null,
          "committed_at": "2022-03-16T09:13:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e841264fc49a9cf10724e576d0c3f1c89a610d5",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2022-03-04T10:01:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4f7775041450f55dfb3e5b5edb326e730a80f322",
          "body": "Merge in EXTENSIONS/filters-downloader from feature/AG-12919 to master\n\nSquashed commit of the following:\n\ncommit 464724243045d77192e1cd2ada58db07f7d7b4a2\nAuthor: Anton <a.kaprielov@adguard.com>\nDate:   Thu Mar 3 16:31:59 2022 +0300\n\n    AG-12919 fix comment\n\ncommit 3edd98bf70d78f0c6e3dd71c2f01aa4ff\n[…]\n09:48 2022 +0300\n\n    AG-12919 fix comment\n\ncommit 24a19d2f5711f667a276cf5919a140ba3a4e3124\nAuthor: Anton <a.kaprielov@adguard.com>\nDate:   Thu Mar 3 14:08:40 2022 +0300\n\n    add fetch to getLocalFile",
          "is_bot": false,
          "headline": "Pull request #29: AG-12919 add fetch to getLocalFile",
          "author_name": "Anton Kaprielov",
          "author_login": null,
          "committed_at": "2022-03-04T10:01:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c4fc68cc0133c271a028f763e8f1b5cc0fb5e53b",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2021-10-26T09:05:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "17978c5fd23d957754d0fa815d62d2180d3cd63a",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/tests to master\n\nSquashed commit of the following:\n\ncommit d32bdc36ddb1d08b5c0a3da2ab8f400c4f5b98b7\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Tue Oct 26 11:42:10 2021 +0300\n\n    make tests fail with error code",
          "is_bot": false,
          "headline": "Pull request #28: make tests fail with error code",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2021-10-26T09:05:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f5ddddcac413b8843b38a52db7484a583a45693",
          "body": null,
          "is_bot": false,
          "headline": "skipci: Automatic increment build number",
          "author_name": "Atlassian Bamboo",
          "author_login": null,
          "committed_at": "2021-10-26T08:32:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4acba97f470225c988bf3061ba6e8ffc39417134",
          "body": "…tically\n\nMerge in EXTENSIONS/filters-downloader from feature/AG-9441 to master\n\nSquashed commit of the following:\n\ncommit 7c2074a5c0810896aa01a88e94ba843a489e145e\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Fri Oct 22 16:26:33 2021 +0300\n\n    AG-9441 setup specs\n\ncommit f7c8ad928f2adb4a2733a93a29f6b16fa867a37b\nAuthor: Maxim Topciu <mtopciu@adguard.com>\nDate:   Fri Oct 22 14:44:57 2021 +0300\n\n    AG-9441 prepare plans",
          "is_bot": false,
          "headline": "Pull request #27: Feature/AG-9441 setup specs to deploy to npm automa…",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2021-10-25T10:58:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "46971635fd176de1535c66d8f3d0cc13db208a3c",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-9365 to master\n\nSquashed commit of the following:\n\ncommit a793106f7b9ceb3b7406f9fa83ff8f889b46c5ce\nAuthor: Vladimir Zhelvis <v.zhelvis@adguard.com>\nDate:   Mon Aug 2 17:55:56 2021 +0300\n\n    update\n\ncommit 44123b878e00bac933d3e271e68d86ea49542c04\nAu\n[…]\n21 +0300\n\n    add isLocal export\n\ncommit e72f8dcd5cdc71fb5e1de6fb04fcfd49b1971229\nAuthor: Vladimir Zhelvis <v.zhelvis@adguard.com>\nDate:   Mon Aug 2 12:01:39 2021 +0300\n\n    fix local file downloading",
          "is_bot": false,
          "headline": "Pull request #26: Fix/AG-9365 Fix local custom filter file import",
          "author_name": "Vladimir Zhelvis",
          "author_login": "zhelvis",
          "committed_at": "2021-08-02T15:30:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "506d2536b4ae6df4181be21766540f216ab6cbd6",
          "body": "Merge in EXTENSIONS/filters-downloader from fix/AG-9148 to master\n\nSquashed commit of the following:\n\ncommit ca79a899b5ad5ce9433dbf65c2526d4374b7a9c8\nAuthor: Slava Leleka <v.leleka@adguard.com>\nDate:   Thu Jul 29 15:55:00 2021 +0300\n\n    update license and package.json",
          "is_bot": false,
          "headline": "update license. AG-9148",
          "author_name": "Slava Leleka",
          "author_login": "slvvko",
          "committed_at": "2021-07-30T10:09:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a87c603d04ae2494f8df60ff9e325ee2114256ed",
          "body": "Merge in EXTENSIONS/filters-downloader from feature/AG-9009 to master\n\nSquashed commit of the following:\n\ncommit 1aff8c4208d8446beafa0ca9839321a0f59b3812\nAuthor: tvinzz <o.labudko@adguard.com>\nDate:   Mon Jul 12 18:08:12 2021 +0300\n\n    fixed url constants\n\ncommit ae4909d896e8a04e9aae4e56b1563279c84\n[…]\nersion to 1.1.3 and axios\n\ncommit ba9694dfa974d7281f0bdf4f1f918b861a4c2958\nAuthor: tvinzz <o.labudko@adguard.com>\nDate:   Mon Jul 12 15:35:06 2021 +0300\n\n    removed redundant decodeURI and added test",
          "is_bot": false,
          "headline": "Pull request: AG-9009 Escape special characters",
          "author_name": "Oleg Labudko",
          "author_login": null,
          "committed_at": "2021-07-13T16:06:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "06eb3ae5928dd2a1064ef9dd9b328011f3603fce",
          "body": "Merge in EXTENSIONS/filters-downloader from feature/npm to master\n\nSquashed commit of the following:\n\ncommit 75a6f8f89e786a08b4ac2c6b340ed14e8444f684\nAuthor: Maxim Topciu <maximtop@gmail.com>\nDate:   Mon Jun 28 17:13:23 2021 +0300\n\n    prepare for publishing to npm",
          "is_bot": false,
          "headline": "Pull request #22: prepare for publishing to npm",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2021-06-29T13:00:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01e77c8180e7b29a20bda7bf0be7d479ba9c26eb",
          "body": "… is undefined\n\nMerge in EXTENSIONS/filters-downloader from fix/fetch to master\n\n* commit 'a1c7ed5321bcd15e091dd76d77ada53f216e4dcd':\n  download local files with xmlhttprequest\n  replace XMLHttpRequest with fetch, fix tests",
          "is_bot": false,
          "headline": "Pull request #21: add fetch downloader, throw error if XMLHttpRequest…",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2021-02-25T07:47:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a1c7ed5321bcd15e091dd76d77ada53f216e4dcd",
          "body": null,
          "is_bot": false,
          "headline": "download local files with xmlhttprequest",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2021-02-24T10:06:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6bbd6c6e6f05f2895b28b3e7478886f3f96b44d7",
          "body": null,
          "is_bot": false,
          "headline": "replace XMLHttpRequest with fetch, fix tests",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2021-02-20T12:43:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "302b8fcbe4e9d4296c259e0359214c2994467506",
          "body": "Merge in EXTENSIONS/filters-downloader from feature/AG-4057-1 to master\n\n* commit '462a8b753da3429665960968cf79084ccc0caed5':\n  AG-4057 remove gulpfile",
          "is_bot": false,
          "headline": "Pull request #20: AG-4057 remove gulpfile",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2020-09-14T09:36:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "462a8b753da3429665960968cf79084ccc0caed5",
          "body": null,
          "is_bot": false,
          "headline": "AG-4057 remove gulpfile",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2020-09-14T06:28:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afde37dfe7f9a3ba6041e3c9fb30271ad2eb4d43",
          "body": "Merge in EXTENSIONS/filters-downloader from feature/AG-4057 to master\n\n* commit 'd6f833fbf07e8ac69593dbf6994668ee50e819db':\n  AG-4057 update version\n  AG-4057 add node-qunit dev dependency\n  AG-4057 fix messages\n  AG-4057 refactor FiltersDownloader and prepare it for use with browser",
          "is_bot": false,
          "headline": "Pull request #19: Feature/AG-4057",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2020-09-14T06:22:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d6f833fbf07e8ac69593dbf6994668ee50e819db",
          "body": null,
          "is_bot": false,
          "headline": "AG-4057 update version",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2020-09-11T13:05:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9871954a4d48d50680416b1ee8e5d8a25665861",
          "body": null,
          "is_bot": false,
          "headline": "AG-4057 add node-qunit dev dependency",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2020-09-11T12:25:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ecfeb1f1f7dfb19ac0aa22b8736f094e06021ef",
          "body": null,
          "is_bot": false,
          "headline": "AG-4057 fix messages",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2020-09-11T12:21:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fae0ed72185d1c615252efe84715443219163db9",
          "body": null,
          "is_bot": false,
          "headline": "AG-4057 refactor FiltersDownloader and prepare it for use with browser",
          "author_name": "Maxim Topciu",
          "author_login": "maximtop",
          "committed_at": "2020-09-11T12:18:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 35,
      "commits_last_year": 17,
      "latest_release_at": "2026-07-14T13:56:45Z",
      "latest_release_tag": "v2.4.5",
      "releases_from_tags": false,
      "days_since_last_push": 11,
      "active_weeks_last_year": 9,
      "days_since_latest_release": 11,
      "mean_days_between_releases": 64.3
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 37,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@adguard/filters-downloader",
          "exists": true,
          "license": "GPL-3.0",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": false,
          "registry_url": "https://www.npmjs.com/package/@adguard/filters-downloader",
          "is_deprecated": false,
          "latest_version": "2.4.5",
          "repository_url": "https://github.com/AdGuardSoftwareLimited/ext-filters-downloader",
          "versions_count": 35,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 3,
          "monthly_downloads": 10137,
          "first_published_at": "2021-06-29T13:02:27.497000Z",
          "latest_published_at": "2026-07-14T13:55:52.677000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 11
        }
      ]
    },
    "popularity": {
      "forks": 3,
      "stars": 18,
      "watchers": 16,
      "fork_history": {
        "days": [
          {
            "date": "2019-04-05",
            "count": 1
          },
          {
            "date": "2021-10-22",
            "count": 1
          },
          {
            "date": "2025-05-26",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 3,
        "total_forks": 3
      },
      "star_history": null,
      "open_issues_and_prs": 1
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 38026,
      "source_files_sampled": 18,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 8115
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "axios",
            "direct": true,
            "version": "1.15.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.7,
            "advisory_ids": [
              "GHSA-35jp-ww65-95wh",
              "GHSA-3g43-6gmg-66jw",
              "GHSA-3w6x-2g7m-8v23",
              "GHSA-42h9-826w-cgv3",
              "GHSA-445q-vr5w-6q77",
              "GHSA-5c9x-8gcm-mpgx",
              "GHSA-62hf-57xw-28j9",
              "GHSA-6chq-wfr3-2hj9",
              "GHSA-777c-7fjr-54vf",
              "GHSA-7q8q-rj6j-mhjq"
            ],
            "fixed_version": "1.18.0",
            "advisory_count": 28,
            "oldest_advisory_days": 82
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 1
        },
        "advisory_count": 28,
        "affected_count": 1,
        "assessed_count": 29,
        "malicious_count": 0,
        "assessed_package": "npm:@adguard/filters-downloader@2.4.5",
        "unassessed_count": 0,
        "direct_affected_count": 1
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@adguard/diff-builder",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "1.1.4"
        },
        {
          "name": "axios",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "1.15.0"
        },
        {
          "name": "crypto-js",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "4.2.0"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@adguard/diff-builder",
            "direct": true,
            "version": "1.0.17",
            "ecosystem": "npm"
          },
          {
            "name": "axios",
            "direct": true,
            "version": "1.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "crypto-js",
            "direct": true,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@aashutoshrathi/word-wrap",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@ampproject/remapping",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.23.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.23.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.23.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.23.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.23.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-environment-visitor",
            "direct": false,
            "version": "7.22.20",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-function-name",
            "direct": false,
            "version": "7.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-hoist-variables",
            "direct": false,
            "version": "7.22.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.22.15",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.23.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.22.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-simple-access",
            "direct": false,
            "version": "7.22.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-split-export-declaration",
            "direct": false,
            "version": "7.22.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.23.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.22.20",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.23.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.23.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/highlight",
            "direct": false,
            "version": "7.23.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.23.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-async-generators",
            "direct": false,
            "version": "7.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-bigint",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-class-properties",
            "direct": false,
            "version": "7.12.13",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-import-meta",
            "direct": false,
            "version": "7.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-json-strings",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-jsx",
            "direct": false,
            "version": "7.23.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-logical-assignment-operators",
            "direct": false,
            "version": "7.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-nullish-coalescing-operator",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-numeric-separator",
            "direct": false,
            "version": "7.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-object-rest-spread",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-optional-catch-binding",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-optional-chaining",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-top-level-await",
            "direct": false,
            "version": "7.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-typescript",
            "direct": false,
            "version": "7.23.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.22.15",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.23.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.23.6",
            "ecosystem": "npm"
          },
          {
            "name": "@bcoe/v8-coverage",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@cspotcode/source-map-support",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "@es-joy/jsdoccomment",
            "direct": false,
            "version": "0.41.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "8.56.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/config-array",
            "direct": false,
            "version": "0.11.13",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/object-schema",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@istanbuljs/load-nyc-config",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@istanbuljs/schema",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/console",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/core",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/create-cache-key-function",
            "direct": false,
            "version": "27.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/environment",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/expect",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/expect-utils",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/fake-timers",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/globals",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/reporters",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/schemas",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/source-map",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/test-result",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/test-sequencer",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/transform",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/types",
            "direct": false,
            "version": "27.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/types",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/set-array",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.4.15",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.20",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.scandir",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.walk",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgjs/parseargs",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/plugin-commonjs",
            "direct": false,
            "version": "25.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/plugin-json",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/plugin-node-resolve",
            "direct": false,
            "version": "15.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/plugin-typescript",
            "direct": false,
            "version": "11.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/pluginutils",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sinclair/typebox",
            "direct": false,
            "version": "0.27.8",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/commons",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/fake-timers",
            "direct": false,
            "version": "10.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@swc-node/core",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "@swc-node/register",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@swc-node/sourcemap-support",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/core",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/core-darwin-arm64",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/core-darwin-x64",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/core-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/core-linux-arm64-gnu",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/core-linux-arm64-musl",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/core-linux-x64-gnu",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/core-linux-x64-musl",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/core-win32-arm64-msvc",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/core-win32-ia32-msvc",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/core-win32-x64-msvc",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/counter",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/helpers",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/jest",
            "direct": false,
            "version": "0.2.29",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/types",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node10",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node12",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node14",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node16",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__core",
            "direct": false,
            "version": "7.20.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__generator",
            "direct": false,
            "version": "7.6.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__template",
            "direct": false,
            "version": "7.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__traverse",
            "direct": false,
            "version": "7.20.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/body-parser",
            "direct": false,
            "version": "1.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/connect",
            "direct": false,
            "version": "3.4.38",
            "ecosystem": "npm"
          },
          {
            "name": "@types/crypto-js",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/express",
            "direct": false,
            "version": "4.17.21",
            "ecosystem": "npm"
          },
          {
            "name": "@types/express-serve-static-core",
            "direct": false,
            "version": "4.17.41",
            "ecosystem": "npm"
          },
          {
            "name": "@types/graceful-fs",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/http-errors",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/istanbul-lib-coverage",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/istanbul-lib-report",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/istanbul-reports",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json5",
            "direct": false,
            "version": "0.0.29",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mime",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mime",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "20.10.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/qs",
            "direct": false,
            "version": "6.9.10",
            "ecosystem": "npm"
          },
          {
            "name": "@types/qunit",
            "direct": false,
            "version": "2.19.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/range-parser",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/resolve",
            "direct": false,
            "version": "1.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/semver",
            "direct": false,
            "version": "7.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/send",
            "direct": false,
            "version": "0.17.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/serve-static",
            "direct": false,
            "version": "1.15.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/stack-utils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yargs",
            "direct": false,
            "version": "16.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yargs",
            "direct": false,
            "version": "17.0.32",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yargs-parser",
            "direct": false,
            "version": "21.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/structured-clone",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "abbrev",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "abbrev",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "accepts",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.11.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "8.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.12.6",
            "ecosystem": "npm"
          },
          {
            "name": "amdefine",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "anymatch",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "are-docs-informative",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "arg",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "argsparser",
            "direct": false,
            "version": "0.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "array-buffer-byte-length",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "array-flatten",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "array-includes",
            "direct": false,
            "version": "3.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "array-union",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.findlastindex",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.flat",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.flatmap",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "arraybuffer.prototype.slice",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "async",
            "direct": false,
            "version": "1.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "asynckit",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "available-typed-arrays",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "babel-jest",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-istanbul",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-jest-hoist",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "babel-preset-current-node-syntax",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "babel-preset-jest",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.22.2",
            "ecosystem": "npm"
          },
          {
            "name": "bser",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "builtin-modules",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001570",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "char-regex",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ci-info",
            "direct": false,
            "version": "3.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "cjs-module-lexer",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "cli-cursor",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-table",
            "direct": false,
            "version": "0.3.11",
            "ecosystem": "npm"
          },
          {
            "name": "cli-truncate",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "co",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "collect-v8-coverage",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "colorette",
            "direct": false,
            "version": "2.0.20",
            "ecosystem": "npm"
          },
          {
            "name": "colors",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "combined-stream",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "comment-parser",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "commondir",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "confusing-browser-globals",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "content-disposition",
            "direct": false,
            "version": "0.5.4",
            "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.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "cookie-signature",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "create-jest",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "create-require",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "2.6.9",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "dedent",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "deepmerge",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "define-data-property",
            "direct": false,
            "version": "1.1.1",
            "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": "destroy",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-newline",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "diff-sequences",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "dir-glob",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eastasianwidth",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ee-first",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.4.615",
            "ecosystem": "npm"
          },
          {
            "name": "emittery",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "encodeurl",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-abstract",
            "direct": false,
            "version": "1.22.3",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-shim-unscopables",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-to-primitive",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "escape-html",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escodegen",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "8.56.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-airbnb-base",
            "direct": false,
            "version": "15.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-airbnb-typescript",
            "direct": false,
            "version": "17.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-import-resolver-node",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-module-utils",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-import",
            "direct": false,
            "version": "2.29.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-import-newlines",
            "direct": false,
            "version": "1.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-jsdoc",
            "direct": false,
            "version": "46.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "7.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "9.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "2.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "etag",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "eventemitter3",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "exit",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "expect",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "express",
            "direct": false,
            "version": "4.18.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-glob",
            "direct": false,
            "version": "3.3.2",
            "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": "fastq",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "fb-watchman",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "finalhandler",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "follow-redirects",
            "direct": false,
            "version": "1.15.3",
            "ecosystem": "npm"
          },
          {
            "name": "for-each",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "forwarded",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fresh",
            "direct": false,
            "version": "0.5.2",
            "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": "function.prototype.name",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "functions-have-names",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-package-type",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-symbol-description",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "10.3.10",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "5.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "11.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "13.24.0",
            "ecosystem": "npm"
          },
          {
            "name": "globalthis",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "globalyzer",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "globby",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "globrex",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "graphemer",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "handlebars",
            "direct": false,
            "version": "4.7.8",
            "ecosystem": "npm"
          },
          {
            "name": "has-bigints",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-property-descriptors",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "has-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "html-escaper",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "husky",
            "direct": false,
            "version": "8.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.4.24",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "import-local",
            "direct": false,
            "version": "3.1.0",
            "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": "internal-slot",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "ipaddr.js",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-array-buffer",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-bigint",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-boolean-object",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-builtin-module",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-callable",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-date-object",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-generator-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-module",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-negative-zero",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-number-object",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-path-inside",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-reference",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-regex",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-shared-array-buffer",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-string",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-symbol",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-typed-array",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "is-weakref",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul",
            "direct": false,
            "version": "0.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-coverage",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-instrument",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-instrument",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-report",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-source-maps",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-reports",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "2.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "jest",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-changed-files",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-circus",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-cli",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-config",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-diff",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-docblock",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-each",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-environment-node",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-get-type",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "jest-haste-map",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-leak-detector",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-matcher-utils",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-message-util",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-mock",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-pnp-resolver",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jest-regex-util",
            "direct": false,
            "version": "29.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "jest-resolve",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-resolve-dependencies",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-runner",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-runtime",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-snapshot",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-util",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-validate",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-watcher",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-worker",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-cleanup",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "3.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsdoc-type-pratt-parser",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stringify-safe",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsonc-parser",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "kleur",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "leven",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "lilconfig",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "lint-staged",
            "direct": false,
            "version": "14.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "listr2",
            "direct": false,
            "version": "6.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "log-update",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.25.9",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.5",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "make-error",
            "direct": false,
            "version": "1.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "makeerror",
            "direct": false,
            "version": "1.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "media-typer",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-descriptors",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "merge-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "methods",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.35",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "5.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "neo-async",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "nock",
            "direct": false,
            "version": "13.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-int64",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-qunit",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.14",
            "ecosystem": "npm"
          },
          {
            "name": "node-watch",
            "direct": false,
            "version": "0.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "nopt",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-keys",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object.assign",
            "direct": false,
            "version": "4.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "object.entries",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "object.fromentries",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "object.groupby",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "object.values",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "on-finished",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-try",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parseurl",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "perf-regexes",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pidtree",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "pirates",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-dir",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-format",
            "direct": false,
            "version": "29.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "prompts",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "propagate",
            "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": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pure-rand",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "qunit",
            "direct": false,
            "version": "2.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "range-parser",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "raw-body",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "18.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "regenerator-runtime",
            "direct": false,
            "version": "0.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "regexp.prototype.flags",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.8",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-cwd",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve.exports",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "restore-cursor",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "5.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "rollup-plugin-cleanup",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "rollup-pluginutils",
            "direct": false,
            "version": "2.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safe-array-concat",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-regex-test",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "send",
            "direct": false,
            "version": "0.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "serve-static",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "set-function-length",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "set-function-name",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "setprototypeof",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "sisteransi",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "skip-regex",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": false,
            "version": "0.5.13",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": false,
            "version": "0.5.21",
            "ecosystem": "npm"
          },
          {
            "name": "sourcemap-codec",
            "direct": false,
            "version": "1.4.8",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-exceptions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "stack-utils",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "string-argv",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-length",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trim",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimend",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimstart",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "8.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-preserve-symlinks-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "test-exclude",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "text-table",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tiny-glob",
            "direct": false,
            "version": "0.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "tmpl",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "to-fast-properties",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "toidentifier",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tracejs",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "ts-node",
            "direct": false,
            "version": "10.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "tsconfig-paths",
            "direct": false,
            "version": "3.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-detect",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.21.3",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-is",
            "direct": false,
            "version": "1.6.18",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-buffer",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-byte-length",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-byte-offset",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-length",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "uglify-js",
            "direct": false,
            "version": "3.17.4",
            "ecosystem": "npm"
          },
          {
            "name": "unbox-primitive",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "underscore",
            "direct": false,
            "version": "1.13.6",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "5.26.5",
            "ecosystem": "npm"
          },
          {
            "name": "unpipe",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.0.13",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "utils-merge",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "v8-compile-cache-lib",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "v8-to-istanbul",
            "direct": false,
            "version": "9.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "vary",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "walker",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-boxed-primitive",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-typed-array",
            "direct": false,
            "version": "1.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "wordwrap",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "write-file-atomic",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "17.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yn",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 683,
        "direct_count": 3,
        "indirect_count": 680
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 0,
        "open_issues": 1,
        "closed_ratio": 0.75,
        "closed_issues": 3,
        "closed_unmerged_prs": 29
      },
      "bus_factor": 2,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "maximtop",
          "commits": 39,
          "avatar_url": "https://avatars.githubusercontent.com/u/17272769?v=4"
        },
        {
          "type": "User",
          "login": "Mizzick",
          "commits": 33,
          "avatar_url": "https://avatars.githubusercontent.com/u/13855288?v=4"
        },
        {
          "type": "User",
          "login": "slvvko",
          "commits": 21,
          "avatar_url": "https://avatars.githubusercontent.com/u/12473278?v=4"
        },
        {
          "type": "User",
          "login": "4-life",
          "commits": 21,
          "avatar_url": "https://avatars.githubusercontent.com/u/10114517?v=4"
        },
        {
          "type": "User",
          "login": "105th",
          "commits": 12,
          "avatar_url": "https://avatars.githubusercontent.com/u/11395678?v=4"
        },
        {
          "type": "User",
          "login": "jellizaveta",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/91964807?v=4"
        },
        {
          "type": "User",
          "login": "ameshkov",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/5947035?v=4"
        },
        {
          "type": "User",
          "login": "neolite",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/576423?v=4"
        },
        {
          "type": "User",
          "login": "zhelvis",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/25105808?v=4"
        }
      ],
      "contributors_sampled": 9,
      "top_contributor_share": 0.295
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "mirror.yml",
        "prepare-release.yml",
        "publish-release.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [
        ".eslintrc.js"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "pnpm-lock.yaml"
      ],
      "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": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 6,
            "reason": "project has 2 contributing companies or organizations -- score normalized to 6",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 5,
            "reason": "6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not 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": "no SAST tool detected",
            "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": 0,
            "reason": "84 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "99a4ea1348954d371b73523af286224ea5e6a79c",
        "ran_at": "2026-07-26T08:10:08Z",
        "aggregate_score": 2.6,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-14T01:59:33Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 27,
          "created_at": "2024-05-23T12:28:35Z",
          "last_comment_at": "2024-05-23T12:30:04Z",
          "last_comment_author": "Alex-302"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/AdguardTeam/FiltersDownloader",
    "host": "github.com",
    "name": "FiltersDownloader",
    "owner": "AdguardTeam"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": "The weighted overall 56 is calibrated to 59 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 56,
            "calibrated": 59,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 59,
      "inputs": {
        "security": 36,
        "vitality": 64,
        "community": 39,
        "governance": 58,
        "calibration": "2026-08-02",
        "engineering": 72,
        "ai_readiness": 74,
        "weighted_overall_raw": 56
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 64,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 51,
            "inputs": {
              "commits_last_year": 17,
              "human_commit_share": 0.99,
              "days_since_last_push": 11,
              "active_weeks_last_year": 9
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 11 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 11
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "9/52 weeks with commits",
                "points": 6.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 9
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "17 commits in the last year",
                "points": 11.3,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 17
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
                "points": 5,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 83,
            "inputs": {
              "releases_count": 35,
              "latest_release_tag": "v2.4.5",
              "releases_from_tags": false,
              "days_since_latest_release": 11,
              "mean_days_between_releases": 64.3
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "35 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 35
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 11 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 11
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~64.3 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 64.3
                    }
                  }
                ],
                "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": "exceptional",
            "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": 25,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 25 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 25
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "weak",
        "name": "Community & Adoption",
        "value": 39,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "at_risk",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 29,
            "inputs": {
              "forks": 3,
              "stars": 18,
              "watchers": 16,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "18 stars",
                "points": 20,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 18
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "3 forks",
                "points": 2.5,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "16 watchers",
                "points": 6.5,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 16
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": null,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "readme_badge_services": [],
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (GPL-3.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "GPL-3.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 58,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 59,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 9,
              "top_contributor_share": 0.295
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 30% of commits",
                "points": 15.9,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 30
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "9 contributors",
                "points": 12.2,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "weak",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "newcomer_pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 36,
            "inputs": {
              "merged_prs": 0,
              "open_issues": 1,
              "closed_issues": 3,
              "prs_merged_7d": null,
              "prs_decided_7d": null,
              "prs_merged_30d": null,
              "prs_decided_30d": null,
              "issue_closed_ratio": 0.75,
              "closed_unmerged_prs": 29,
              "first_time_authors_30d": null,
              "first_time_prs_merged_30d": null,
              "first_time_prs_decided_30d": null
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "75% of issues closed",
                "points": 31.5,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 75
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "0/29 decided PRs merged",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 0,
                      "decided": 29
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "no first-time contributor's PR decided in 30d",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_newcomer_prs",
                    "params": {
                      "days": 30
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "excellent",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "followers": 3930,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "AdguardTeam",
              "public_repos": 116,
              "account_age_days": 4372
            },
            "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,930 followers of AdguardTeam",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 3930,
                      "login": "AdguardTeam"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "116 public repos, account ~11 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 116
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 11
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 72,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 80,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "4 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc.js",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "topics": [
                "open-source"
              ],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": "1 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "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": "weak",
        "name": "Security",
        "value": 36,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 26,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 2.6
            },
            "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 not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
                "points": 3.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": "no SAST tool detected",
                "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": "84 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Matched the npm:@adguard/filters-downloader@2.4.5 runtime dependency closure — what installing the published package pulls in — 29 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@adguard/filters-downloader@2.4.5",
                  "assessed": 29
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 76,
            "inputs": {
              "source": "osv",
              "advisories": 28,
              "affected_packages": 1,
              "assessed_packages": 29,
              "unassessed_packages": 0,
              "affected_by_severity": "high 1",
              "direct_affected_packages": 1
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "1 affected: axios 1.15.0 (high 8.7)",
                "points": 10.6,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "axios 1.15.0 (high 8.7)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory has been public longer than 90 days",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "advisories_none_stale",
                    "params": {
                      "days": 90
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "exceptional",
            "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": 29,
              "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": "exceptional",
            "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"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [],
              "assessed_self_published_locations": 5
            },
            "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": 74,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.919,
              "agent_instruction_files": [
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 8115
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.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": "91 of 99 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 91,
                      "sampled": 99
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 56,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "pnpm-lock.yaml"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "tsconfig.json"
              ],
              "agent_commit_share": 0.01,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".eslintrc.js",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "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": "1 of the last 100 commits agent-authored or agent-credited",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "exceptional",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 38026,
              "source_files_sampled": 18,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/18 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 18,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
      }
    ],
    "classification": {
      "labels": [],
      "scores": {
        "library": 2
      },
      "primary": null,
      "evidence": [
        {
          "tier": "description",
          "label": "library",
          "source": "description:library",
          "weight": 2
        }
      ],
      "artifacts": [],
      "confidence": "none",
      "host_extension": false,
      "runs_as_process": false,
      "consumed_by_code": false
    },
    "metrics_version": "2.3.1"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "npm package '@adguard/filters-downloader' points at a different repository (https://github.com/AdGuardSoftwareLimited/ext-filters-downloader); excluded from ecosystem scoring"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-26T08:10:16.005592Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/AdguardTeam/FiltersDownloader.svg",
  "full_name": "AdguardTeam/FiltersDownloader",
  "license_state": "standard",
  "license_spdx": "GPL-3.0"
}

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 v2.3.1, esquema v0.27.0 — metodología completa · wiki de métricas.

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