Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 2.3.1 · 2026-07-26 08:10 UTC

AdguardTeam / FiltersDownloader

Pre-processing library for filters subscriptions

TypeScriptGPL-3.0★ 18 Sterne⑂ 3 Forksseit Apr. 2018Auf GitHub ansehen ↗

AdguardTeam/FiltersDownloader erreicht einen Gesundheitsindex von 59 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei AI Readiness (74/100) ab, am schwächsten bei Security (36/100). Zuletzt vor 11 Tagen aktualisiert. 2 Mitwirkende tragen den Großteil der jüngsten Arbeit.

59
gesamt / 100
Mittel

Software-Gesundheitsindex

Metriken werden auf einer standardisierten Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr gewichtetes Mittel, kalibriert auf die Verteilung des öffentlichen Registers, sodass die Stufen Perzentilbedeutung tragen; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze Gefährdet von 34.

59
Außergewöhnlich93-100Die Spitzengruppe des Registers (≈ obere 5 %); erfüllt im Wesentlichen alle geprüften Kriterien
Exzellent80-92Durchgehend stark; geringfügige Lücken
Gut65-79Gesund; Lücken sind begrenzt und beherrschbar
Mittel50-64Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Schwach35-49Wesentliche Schwächen in mehreren Bereichen
Gefährdet20-34Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-19Schwerwiegende Probleme (aufgegeben, nur ein Maintainer, keine Hygiene)
VitalitätCommunity &VerbreitungNachhaltigkeit &GovernanceEngineering-QualitätSicherheitAI Readiness

Bewertungsprofil

Jede Achse ist eine Kategorie. Die Form zählt mehr als der Durchschnitt — ein gesundes Projekt füllt die gesamte Fläche, während ein Profil aus Spitzen und Kratern bedeutet, dass Stärke in einer Dimension Risiken in einer anderen verdeckt.

Der gewichtete Gesamtwert 56 wird auf der veröffentlichten Indexskala auf 59 kalibriert (Register-Kalibrierung 2026-08-02).

Eigentümerschaft

AdGuardOrganisation
3.930 Follower116 öffentliche Reposseit Aug. 2014

Dieses Repository wird von einer Organisation getragen — geteilte, rechenschaftspflichtige Trägerschaft, die jeden einzelnen Maintainer überdauern kann.

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlicht
npm@adguard/filters-downloaderverweist auf ein anderes Repo — nicht bewertet2.4.510.13735vor 11 Tagen

Metriken nach Kategorie

Vitalität

Lebt das Projekt — wird Code geschrieben und werden Releases ausgeliefert?

64Mittel · 21 % des Gesamtindex
Wie die Bewertung erfolgt
28.8/36Push-Aktualität — letzter Push vor 11 Tagen
6.2/36Commit-Rhythmus — 9/52 Wochen mit Commits
11.3/18Commit-Volumen — 17 Commits im letzten Jahr
5/10OpenSSF Scorecard: Maintained — 6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5
Verwendete Eingangsdaten
commits_last_year17
human_commit_share0,99
days_since_last_push11
active_weeks_last_year9
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 35 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 11 Tagen
19.8/27Release-Rhythmus — ein Release etwa alle 64,3 Tage
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Verwendete Eingangsdaten
releases_count35
latest_release_tagv2.4.5
releases_from_tagsnein
days_since_latest_release11
mean_days_between_releases64,3

Community & Verbreitung

Hat das Projekt Nutzer, Downloads, Aufmerksamkeit und ein einladendes Umfeld für Beitragende?

39Schwach · 17 % des Gesamtindex
Wie die Bewertung erfolgt
20/60Stars — 18 Stars
2.5/25Forks — 3 Forks
6.5/15Watcher — 16 Watcher
Verwendete Eingangsdaten
forks3
stars18
watchers16
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (GPL-3.0)
0/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
readme_badges
has_contributingnein
has_issue_templatenein
has_code_of_conductnein
readme_badge_services
has_pull_request_templatenein

Nachhaltigkeit & Governance

Überdauert das Projekt die Menschen, die es tragen — Bus-Faktor, Reaktionsfähigkeit, Trägerschaft und Paketpflege?

58Mittel · 23 % des Gesamtindex
Wie die Bewertung erfolgt
25.2/54Bus-Faktor — 2 Beitragende decken die Hälfte aller Commits ab
15.9/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 30 % der Commits
12.2/13.5Breite der Beitragenden — 9 Beitragende
6/10OpenSSF Scorecard: Contributors — project has 2 contributing companies or organizations -- score normalized to 6
Verwendete Eingangsdaten
bus_factor2
contributors_sampled9
top_contributor_share0,295
Wie die Bewertung erfolgt
31.5/42Issue-Lösungsquote — 75 % der Issues geschlossen
0/30PR-Annahme — 0/29 entschiedene PRs gemergt
0/13Newcomer PR acceptance — kein PR eines Erstbeitragenden in 30 Tagen entschieden
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Verwendete Eingangsdaten
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
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): newcomer_pr_acceptance. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
25/25Reichweite des Inhabers — 3.930 Follower von AdguardTeam
25/25Kontohistorie — 116 öffentliche Repos, Kontoalter ca. 11 Jahre
Verwendete Eingangsdaten
followers3.930
owner_typeOrganization
is_verified
owner_loginAdguardTeam
public_repos116
account_age_days4.372

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

72Gut · 19 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 4 Workflow(s)
24/24Tests vorhanden
16/16Linter-Konfiguration — .eslintrc.js
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — keine Daten
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_configja
has_precommit_confignein
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: CI-Tests. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
30/30README
0/25Dokumentationsverzeichnis
0/15Dokumentations-/Homepage-Site
10/10Repository-Beschreibung
10/10Topics — 1 Topics
10/10Wiki
Verwendete Eingangsdaten
topicsopen-source
has_wikija
homepage
has_readmeja
has_docs_dirnein
has_descriptionja

Sicherheit

Sind die sichtbaren Sicherheits- und Lieferkettenpraktiken belastbar, ohne ungeklärte Exposition gegenüber Hochrisikojurisdiktionen?

36Schwach · 16 % des Gesamtindex

Sicherheitslage

26Gefährdet
Wie die Bewertung erfolgt
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 — keine Daten
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.5Lizenz — 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 — keine Daten
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
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate2,6
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): ci_tests, packaging. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
10.6/35Direkte Abhängigkeiten ohne bekannte Advisories — 1 betroffen: axios 1.15.0 (high 8.7)
25/25Indirekte Abhängigkeiten ohne bekannte Advisories — keine indirekte Abhängigkeit trägt ein bekanntes Advisory
40/40Keine offenen Advisories — kein Advisory ist länger als 90 Tage öffentlich
Verwendete Eingangsdaten
sourceosv
advisories28
affected_packages1
assessed_packages29
unassessed_packages0
affected_by_severityhigh 1
direct_affected_packages1
Abgeglichen wurde die Laufzeit-Abhängigkeitshülle von npm:@adguard/filters-downloader@2.4.5 — das, was die Installation des veröffentlichten Pakets nach sich zieht — mit 29 Paketen. Erreichbarkeit wird nicht analysiert.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Trägt ein bewusst kleines Gewicht (4 %): Agenten-Tooling ist ein echtes Pflegesignal, doch ein Repository ohne jedes Signal kann weiterhin 100/100 erreichen.

74Gut · 4 % des Gesamtindex
Wie die Bewertung erfolgt
45/45Agentenanweisungen — AGENTS.md
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 91 von 99 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,919
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes8.115
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
11/11Lint-/Format-Konfiguration — .eslintrc.js
11/11Statische Typprüfung — tsconfig.json
10/10Reproduzierbare Umgebung — Dockerfile, lockfile
2/10Belegte Agentenpraxis — 1 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
0/8Automatisierte Wartung — keine automatisierten Abhängigkeits-Updates beobachtet
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfilespnpm-lock.yaml
has_dockerfileja
typed_languageja
bootstrap_files
has_devcontainernein
has_linter_configja
typecheck_configstsconfig.json
agent_commit_share0,01
toolchain_manifests
dependency_bot_commit_share0
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — TypeScript (statisch typisiert)
55/55Handhabbare Dateigrößen — 0/18 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageTypeScript
largest_source_bytes38.026
source_files_sampled18
oversized_source_files0

Eckdaten

18GitHub-Sterne
9Mitwirkende
17Commits, letzte 12 Monate
11Tage seit letztem Push
35Releases
2Bus-Faktor
1offene Issues
npmPaket-Ökosysteme

Warnungen zur Datenerhebung

  • 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

Weitere Details

Stern- und Fork-Verlauf 0 ★ / 3 ⇿
0Sterne
3Forks
30Releases

Wann jeder Stern und Fork hinzugefügt wurde, von GitHub erfasst und nach Tagen gruppiert. Das kumulierte Wachstum steht direkt über den täglichen Zugängen, aus denen es besteht, sodass beide gegeneinander lesbar sind: stetiger organischer Zuwachs sieht ganz anders aus als ein abrupter, kurzlebiger Ausschlag. Wo dieser Unterschied messbar ist, wird er als Wachstumsauthentizität ausgewiesen.

12233312019-042022-042025-05
Major 0Minor 3Patch 27

Jeder Punkt umfasst 6 Tage.

OpenSSF Scorecard 2.6 / 10
2.6Gesamtwert

Unabhängige, werkzeugneutrale Sicherheitsbewertung durch das quelloffene OpenSSF Scorecard. Jede Prüfung honoriert eine Sicherheits-Praxis, nicht das Werkzeug eines bestimmten Anbieters. Prüfungen, die Scorecard nicht ermitteln konnte, sind mit k. A. markiert und vom Sicherheitswert ausgeschlossen (nie als null gezählt).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
k. A.CI-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
k. A.Packagingpackaging 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
Direkte Abhängigkeiten 3
RegistryPaketVersionsvorgabeManifest
npm@adguard/diff-builder1.1.4package.json
npmaxios1.15.0package.json
npmcrypto-js4.2.0package.json
Alle Abhängigkeiten 683

Vollständig aufgelöster Abhängigkeitssatz aus dem GitHub-Abhängigkeitsgraphen: 3 direkte und 680 indirekte (transitive) Pakete. Die transitive Hülle ist vollständig, wenn das Repository eine Lockfile eincheckt.

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

Die Installation von npm:@adguard/filters-downloader@2.4.5 zieht 29 Pakete nach sich, direkt und transitiv: 1 tragen bekannte Advisories, davon 1 direkte Abhängigkeiten.

PaketVersionBeziehungSchweregradAdvisoriesBehoben in
axios1.15.0direkthoch281.18.0

Ein Advisory bedeutet, dass die im Abhängigkeitsgraphen erfasste Version in den betroffenen Bereich eines Advisories fällt. Erreichbarkeit wird nicht analysiert, und der Graph enthält Entwicklungs- und Test-Pins — ein Fund kann das Werkzeug betreffen und nicht die ausgelieferte Software.

JSON-Rohbericht maschinenlesbar
{
  "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"
}

Bewertungen sind Signale, keine Garantien. Sie spiegeln öffentlich sichtbare Praxis auf GitHub wider — kein Code-Audit und keine Sicherheitsgarantie.

Fehlende Daten werden ausgeschlossen und die Gewichte neu normiert, nie als null bewertet. Die Methodik ist versioniert und offen: Metriken v2.3.1, Schema v0.27.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistikennpm.