Öffentliches Register
Software-GesundheitsberichtSchema 0.31.0 · Metriken 2.5.0 · 2026-08-05 01:06 UTC

AstrBotDevs / AstrBot

AI Agent Assistant & development framework that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. ✨

Python · VueAGPL-3.0★ 38.588 Sterne⑂ 2.759 Forksseit Dez. 2022Auf GitHub ansehen ↗
ArtNetzwerkdienstKommandozeilenwerkzeugMCP-ServerChatbotBibliothekWeboberflächewie das ermittelt wird

AstrBotDevs/AstrBot erreicht einen Gesundheitsindex von 96 von 100 und liegt damit im Bereich Außergewöhnlich. Am stärksten schneidet es bei Vitality (96/100) ab, am schwächsten bei Security (62/100). Zuletzt heute aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

96
gesamt / 100
Außergewöhnlich

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.

96
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 83 wird auf der veröffentlichten Indexskala auf 96 kalibriert (Register-Kalibrierung 2026-08-02).

Eigentümerschaft

AstrBot AIOrganisation
520 Follower32 öffentliche Reposseit Feb. 2025

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

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
PyPIAstrBot4.27.1-161vor 2 Tagenagentastrbotchatbotim

Metriken nach Kategorie

Vitalität

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

96Außergewöhnlich · 21 % des Gesamtindex

Entwicklungsaktivität

100Außergewöhnlich
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 0 Tagen
36/36Commit-Rhythmus — 52/52 Wochen mit Commits
18/18Commit-Volumen — 2.173 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year2.173
human_commit_share0,97
days_since_last_push0
active_weeks_last_year52
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 100 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 2 Tagen
27/27Release-Rhythmus — ein Release etwa alle 4,2 Tage
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Verwendete Eingangsdaten
releases_count100
latest_release_tagv4.27.1
releases_from_tagsnein
days_since_latest_release2
mean_days_between_releases4,2

Community & Verbreitung

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

94Außergewöhnlich · 17 % des Gesamtindex

Popularität & Verbreitung

96Außergewöhnlich
Wie die Bewertung erfolgt
60/60Stars — 38.588 Stars
25/25Forks — 2.759 Forks
10.6/15Watcher — 81 Watcher
Verwendete Eingangsdaten
forks2.759
stars38.588
watchers81
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (AGPL-3.0)
18/18CONTRIBUTING-Leitfaden
13.5/13.5Verhaltenskodex
0/7.2Issue-Vorlage
6.3/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
readme_badges6
has_contributingja
has_issue_templatenein
has_code_of_conductja
readme_badge_servicesshields.io
has_pull_request_templateja

Nachhaltigkeit & Governance

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

64Mittel · 23 % des Gesamtindex
Wie die Bewertung erfolgt
9/54Bus-Faktor — 1 Beitragende decken die Hälfte aller Commits ab
6.4/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 72 % der Commits
13.5/13.5Breite der Beitragenden — 97 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 21 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor1
contributors_sampled97
top_contributor_share0,717
Wie die Bewertung erfolgt
35.3/42Issue-Lösungsquote — 84 % der Issues geschlossen
21.4/30PR-Annahme — 1.661/2.328 entschiedene PRs gemergt
6.5/13Newcomer PR acceptance — 3/6 PRs von Erstbeitragenden in 30 Tagen gemergt
3/15OpenSSF Scorecard: Code-Review — Found 8/30 approved changesets -- score normalized to 2
Verwendete Eingangsdaten
merged_prs1.661
open_issues1.009
closed_issues5.356
prs_merged_7d36
prs_decided_7d46
prs_merged_30d44
prs_decided_30d57
issue_closed_ratio0,841
closed_unmerged_prs667
first_time_authors_30d4
first_time_prs_merged_30d3
first_time_prs_decided_30d6
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
19.5/25Reichweite des Inhabers — 520 Follower von AstrBotDevs
14/25Kontohistorie — 32 öffentliche Repos, Kontoalter ca. 1 Jahre
Verwendete Eingangsdaten
followers520
owner_typeOrganization
is_verified
owner_loginAstrBotDevs
public_repos32
account_age_days545

Paketpflege

100Außergewöhnlich
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf pypi
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 2 Tagen
20/20Versionshistorie — 161 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagesAstrBot
ecosystemspypi
any_deprecatednein
min_days_since_publish2

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

96Außergewöhnlich · 19 % des Gesamtindex

Engineering-Praktiken

94Außergewöhnlich
Wie die Bewertung erfolgt
24/24CI-Workflows — 11 Workflow(s)
24/24Tests vorhanden
16/16Linter-Konfiguration
9.6/9.6Pre-Commit-Hooks
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 25 out of 25 merged PRs checked by a CI test -- score normalized to 10
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_configja
has_precommit_configja

Dokumentation

100Außergewöhnlich
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — https://astrbot.app
10/10Repository-Beschreibung
10/10Topics — 17 Topics
10/10Wiki
Verwendete Eingangsdaten
topicsai, chatbot, chatgpt, openai, qqbot, gpt, qq, agent, docker, llm, python, telegram, gemini, llama, mcp, discord, astrbot
has_wikija
homepagehttps://astrbot.app
has_readmeja
has_docs_dirja
has_descriptionja

Sicherheit

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

62Mittel · 16 % des Gesamtindex
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
4.5/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 25 out of 25 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
1.5/7.5Code-Review — Found 8/30 approved changesets -- score normalized to 2
2.5/2.5Contributors — project has 21 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
7.5/7.5Maintained — 30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
5/5SAST — SAST tool is run on all commits
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 — 218 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated18
scorecard_versionv5.5.0
checks_inconclusive0
scorecard_aggregate5,3

Abhängigkeits-Advisories

100Außergewöhnlich
Wie die Bewertung erfolgt
35/35Direkte Abhängigkeiten ohne bekannte Advisories — keine direkte Abhängigkeit trägt ein bekanntes Advisory
25/25Indirekte Abhängigkeiten ohne bekannte Advisories — keine indirekte Abhängigkeit trägt ein bekanntes Advisory
0/40Keine offenen Advisories — kein Advisory trägt ein Veröffentlichungsdatum
Verwendete Eingangsdaten
sourceosv
advisories0
affected_packages0
assessed_packages142
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Keine offenen Advisories. Die verbleibenden Gewichte wurden renormalisiert. Abgeglichen wurde die Laufzeit-Abhängigkeitshülle von pypi:AstrBot@4.27.1 — das, was die Installation des veröffentlichten Pakets nach sich zieht — mit 142 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.

88Exzellent · 4 % des Gesamtindex
Wie die Bewertung erfolgt
45/45Agentenanweisungen — .github/copilot-instructions.md, AGENTS.md
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 97 von 97 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share1
agent_instruction_files.github/copilot-instructions.md, AGENTS.md
agent_instruction_max_bytes6.502
Wie die Bewertung erfolgt
18/18Bootstrap mit einem Befehl — Makefile
22/22Automatisierte Tests
11/11Lint-/Format-Konfiguration
11/11Statische Typprüfung — dashboard/tsconfig.json, pyrightconfig.json
10/10Reproduzierbare Umgebung — Dockerfile, lockfile
8/10Belegte Agentenpraxis — 4 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
8/8Automatisierte Wartung — 3 der letzten 100 Commits sind automatisierte Abhängigkeits-Updates
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_languagenein
bootstrap_filesMakefile
has_devcontainernein
has_linter_configja
typecheck_configsdashboard/tsconfig.json, pyrightconfig.json
agent_commit_share0,04
toolchain_manifests
dependency_bot_commit_share0,03
Wie die Bewertung erfolgt
27/45Typprüfbarer Code — Python mit Typprüfungs-Konfiguration (dashboard/tsconfig.json, pyrightconfig.json)
53.6/55Handhabbare Dateigrößen — 19/744 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languagePython
largest_source_bytes1.267.458
source_files_sampled744
oversized_source_files19
Wie die Bewertung erfolgt
40/40API-Schema (OpenAPI/GraphQL/proto) — docs/public/openapi.json
20/20MCP-Server
40/40Lauffähige Beispiele — samples
Verwendete Eingangsdaten
example_dirssamples
has_mcp_signalja
api_schema_filesdocs/public/openapi.json

Eckdaten

38.588GitHub-Sterne
97Mitwirkende
2.173Commits, letzte 12 Monate
0Tage seit letztem Push
100Releases
1Bus-Faktor
1.009offene Issues
npm, PyPIPaket-Ökosysteme

Warnungen zur Datenerhebung

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • First-time contributor figures cover 12 of 25 authors (cap 12)

Weitere Details

Stern- und Fork-Verlauf 0 ★ / 2.759 ⇿
0Sterne
2.759Forks
42Releases

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.

Es wird nur die jüngste Historie angezeigt — dieses Repository überschreitet das Erfassungsfenster, sodass die früheste Historie nicht erfasst wird.

1.6001.8002.0002.2002.4002.6002.8002.759372026-032026-052026-08
Major 0Minor 4Patch 25
OpenSSF Scorecard 5.3 / 10
5.3Gesamtwert

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-08-05 01:05 UTC

10Binary-Artifactsno binaries found in the repo
6Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests25 out of 25 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
2Code-ReviewFound 8/30 approved changesets -- score normalized to 2
10Contributorsproject has 21 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
10SASTSAST tool is run on all commits
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
0Vulnerabilities218 existing vulnerabilities detected
Direkte Abhängigkeiten 96
RegistryPaketVersionsvorgabeManifest
npm@guolao/vue-monaco-editor^1.5.4dashboard/package.json
npm@hey-api/client-axios0.2.12dashboard/package.json
npm@lucide/vue^1.23.0dashboard/package.json
npm@tiptap/starter-kit2.1.7dashboard/package.json
npm@tiptap/vue-32.1.7dashboard/package.json
npmapexcharts3.42.0dashboard/package.json
npmaxios1.13.5dashboard/package.json
npmaxios-mock-adapter^1.22.0dashboard/package.json
npmchance1.1.11dashboard/package.json
npmdate-fns2.30.0dashboard/package.json
npmdompurify^3.3.2dashboard/package.json
npmevent-source-polyfill^1.0.31dashboard/package.json
npmhighlight.js11.11.1dashboard/package.json
npmkatex^0.16.27dashboard/package.json
npmlodash4.17.23dashboard/package.json
npmmarkdown-it^14.1.1dashboard/package.json
npmmarkstream-vue1.0.5-beta.0dashboard/package.json
npmmermaid^11.12.2dashboard/package.json
npmmonaco-editor^0.52.2dashboard/package.json
npmpinia2.1.6dashboard/package.json
npmpinyin-pro^3.26.0dashboard/package.json
npmqrcode^1.5.4dashboard/package.json
npmshiki^3.23.0dashboard/package.json
npmstream-markdown^0.0.16dashboard/package.json
npmvee-validate4.11.3dashboard/package.json
npmvite-plugin-vuetify2.1.3dashboard/package.json
npmvue3.3.4dashboard/package.json
npmvue-i18n^11.1.5dashboard/package.json
npmvue-router4.2.4dashboard/package.json
npmvue3-apexcharts1.4.4dashboard/package.json
npmvue3-print-nb0.1.4dashboard/package.json
npmvuetify3.7.11dashboard/package.json
npmyup1.2.0dashboard/package.json
PyPIaiocqhttp>=1.4.4pyproject.toml
PyPIaiodocker>=0.24.0pyproject.toml
PyPIaiohttp>=3.11.18pyproject.toml
PyPIaiosqlite>=0.21.0pyproject.toml
PyPIanthropic>=0.51.0pyproject.toml
PyPIapscheduler>=3.11.0pyproject.toml
PyPIcertifi>=2025.4.26pyproject.toml
PyPIchardet~=5.1.0pyproject.toml
PyPIloguru>=0.7.2pyproject.toml
PyPIcryptography>=44.0.3pyproject.toml
PyPIdashscope>=1.23.2pyproject.toml
PyPIdeprecated>=1.2.18pyproject.toml
PyPIdingtalk-stream>=0.22.1pyproject.toml
PyPIdocstring-parser>=0.16pyproject.toml
PyPIfaiss-cpu>=1.14.3pyproject.toml
PyPIfastapi>=0.124.0pyproject.toml
PyPIfilelock>=3.18.0pyproject.toml
PyPIgoogle-genai>=1.56.0pyproject.toml
PyPIhttpx>=0.28.1pyproject.toml
PyPIlark-oapi>=1.4.15pyproject.toml
PyPImcp>=1.8.0,<2pyproject.toml
PyPIopenai>=1.78.0pyproject.toml
PyPIormsgpack>=1.9.1pyproject.toml
PyPIopenpyxl>=3.1.5pyproject.toml
PyPIpandas>=2.2.0pyproject.toml
PyPIpillow>=11.2.1pyproject.toml
PyPIpip>=25.1.1pyproject.toml
PyPIpsutil>=5.8.0,<7.2.0pyproject.toml
PyPIpy-cord>=2.6.1pyproject.toml
PyPIpydantic>=2.12.5pyproject.toml
PyPIpydub>=0.25.1pyproject.toml
PyPIpyjwt>=2.10.1pyproject.toml
PyPIqrcode>=8.2pyproject.toml
PyPIquart>=0.20.0pyproject.toml
PyPIpython-telegram-bot>=22.6pyproject.toml
PyPIqq-botpy==1.2.1pyproject.toml
PyPIsilk-python>=0.2.6pyproject.toml
PyPIslack-sdk>=3.35.0pyproject.toml
PyPIsqlalchemy>=2.0.41pyproject.toml
PyPIsqlmodel>=0.0.24pyproject.toml
PyPItelegramify-markdown>=1.0.0pyproject.toml
PyPIwatchfiles>=1.0.5pyproject.toml
PyPIwebsockets>=15.0.1pyproject.toml
PyPIwechatpy>=1.8.18pyproject.toml
PyPIaudioop-ltspyproject.toml
PyPIclick>=8.2.1pyproject.toml
PyPIpypdf>=6.1.1pyproject.toml
PyPIaiofiles>=25.1.0pyproject.toml
PyPIrank-bm25>=0.2.2pyproject.toml
PyPIjieba>=0.42.1pyproject.toml
PyPImarkitdown-no-magika>=0.1.2pyproject.toml
PyPIxinference-clientpyproject.toml
PyPItenacity>=9.1.2pyproject.toml
PyPIshipyard-python-sdk>=0.2.4pyproject.toml
PyPIshipyard-neo-sdk>=0.2.0pyproject.toml
PyPIpython-socks>=2.8.0pyproject.toml
PyPIpysocks>=1.7.1pyproject.toml
PyPIpackaging>=24.2pyproject.toml
PyPIpython-ripgrep==0.0.8pyproject.toml
PyPIpython-docx>=1.2.0pyproject.toml
PyPIpyotp>=2.9.0pyproject.toml
PyPIreportlab>=5.0.0pyproject.toml
PyPIxlrd>=2.0.2pyproject.toml
Alle Abhängigkeiten 933

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

RegistryPaketVersionBeziehung
npm@guolao/vue-monaco-editor1.6.0direkt
npm@hey-api/client-axios0.2.12direkt
npm@lucide/vue1.23.0direkt
npm@tiptap/starter-kit2.1.7direkt
npm@tiptap/vue-32.1.7direkt
npmapexcharts3.42.0direkt
npmaxios1.13.5direkt
npmaxios-mock-adapter1.22.0direkt
npmchance1.1.11direkt
npmdate-fns2.30.0direkt
npmdompurify3.3.2direkt
npmevent-source-polyfill1.0.31direkt
npmhighlight.js11.11.1direkt
npmkatex0.16.28direkt
npmlodash4.17.23direkt
npmmarkdown-it14.1.1direkt
npmmarkstream-vue1.0.5-beta.0direkt
npmmermaid11.12.2direkt
npmmonaco-editor0.52.2direkt
npmpinia2.1.6direkt
npmpinyin-pro3.28.0direkt
npmqrcode1.5.4direkt
npmshiki2.5.0direkt
npmshiki3.23.0direkt
npmstream-markdown0.0.16direkt
npmvee-validate4.11.3direkt
npmvite-plugin-vuetify2.1.3direkt
npmvue3.3.4direkt
npmvue3.5.17direkt
npmvue-i18n11.2.8direkt
npmvue-router4.2.4direkt
npmvue3-apexcharts1.4.4direkt
npmvue3-print-nb0.1.4direkt
npmvuetify3.7.11direkt
npmyup1.2.0direkt
PyPIaiocqhttpdirekt
PyPIaiodockerdirekt
PyPIaiofilesdirekt
PyPIaiohttpdirekt
PyPIaiosqlitedirekt
PyPIanthropicdirekt
PyPIapschedulerdirekt
PyPIaudioop-ltsdirekt
PyPIcertifidirekt
PyPIchardetdirekt
PyPIclickdirekt
PyPIcryptographydirekt
PyPIdashscopedirekt
PyPIdeprecateddirekt
PyPIdingtalk-streamdirekt
PyPIdocstring-parserdirekt
PyPIfaiss-cpudirekt
PyPIfastapidirekt
PyPIfilelockdirekt
PyPIgoogle-genaidirekt
PyPIhttpxdirekt
PyPIjiebadirekt
PyPIlark-oapidirekt
PyPIlogurudirekt
PyPImarkitdown-no-magikadirekt
PyPImcpdirekt
PyPIopenaidirekt
PyPIopenpyxldirekt
PyPIormsgpackdirekt
PyPIpackagingdirekt
PyPIpandasdirekt
PyPIpillowdirekt
PyPIpipdirekt
PyPIpsutildirekt
PyPIpy-corddirekt
PyPIpydanticdirekt
PyPIpydubdirekt
PyPIpyjwtdirekt
PyPIpyotpdirekt
PyPIpypdfdirekt
PyPIpysocksdirekt
PyPIpython-docxdirekt
PyPIpython-ripgrep0.0.8direkt
PyPIpython-socksdirekt
PyPIpython-telegram-botdirekt
PyPIqq-botpy1.2.1direkt
PyPIqrcodedirekt
PyPIquartdirekt
PyPIrank-bm25direkt
PyPIreportlabdirekt
PyPIshipyard-neo-sdkdirekt
PyPIshipyard-python-sdkdirekt
PyPIsilk-pythondirekt
PyPIslack-sdkdirekt
PyPIsqlalchemydirekt
PyPIsqlmodeldirekt
PyPItelegramify-markdowndirekt
PyPItenacitydirekt
PyPIwatchfilesdirekt
PyPIwebsocketsdirekt
PyPIwechatpydirekt
PyPIxinference-clientdirekt
PyPIxlrddirekt
npm@algolia/autocomplete-core1.17.7indirekt
npm@algolia/autocomplete-plugin-algolia-insights1.17.7indirekt
npm@algolia/autocomplete-preset-algolia1.17.7indirekt
npm@algolia/autocomplete-shared1.17.7indirekt
npm@algolia/client-abtesting5.31.0indirekt
npm@algolia/client-analytics5.31.0indirekt
npm@algolia/client-common5.31.0indirekt
npm@algolia/client-insights5.31.0indirekt
npm@algolia/client-personalization5.31.0indirekt
npm@algolia/client-query-suggestions5.31.0indirekt
npm@algolia/client-search5.31.0indirekt
npm@algolia/ingestion1.31.0indirekt
npm@algolia/monitoring1.31.0indirekt
npm@algolia/recommend5.31.0indirekt
npm@algolia/requester-browser-xhr5.31.0indirekt
npm@algolia/requester-fetch5.31.0indirekt
npm@algolia/requester-node-http5.31.0indirekt
npm@antfu/install-pkg1.1.0indirekt
npm@apidevtools/json-schema-ref-parser11.7.3indirekt
npm@babel/helper-string-parser7.27.1indirekt
npm@babel/helper-validator-identifier7.27.1indirekt
npm@babel/helper-validator-identifier7.28.5indirekt
npm@babel/parser7.28.0indirekt
npm@babel/parser7.29.0indirekt
npm@babel/runtime7.28.6indirekt
npm@babel/types7.28.0indirekt
npm@babel/types7.29.0indirekt
npm@braintree/sanitize-url7.1.2indirekt
npm@cacheable/memory2.0.8indirekt
npm@cacheable/utils2.4.0indirekt
npm@chenglou/pretext0.0.5indirekt
npm@chevrotain/cst-dts-gen11.0.3indirekt
npm@chevrotain/gast11.0.3indirekt
npm@chevrotain/regexp-to-ast11.0.3indirekt
npm@chevrotain/types11.0.3indirekt
npm@chevrotain/utils11.0.3indirekt
npm@docsearch/css3.8.2indirekt
npm@docsearch/js3.8.2indirekt
npm@docsearch/react3.8.2indirekt
npm@esbuild/aix-ppc640.21.5indirekt
npm@esbuild/aix-ppc640.25.12indirekt
npm@esbuild/android-arm0.21.5indirekt
npm@esbuild/android-arm0.25.12indirekt
npm@esbuild/android-arm640.21.5indirekt
npm@esbuild/android-arm640.25.12indirekt
npm@esbuild/android-x640.21.5indirekt
npm@esbuild/android-x640.25.12indirekt
npm@esbuild/darwin-arm640.21.5indirekt
npm@esbuild/darwin-arm640.25.12indirekt
npm@esbuild/darwin-x640.21.5indirekt
npm@esbuild/darwin-x640.25.12indirekt
npm@esbuild/freebsd-arm640.21.5indirekt
npm@esbuild/freebsd-arm640.25.12indirekt
npm@esbuild/freebsd-x640.21.5indirekt
npm@esbuild/freebsd-x640.25.12indirekt
npm@esbuild/linux-arm0.21.5indirekt
npm@esbuild/linux-arm0.25.12indirekt
npm@esbuild/linux-arm640.21.5indirekt
npm@esbuild/linux-arm640.25.12indirekt
npm@esbuild/linux-ia320.21.5indirekt
npm@esbuild/linux-ia320.25.12indirekt
npm@esbuild/linux-loong640.21.5indirekt
npm@esbuild/linux-loong640.25.12indirekt
npm@esbuild/linux-mips64el0.21.5indirekt
npm@esbuild/linux-mips64el0.25.12indirekt
npm@esbuild/linux-ppc640.21.5indirekt
npm@esbuild/linux-ppc640.25.12indirekt
npm@esbuild/linux-riscv640.21.5indirekt
npm@esbuild/linux-riscv640.25.12indirekt
npm@esbuild/linux-s390x0.21.5indirekt
npm@esbuild/linux-s390x0.25.12indirekt
npm@esbuild/linux-x640.21.5indirekt
npm@esbuild/linux-x640.25.12indirekt
npm@esbuild/netbsd-arm640.25.12indirekt
npm@esbuild/netbsd-x640.21.5indirekt
npm@esbuild/netbsd-x640.25.12indirekt
npm@esbuild/openbsd-arm640.25.12indirekt
npm@esbuild/openbsd-x640.21.5indirekt
npm@esbuild/openbsd-x640.25.12indirekt
npm@esbuild/openharmony-arm640.25.12indirekt
npm@esbuild/sunos-x640.21.5indirekt
npm@esbuild/sunos-x640.25.12indirekt
npm@esbuild/win32-arm640.21.5indirekt
npm@esbuild/win32-arm640.25.12indirekt
npm@esbuild/win32-ia320.21.5indirekt
npm@esbuild/win32-ia320.25.12indirekt
npm@esbuild/win32-x640.21.5indirekt
npm@esbuild/win32-x640.25.12indirekt
npm@eslint-community/eslint-utils4.9.1indirekt
npm@eslint-community/regexpp4.12.2indirekt
npm@eslint/eslintrc2.1.4indirekt
npm@eslint/js8.48.0indirekt
npm@floating-ui/core1.7.5indirekt
npm@floating-ui/dom1.7.6indirekt
npm@floating-ui/utils0.2.11indirekt
npm@hey-api/openapi-ts0.60.0indirekt
npm@humanwhocodes/config-array0.11.14indirekt
npm@humanwhocodes/module-importer1.0.1indirekt
npm@humanwhocodes/object-schema2.0.3indirekt
npm@iconify-json/simple-icons1.2.42indirekt
npm@iconify/types2.0.0indirekt
npm@iconify/utils3.1.0indirekt
npm@intlify/core-base11.2.8indirekt
npm@intlify/message-compiler11.2.8indirekt
npm@intlify/shared11.2.8indirekt
npm@jridgewell/gen-mapping0.3.13indirekt
npm@jridgewell/resolve-uri3.1.2indirekt
npm@jridgewell/source-map0.3.11indirekt
npm@jridgewell/sourcemap-codec1.5.4indirekt
npm@jridgewell/sourcemap-codec1.5.5indirekt
npm@jridgewell/trace-mapping0.3.31indirekt
npm@jsdevtools/ono7.1.3indirekt
npm@keyv/bigmap1.3.1indirekt
npm@keyv/serialize1.1.1indirekt
npm@mdi/font7.2.96indirekt
npm@mermaid-js/parser0.6.3indirekt
npm@monaco-editor/loader1.7.0indirekt
npm@nodelib/fs.scandir2.1.5indirekt
npm@nodelib/fs.stat2.0.5indirekt
npm@nodelib/fs.walk1.2.8indirekt
npm@pkgr/core0.2.9indirekt
npm@popperjs/core2.11.8indirekt
npm@remirror/core-constants3.0.0indirekt
npm@rollup/rollup-android-arm-eabi4.44.2indirekt
npm@rollup/rollup-android-arm-eabi4.59.0indirekt
npm@rollup/rollup-android-arm644.44.2indirekt
npm@rollup/rollup-android-arm644.59.0indirekt
npm@rollup/rollup-darwin-arm644.44.2indirekt
npm@rollup/rollup-darwin-arm644.59.0indirekt
npm@rollup/rollup-darwin-x644.44.2indirekt
npm@rollup/rollup-darwin-x644.59.0indirekt
npm@rollup/rollup-freebsd-arm644.44.2indirekt
npm@rollup/rollup-freebsd-arm644.59.0indirekt
npm@rollup/rollup-freebsd-x644.44.2indirekt
npm@rollup/rollup-freebsd-x644.59.0indirekt
npm@rollup/rollup-linux-arm-gnueabihf4.44.2indirekt
npm@rollup/rollup-linux-arm-gnueabihf4.59.0indirekt
npm@rollup/rollup-linux-arm-musleabihf4.44.2indirekt
npm@rollup/rollup-linux-arm-musleabihf4.59.0indirekt
npm@rollup/rollup-linux-arm64-gnu4.44.2indirekt
npm@rollup/rollup-linux-arm64-gnu4.59.0indirekt
npm@rollup/rollup-linux-arm64-musl4.44.2indirekt
npm@rollup/rollup-linux-arm64-musl4.59.0indirekt
npm@rollup/rollup-linux-loong64-gnu4.59.0indirekt
npm@rollup/rollup-linux-loong64-musl4.59.0indirekt
npm@rollup/rollup-linux-loongarch64-gnu4.44.2indirekt
npm@rollup/rollup-linux-powerpc64le-gnu4.44.2indirekt
npm@rollup/rollup-linux-ppc64-gnu4.59.0indirekt
npm@rollup/rollup-linux-ppc64-musl4.59.0indirekt
npm@rollup/rollup-linux-riscv64-gnu4.44.2indirekt
npm@rollup/rollup-linux-riscv64-gnu4.59.0indirekt
npm@rollup/rollup-linux-riscv64-musl4.44.2indirekt
npm@rollup/rollup-linux-riscv64-musl4.59.0indirekt
npm@rollup/rollup-linux-s390x-gnu4.44.2indirekt
npm@rollup/rollup-linux-s390x-gnu4.59.0indirekt
npm@rollup/rollup-linux-x64-gnu4.44.2indirekt
npm@rollup/rollup-linux-x64-gnu4.59.0indirekt
npm@rollup/rollup-linux-x64-musl4.44.2indirekt
npm@rollup/rollup-linux-x64-musl4.59.0indirekt
npm@rollup/rollup-openbsd-x644.59.0indirekt
npm@rollup/rollup-openharmony-arm644.59.0indirekt
npm@rollup/rollup-win32-arm64-msvc4.44.2indirekt
npm@rollup/rollup-win32-arm64-msvc4.59.0indirekt
npm@rollup/rollup-win32-ia32-msvc4.44.2indirekt
npm@rollup/rollup-win32-ia32-msvc4.59.0indirekt
npm@rollup/rollup-win32-x64-gnu4.59.0indirekt
npm@rollup/rollup-win32-x64-msvc4.44.2indirekt
npm@rollup/rollup-win32-x64-msvc4.59.0indirekt
npm@rushstack/eslint-patch1.3.3indirekt
npm@shikijs/core2.5.0indirekt
npm@shikijs/core3.22.0indirekt
npm@shikijs/core3.23.0indirekt
npm@shikijs/engine-javascript2.5.0indirekt
npm@shikijs/engine-javascript3.23.0indirekt
npm@shikijs/engine-oniguruma2.5.0indirekt
npm@shikijs/engine-oniguruma3.23.0indirekt
npm@shikijs/langs2.5.0indirekt
npm@shikijs/langs3.23.0indirekt
npm@shikijs/themes2.5.0indirekt
npm@shikijs/themes3.23.0indirekt
npm@shikijs/transformers2.5.0indirekt
npm@shikijs/types2.5.0indirekt
npm@shikijs/types3.22.0indirekt
npm@shikijs/types3.23.0indirekt
npm@shikijs/vscode-textmate10.0.2indirekt
npm@tiptap/core2.27.2indirekt
npm@tiptap/extension-blockquote2.27.2indirekt
npm@tiptap/extension-bold2.27.2indirekt
npm@tiptap/extension-bubble-menu2.27.2indirekt
npm@tiptap/extension-bullet-list2.27.2indirekt
npm@tiptap/extension-code2.27.2indirekt
npm@tiptap/extension-code-block2.27.2indirekt
npm@tiptap/extension-document2.27.2indirekt
npm@tiptap/extension-dropcursor2.27.2indirekt
npm@tiptap/extension-floating-menu2.27.2indirekt
npm@tiptap/extension-gapcursor2.27.2indirekt
npm@tiptap/extension-hard-break2.27.2indirekt
npm@tiptap/extension-heading2.27.2indirekt
npm@tiptap/extension-history2.27.2indirekt
npm@tiptap/extension-horizontal-rule2.27.2indirekt
npm@tiptap/extension-italic2.27.2indirekt
npm@tiptap/extension-list-item2.27.2indirekt
npm@tiptap/extension-ordered-list2.27.2indirekt
npm@tiptap/extension-paragraph2.27.2indirekt
npm@tiptap/extension-strike2.27.2indirekt
npm@tiptap/extension-text2.27.2indirekt
npm@tiptap/pm2.27.2indirekt
npm@types/chance1.1.3indirekt
npm@types/d37.4.3indirekt
npm@types/d3-array3.2.2indirekt
npm@types/d3-axis3.0.6indirekt
npm@types/d3-brush3.0.6indirekt
npm@types/d3-chord3.0.6indirekt
npm@types/d3-color3.1.3indirekt
npm@types/d3-contour3.0.6indirekt
npm@types/d3-delaunay6.0.4indirekt
npm@types/d3-dispatch3.0.7indirekt
npm@types/d3-drag3.0.7indirekt
npm@types/d3-dsv3.0.7indirekt
npm@types/d3-ease3.0.2indirekt
npm@types/d3-fetch3.0.7indirekt
npm@types/d3-force3.0.10indirekt
npm@types/d3-format3.0.4indirekt
npm@types/d3-geo3.1.0indirekt
npm@types/d3-hierarchy3.1.7indirekt
npm@types/d3-interpolate3.0.4indirekt
npm@types/d3-path3.1.1indirekt
npm@types/d3-polygon3.0.2indirekt
npm@types/d3-quadtree3.0.6indirekt
npm@types/d3-random3.0.3indirekt
npm@types/d3-scale4.0.9indirekt
npm@types/d3-scale-chromatic3.1.0indirekt
npm@types/d3-selection3.0.11indirekt
npm@types/d3-shape3.1.8indirekt
npm@types/d3-time3.0.4indirekt
npm@types/d3-time-format4.0.3indirekt
npm@types/d3-timer3.0.2indirekt
npm@types/d3-transition3.0.9indirekt
npm@types/d3-zoom3.0.8indirekt
npm@types/dompurify3.2.0indirekt
npm@types/eslint9.6.1indirekt
npm@types/eslint-scope3.7.7indirekt
npm@types/estree1.0.8indirekt
npm@types/geojson7946.0.16indirekt
npm@types/hast3.0.4indirekt
npm@types/json-schema7.0.15indirekt
npm@types/linkify-it5.0.0indirekt
npm@types/markdown-it14.1.2indirekt
npm@types/mdast4.0.4indirekt
npm@types/mdurl2.0.0indirekt
npm@types/node20.19.32indirekt
npm@types/node20.19.37indirekt
npm@types/semver7.7.1indirekt
npm@types/trusted-types2.0.7indirekt
npm@types/unist3.0.3indirekt
npm@types/web-bluetooth0.0.21indirekt
npm@typescript-eslint/eslint-plugin5.62.0indirekt
npm@typescript-eslint/parser5.62.0indirekt
npm@typescript-eslint/scope-manager5.62.0indirekt
npm@typescript-eslint/type-utils5.62.0indirekt
npm@typescript-eslint/types5.62.0indirekt
npm@typescript-eslint/typescript-estree5.62.0indirekt
npm@typescript-eslint/utils5.62.0indirekt
npm@typescript-eslint/visitor-keys5.62.0indirekt
npm@ungap/structured-clone1.3.0indirekt
npm@vitejs/plugin-vue5.2.4indirekt
npm@volar/language-core1.10.10indirekt
npm@volar/source-map1.10.10indirekt
npm@volar/typescript1.10.10indirekt
npm@vue/compiler-core3.3.4indirekt
npm@vue/compiler-core3.5.17indirekt
npm@vue/compiler-core3.5.27indirekt
npm@vue/compiler-dom3.3.4indirekt
npm@vue/compiler-dom3.5.17indirekt
npm@vue/compiler-dom3.5.27indirekt
npm@vue/compiler-sfc3.3.4indirekt
npm@vue/compiler-sfc3.5.17indirekt
npm@vue/compiler-ssr3.3.4indirekt
npm@vue/compiler-ssr3.5.17indirekt
npm@vue/devtools-api6.6.4indirekt
npm@vue/devtools-api7.7.7indirekt
npm@vue/devtools-kit7.7.7indirekt
npm@vue/devtools-shared7.7.7indirekt
npm@vue/eslint-config-prettier8.0.0indirekt
npm@vue/eslint-config-typescript11.0.3indirekt
npm@vue/language-core1.8.8indirekt
npm@vue/reactivity3.3.4indirekt
npm@vue/reactivity3.5.17indirekt
npm@vue/reactivity3.5.27indirekt
npm@vue/reactivity-transform3.3.4indirekt
npm@vue/runtime-core3.3.4indirekt
npm@vue/runtime-core3.5.17indirekt
npm@vue/runtime-dom3.3.4indirekt
npm@vue/runtime-dom3.5.17indirekt
npm@vue/server-renderer3.3.4indirekt
npm@vue/server-renderer3.5.17indirekt
npm@vue/shared3.3.4indirekt
npm@vue/shared3.5.17indirekt
npm@vue/shared3.5.27indirekt
npm@vue/tsconfig0.4.0indirekt
npm@vue/typescript1.8.8indirekt
npm@vuetify/loader-shared1.7.1indirekt
npm@vuetify/loader-shared2.1.2indirekt
npm@vueuse/core12.8.2indirekt
npm@vueuse/integrations12.8.2indirekt
npm@vueuse/metadata12.8.2indirekt
npm@vueuse/shared12.8.2indirekt
npm@webassemblyjs/ast1.14.1indirekt
npm@webassemblyjs/floating-point-hex-parser1.13.2indirekt
npm@webassemblyjs/helper-api-error1.13.2indirekt
npm@webassemblyjs/helper-buffer1.14.1indirekt
npm@webassemblyjs/helper-numbers1.13.2indirekt
npm@webassemblyjs/helper-wasm-bytecode1.13.2indirekt
npm@webassemblyjs/helper-wasm-section1.14.1indirekt
npm@webassemblyjs/ieee7541.13.2indirekt
npm@webassemblyjs/leb1281.13.2indirekt
npm@webassemblyjs/utf81.13.2indirekt
npm@webassemblyjs/wasm-edit1.14.1indirekt
npm@webassemblyjs/wasm-gen1.14.1indirekt
npm@webassemblyjs/wasm-opt1.14.1indirekt
npm@webassemblyjs/wasm-parser1.14.1indirekt
npm@webassemblyjs/wast-printer1.14.1indirekt
npm@xtuc/ieee7541.2.0indirekt
npm@xtuc/long4.2.2indirekt
npm@yr/monotone-cubic-spline1.0.3indirekt
npmacorn8.15.0indirekt
npmacorn8.16.0indirekt
npmacorn-import-phases1.0.4indirekt
npmacorn-jsx5.3.2indirekt
npmajv6.12.6indirekt
npmajv8.18.0indirekt
npmajv-formats2.1.1indirekt
npmajv-keywords3.5.2indirekt
npmajv-keywords5.1.0indirekt
npmalgoliasearch5.31.0indirekt
npmansi-regex5.0.1indirekt
npmansi-styles4.3.0indirekt
npmanymatch3.1.3indirekt
npmargparse2.0.1indirekt
npmarray-union2.1.0indirekt
npmasynckit0.4.0indirekt
npmbalanced-match1.0.2indirekt
npmbaseline-browser-mapping2.10.0indirekt
npmbig.js5.2.2indirekt
npmbinary-extensions2.3.0indirekt
npmbirpc2.4.0indirekt
npmboolbase1.0.0indirekt
npmbrace-expansion1.1.12indirekt
npmbrace-expansion2.0.2indirekt
npmbraces3.0.3indirekt
npmbrowserslist4.28.1indirekt
npmbuffer-from1.1.2indirekt
npmc122.0.1indirekt
npmcacheable2.3.3indirekt
npmcall-bind-apply-helpers1.0.2indirekt
npmcallsite1.0.0indirekt
npmcallsites3.1.0indirekt
npmcamelcase5.3.1indirekt
npmcaniuse-lite1.0.30001778indirekt
npmccount2.0.1indirekt
npmchalk4.1.2indirekt
npmcharacter-entities-html42.1.0indirekt
npmcharacter-entities-legacy3.0.0indirekt
npmchevrotain11.0.3indirekt
npmchevrotain-allstar0.3.1indirekt
npmchokidar3.6.0indirekt
npmchokidar4.0.3indirekt
npmchownr2.0.0indirekt
npmchrome-trace-event1.0.4indirekt
npmcitty0.1.6indirekt
npmclean-css5.3.3indirekt
npmcliui6.0.0indirekt
npmcolor-convert2.0.1indirekt
npmcolor-name1.1.4indirekt
npmcombined-stream1.0.8indirekt
npmcomma-separated-tokens2.0.3indirekt
npmcommander12.1.0indirekt
npmcommander2.20.3indirekt
npmcommander7.2.0indirekt
npmcommander8.3.0indirekt
npmcommondir1.0.1indirekt
npmconcat-map0.0.1indirekt
npmconfbox0.1.8indirekt
npmconsola3.4.2indirekt
npmcopy-anything3.0.5indirekt
npmcose-base1.0.3indirekt
npmcose-base2.2.0indirekt
npmcrelt1.0.6indirekt
npmcross-spawn7.0.6indirekt
npmcssesc3.0.0indirekt
npmcsstype3.1.3indirekt
npmcsstype3.2.3indirekt
npmcytoscape3.33.1indirekt
npmcytoscape-cose-bilkent4.1.0indirekt
npmcytoscape-fcose2.2.0indirekt
npmd37.9.0indirekt
npmd3-array2.12.1indirekt
npmd3-array3.2.4indirekt
npmd3-axis3.0.0indirekt
npmd3-brush3.0.0indirekt
npmd3-chord3.0.1indirekt
npmd3-color3.1.0indirekt
npmd3-contour4.0.2indirekt
npmd3-delaunay6.0.4indirekt
npmd3-dispatch3.0.1indirekt
npmd3-drag3.0.0indirekt
npmd3-dsv3.0.1indirekt
npmd3-ease3.0.1indirekt
npmd3-fetch3.0.1indirekt
npmd3-force3.0.0indirekt
npmd3-format3.1.2indirekt
npmd3-geo3.1.1indirekt
npmd3-hierarchy3.1.2indirekt
npmd3-interpolate3.0.1indirekt
npmd3-path1.0.9indirekt
npmd3-path3.1.0indirekt
npmd3-polygon3.0.1indirekt
npmd3-quadtree3.0.1indirekt
npmd3-random3.0.1indirekt
npmd3-sankey0.12.3indirekt
npmd3-scale4.0.2indirekt
npmd3-scale-chromatic3.1.0indirekt
npmd3-selection3.0.0indirekt
npmd3-shape1.3.7indirekt
npmd3-shape3.2.0indirekt
npmd3-time3.1.0indirekt
npmd3-time-format4.1.0indirekt
npmd3-timer3.0.1indirekt
npmd3-transition3.0.1indirekt
npmd3-zoom3.0.0indirekt
npmdagre-d3-es7.0.13indirekt
npmdayjs1.11.19indirekt
npmde-indent1.0.2indirekt
npmdebug4.4.3indirekt
npmdecache4.6.2indirekt
npmdecamelize1.2.0indirekt
npmdeep-is0.1.4indirekt
npmdefu6.1.7indirekt
npmdelaunator5.0.1indirekt
npmdelayed-stream1.0.0indirekt
npmdequal2.0.3indirekt
npmdestr2.0.5indirekt
npmdevlop1.1.0indirekt
npmdijkstrajs1.0.3indirekt
npmdir-glob3.0.1indirekt
npmdoctrine3.0.0indirekt
npmdotenv16.6.1indirekt
npmdunder-proto1.0.1indirekt
npmelectron-to-chromium1.5.307indirekt
npmemoji-regex8.0.0indirekt
npmemoji-regex-xs1.0.0indirekt
npmemojis-list3.0.0indirekt
npmenhanced-resolve5.20.0indirekt
npmentities4.5.0indirekt
npmentities7.0.1indirekt
npmes-define-property1.0.1indirekt
npmes-errors1.3.0indirekt
npmes-module-lexer2.0.0indirekt
npmes-object-atoms1.1.1indirekt
npmes-set-tostringtag2.1.0indirekt
npmesbuild0.21.5indirekt
npmesbuild0.25.12indirekt
npmescalade3.2.0indirekt
npmescape-string-regexp4.0.0indirekt
npmeslint8.48.0indirekt
npmeslint-config-prettier8.10.2indirekt
npmeslint-plugin-prettier5.5.5indirekt
npmeslint-plugin-vue9.17.0indirekt
npmeslint-scope5.1.1indirekt
npmeslint-scope7.2.2indirekt
npmeslint-visitor-keys3.4.3indirekt
npmespree9.6.1indirekt
npmesquery1.7.0indirekt
npmesrecurse4.3.0indirekt
npmestraverse4.3.0indirekt
npmestraverse5.3.0indirekt
npmestree-walker2.0.2indirekt
npmesutils2.0.3indirekt
npmevents3.3.0indirekt
npmfast-deep-equal3.1.3indirekt
npmfast-diff1.3.0indirekt
npmfast-glob3.3.3indirekt
npmfast-json-stable-stringify2.1.0indirekt
npmfast-levenshtein2.0.6indirekt
npmfast-uri3.1.0indirekt
npmfastq1.20.1indirekt
npmfdir6.5.0indirekt
npmfile-entry-cache6.0.1indirekt
npmfile-loader6.2.0indirekt
npmfill-range7.1.1indirekt
npmfind-cache-dir3.3.2indirekt
npmfind-up4.1.0indirekt
npmfind-up5.0.0indirekt
npmflat-cache3.2.0indirekt
npmflat-cache6.1.20indirekt
npmflatted3.3.3indirekt
npmfocus-trap7.6.5indirekt
npmfollow-redirects1.15.11indirekt
npmfontverter2.0.0indirekt
npmform-data4.0.5indirekt
npmfs-minipass2.1.0indirekt
npmfs.realpath1.0.0indirekt
npmfsevents2.3.3indirekt
npmfunction-bind1.1.2indirekt
npmget-caller-file2.0.5indirekt
npmget-intrinsic1.3.0indirekt
npmget-proto1.0.1indirekt
npmgiget1.2.5indirekt
npmglob7.2.3indirekt
npmglob-parent5.1.2indirekt
npmglob-parent6.0.2indirekt
npmglob-to-regexp0.4.1indirekt
npmglobals13.24.0indirekt
npmglobby11.1.0indirekt
npmgopd1.2.0indirekt
npmgraceful-fs4.2.11indirekt
npmgraphemer1.4.0indirekt
npmhachure-fill0.5.2indirekt
npmhandlebars4.7.8indirekt
npmharfbuzzjs0.4.15indirekt
npmhas-flag4.0.0indirekt
npmhas-symbols1.1.0indirekt
npmhas-tostringtag1.0.2indirekt
npmhashery1.5.0indirekt
npmhasown2.0.2indirekt
npmhast-util-to-html9.0.5indirekt
npmhast-util-whitespace3.0.0indirekt
npmhe1.2.0indirekt
npmhookable5.5.3indirekt
npmhookified1.15.1indirekt
npmhtml-void-elements3.0.0indirekt
npmiconv-lite0.6.3indirekt
npmignore5.3.2indirekt
npmimmutable4.3.8indirekt
npmimport-fresh3.3.1indirekt
npmimurmurhash0.1.4indirekt
npminflight1.0.6indirekt
npminherits2.0.4indirekt
npminternmap1.0.1indirekt
npminternmap2.0.3indirekt
npminterpret1.4.0indirekt
npmis-binary-path2.1.0indirekt
npmis-buffer2.0.5indirekt
npmis-core-module2.16.1indirekt
npmis-extglob2.1.1indirekt
npmis-fullwidth-code-point3.0.0indirekt
npmis-glob4.0.3indirekt
npmis-number7.0.0indirekt
npmis-path-inside3.0.3indirekt
npmis-what4.1.16indirekt
npmisexe2.0.0indirekt
npmjest-worker27.5.1indirekt
npmjiti2.7.0indirekt
npmjs-yaml4.1.1indirekt
npmjson-buffer3.0.1indirekt
npmjson-parse-even-better-errors2.3.1indirekt
npmjson-schema-traverse0.4.1indirekt
npmjson-schema-traverse1.0.0indirekt
npmjson-stable-stringify-without-jsonify1.0.1indirekt
npmjson52.2.3indirekt
npmkeyv4.5.4indirekt
npmkeyv5.6.0indirekt
npmkhroma2.1.0indirekt
npmlangium3.3.1indirekt
npmlayout-base1.0.2indirekt
npmlayout-base2.0.1indirekt
npmlevn0.4.1indirekt
npmlinkify-it5.0.0indirekt
npmlinkify-it5.0.1indirekt
npmloader-runner4.3.1indirekt
npmloader-utils2.0.4indirekt
npmlocate-path5.0.0indirekt
npmlocate-path6.0.0indirekt
npmlodash-es4.17.23indirekt
npmlodash.merge4.6.2indirekt
npmmagic-string0.30.17indirekt
npmmagic-string0.30.21indirekt
npmmake-dir3.1.0indirekt
npmmark.js8.11.1indirekt
npmmarkdown-it-container4.0.0indirekt
npmmarkdown-it-footnote4.0.0indirekt
npmmarkdown-it-ins4.0.0indirekt
npmmarkdown-it-mark4.0.0indirekt
npmmarkdown-it-sub2.0.0indirekt
npmmarkdown-it-sup2.0.0indirekt
npmmarkdown-it-task-checkbox1.0.6indirekt
npmmarkdown-it-ts1.0.2indirekt
npmmarked16.4.2indirekt
npmmarkstream-core1.0.3indirekt
npmmath-intrinsics1.1.0indirekt
npmmdast-util-to-hast13.2.0indirekt
npmmdast-util-to-hast13.2.1indirekt
npmmdurl2.0.0indirekt
npmmerge-stream2.0.0indirekt
npmmerge21.4.1indirekt
npmmicromark-util-character2.1.1indirekt
npmmicromark-util-encode2.0.1indirekt
npmmicromark-util-sanitize-uri2.0.1indirekt
npmmicromark-util-symbol2.0.1indirekt
npmmicromark-util-types2.0.2indirekt
npmmicromatch4.0.8indirekt
npmmime-db1.52.0indirekt
npmmime-types2.1.35indirekt
npmminimatch3.1.2indirekt
npmminimatch9.0.5indirekt
npmminimist1.2.8indirekt
npmminipass3.3.6indirekt
npmminipass5.0.0indirekt
npmminisearch7.1.2indirekt
npmminizlib2.1.2indirekt
npmmitt3.0.1indirekt
npmmkdirp1.0.4indirekt
npmmlly1.8.0indirekt
npmms2.1.3indirekt
npmmuggle-string0.3.1indirekt
npmnanoid3.3.11indirekt
npmnatural-compare1.4.0indirekt
npmnatural-compare-lite1.4.0indirekt
npmneo-async2.6.2indirekt
npmnode-fetch-native1.6.7indirekt
npmnode-releases2.0.36indirekt
npmnormalize-path3.0.0indirekt
npmnth-check2.1.1indirekt
npmnull-loader4.0.1indirekt
npmnypm0.5.4indirekt
npmohash1.1.6indirekt
npmonce1.4.0indirekt
npmoniguruma-parser0.12.1indirekt
npmoniguruma-to-es3.1.1indirekt
npmoniguruma-to-es4.3.4indirekt
npmoptionator0.9.4indirekt
npmorderedmap2.1.1indirekt
npmp-limit2.3.0indirekt
npmp-limit3.1.0indirekt
npmp-locate4.1.0indirekt
npmp-locate5.0.0indirekt
npmp-try2.2.0indirekt
npmpackage-manager-detector1.6.0indirekt
npmpako1.0.11indirekt
npmparent-module1.0.1indirekt
npmpath-browserify1.0.1indirekt
npmpath-data-parser0.1.0indirekt
npmpath-exists4.0.0indirekt
npmpath-is-absolute1.0.1indirekt
npmpath-key3.1.1indirekt
npmpath-parse1.0.7indirekt
npmpath-type4.0.0indirekt
npmpathe1.1.2indirekt
npmpathe2.0.3indirekt
npmperfect-debounce1.0.0indirekt
npmpicocolors1.1.1indirekt
npmpicomatch2.3.1indirekt
npmpicomatch4.0.3indirekt
npmpkg-dir4.2.0indirekt
npmpkg-types1.3.1indirekt
npmpngjs5.0.0indirekt
npmpoints-on-curve0.2.0indirekt
npmpoints-on-path0.2.1indirekt
npmpostcss8.5.6indirekt
npmpostcss-selector-parser6.1.2indirekt
npmpreact10.26.9indirekt
npmprelude-ls1.2.1indirekt
npmprettier3.0.2indirekt
npmprettier-linter-helpers1.0.1indirekt
npmproperty-expr2.0.6indirekt
npmproperty-information7.1.0indirekt
npmprosemirror-changeset2.4.0indirekt
npmprosemirror-collab1.3.1indirekt
npmprosemirror-commands1.7.1indirekt
npmprosemirror-dropcursor1.8.2indirekt
npmprosemirror-gapcursor1.4.1indirekt
npmprosemirror-history1.5.0indirekt
npmprosemirror-inputrules1.5.1indirekt
npmprosemirror-keymap1.2.3indirekt
npmprosemirror-markdown1.13.4indirekt
npmprosemirror-menu1.3.0indirekt
npmprosemirror-model1.25.4indirekt
npmprosemirror-schema-basic1.2.4indirekt
npmprosemirror-schema-list1.5.1indirekt
npmprosemirror-state1.4.4indirekt
npmprosemirror-tables1.8.5indirekt
npmprosemirror-trailing-node3.0.0indirekt
npmprosemirror-transform1.11.0indirekt
npmprosemirror-view1.41.6indirekt
npmproxy-from-env1.1.0indirekt
npmpunycode2.3.1indirekt
npmpunycode.js2.3.1indirekt
npmqified0.6.0indirekt
npmquerystring0.2.1indirekt
npmqueue-microtask1.2.3indirekt
npmrc92.1.2indirekt
npmreaddirp3.6.0indirekt
npmreaddirp4.1.2indirekt
npmrechoir0.6.2indirekt
npmregex6.0.1indirekt
npmregex6.1.0indirekt
npmregex-recursion6.0.2indirekt
npmregex-utilities2.3.0indirekt
npmrequire-directory2.1.1indirekt
npmrequire-from-string2.0.2indirekt
npmrequire-main-filename2.0.0indirekt
npmresolve1.22.11indirekt
npmresolve-from4.0.0indirekt
npmreusify1.1.0indirekt
npmrfdc1.4.1indirekt
npmrimraf3.0.2indirekt
npmrobust-predicates3.0.2indirekt
npmrollup4.44.2indirekt
npmrollup4.59.0indirekt
npmrope-sequence1.3.4indirekt
npmroughjs4.6.6indirekt
npmrun-parallel1.2.0indirekt
npmrw1.3.3indirekt
npmsafer-buffer2.1.2indirekt
npmsass1.66.1indirekt
npmsass-loader13.3.2indirekt
npmschema-utils3.3.0indirekt
npmschema-utils4.3.3indirekt
npmsearch-insights2.17.3indirekt
npmsemver6.3.1indirekt
npmsemver7.7.4indirekt
npmset-blocking2.0.0indirekt
npmshebang-command2.0.0indirekt
npmshebang-regex3.0.0indirekt
npmshelljs0.8.5indirekt
npmshiki-stream0.1.4indirekt
npmslash3.0.0indirekt
npmsource-map0.6.1indirekt
npmsource-map-js1.2.1indirekt
npmsource-map-support0.5.21indirekt
npmspace-separated-tokens2.0.2indirekt
npmspeakingurl14.0.1indirekt
npmstate-local1.0.7indirekt
npmstream-markdown-parser1.0.8indirekt
npmstring-width4.2.3indirekt
npmstringify-entities4.0.4indirekt
npmstrip-ansi6.0.1indirekt
npmstrip-json-comments3.1.1indirekt
npmstylis4.3.6indirekt
npmsubset-font2.4.0indirekt
npmsuperjson2.2.2indirekt
npmsupports-color7.2.0indirekt
npmsupports-color8.1.1indirekt
npmsupports-preserve-symlinks-flag1.0.0indirekt
npmsvg.draggable.js2.2.2indirekt
npmsvg.easing.js2.0.0indirekt
npmsvg.filter.js2.0.2indirekt
npmsvg.js2.7.1indirekt
npmsvg.pathmorphing.js0.1.3indirekt
npmsvg.resize.js1.4.3indirekt
npmsvg.select.js2.1.2indirekt
npmsvg.select.js3.0.1indirekt
npmsynckit0.11.12indirekt
npmtabbable6.2.0indirekt
npmtapable2.3.0indirekt
npmtar6.2.1indirekt
npmterser5.46.0indirekt
npmterser-webpack-plugin5.4.0indirekt
npmtext-table0.2.0indirekt
npmtiny-case1.0.3indirekt
npmtinyexec0.3.2indirekt
npmtinyexec1.0.2indirekt
npmtinyglobby0.2.15indirekt
npmtippy.js6.3.7indirekt
npmto-regex-range5.0.1indirekt
npmtoposort2.0.2indirekt
npmtrim-lines3.0.1indirekt
npmts-dedent2.2.0indirekt
npmtslib1.14.1indirekt
npmtsutils3.21.0indirekt
npmtype-check0.4.0indirekt
npmtype-fest0.20.2indirekt
npmtype-fest2.19.0indirekt
npmtype-fest4.41.0indirekt
npmtypescript5.1.6indirekt
npmuc.micro2.1.0indirekt
npmufo1.6.3indirekt
npmuglify-js3.19.3indirekt
npmundici-types6.21.0indirekt
npmunist-util-is6.0.0indirekt
npmunist-util-is6.0.1indirekt
npmunist-util-position5.0.0indirekt
npmunist-util-stringify-position4.0.0indirekt
npmunist-util-visit5.0.0indirekt
npmunist-util-visit5.1.0indirekt
npmunist-util-visit-parents6.0.1indirekt
npmunist-util-visit-parents6.0.2indirekt
npmupath2.0.1indirekt
npmupdate-browserslist-db1.2.3indirekt
npmuri-js4.4.1indirekt
npmutil-deprecate1.0.2indirekt
npmuuid11.1.0indirekt
npmvfile6.0.3indirekt
npmvfile-message4.0.2indirekt
npmvfile-message4.0.3indirekt
npmvite5.4.19indirekt
npmvite6.4.1indirekt
npmvite-plugin-webfont-dl3.12.0indirekt
npmvitepress1.6.4indirekt
npmvscode-jsonrpc8.2.0indirekt
npmvscode-languageserver9.0.1indirekt
npmvscode-languageserver-protocol3.17.5indirekt
npmvscode-languageserver-textdocument1.0.12indirekt
npmvscode-languageserver-types3.17.5indirekt
npmvscode-uri3.0.8indirekt
npmvue-cli-plugin-vuetify2.5.8indirekt
npmvue-demi0.14.10indirekt
npmvue-eslint-parser9.4.3indirekt
npmvue-template-compiler2.7.16indirekt
npmvue-tsc1.8.8indirekt
npmvuetify-loader2.0.0-alpha.9indirekt
npmw3c-keyname2.2.8indirekt
npmwatchpack2.5.1indirekt
npmwawoff22.0.1indirekt
npmwebpack5.105.0indirekt
npmwebpack-sources3.3.4indirekt
npmwhich2.0.2indirekt
npmwhich-module2.0.1indirekt
npmwoff2sfnt-sfnt2woff1.0.0indirekt
npmword-wrap1.2.5indirekt
npmwordwrap1.0.0indirekt
npmwrap-ansi6.2.0indirekt
npmwrappy1.0.2indirekt
npmxml-name-validator4.0.0indirekt
npmy18n4.0.3indirekt
npmyallist4.0.0indirekt
npmyargs15.4.1indirekt
npmyargs-parser18.1.3indirekt
npmyocto-queue0.1.0indirekt
npmzwitch2.0.4indirekt
PyPIcommitizenindirekt
PyPIpytestindirekt
PyPIpytest-asyncioindirekt
PyPIpytest-covindirekt
PyPIruff0.15.22indirekt
Abhängigkeits-Advisories 0

Die Installation von pypi:AstrBot@4.27.1 zieht 142 Pakete nach sich, direkt und transitiv: 0 tragen bekannte Advisories, davon 0 direkte Abhängigkeiten.

Keine bekannten Advisories betreffen die bewerteten Abhängigkeiten.

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": {
    "icon": {
      "bytes": 5428,
      "width": 256,
      "height": 256,
      "rejected": [
        {
          "url": "https://astrbot.app/vite.svg",
          "reason": "served HTML, not an image",
          "source_type": "homepage"
        },
        {
          "url": "https://astrbot.app/favicon.ico",
          "reason": "served HTML, not an image",
          "source_type": "homepage"
        },
        {
          "url": "https://github.com/user-attachments/assets/36fb04e4-cc75-4454-bd8b-049d11aa86f9",
          "reason": "not square enough (1520x470)",
          "source_type": "readme"
        },
        {
          "url": "https://trendshift.io/api/badge/repositories/21369",
          "reason": "dimensions undeclared",
          "source_type": "readme"
        },
        {
          "url": "https://api.hellogithub.com/v1/widgets/recommend.svg?rid=d127d50cd5e54c5382328acc3bb25483&claim_uid=ZO9by7qCXgSd6Lp&t=2",
          "reason": "not square enough (250x54)",
          "source_type": "readme"
        },
        {
          "url": "https://deepwiki.com/badge.svg",
          "reason": "too small (109x20)",
          "source_type": "readme"
        },
        {
          "url": "https://gitcode.com/Soulter/AstrBot/star/badge.svg",
          "reason": "too small (132x20)",
          "source_type": "readme"
        }
      ],
      "collected": true,
      "media_type": "image/png",
      "source_url": "https://avatars.githubusercontent.com/u/197911947?v=4&s=256",
      "source_type": "avatar",
      "content_hash": "77d2eafb93edb495b89d70a54b44370ca4bc1aad15fa2ae83e4f5bd04774ae5f",
      "candidates_considered": 8
    },
    "repo": {
      "topics": [
        "ai",
        "chatbot",
        "chatgpt",
        "openai",
        "qqbot",
        "gpt",
        "qq",
        "agent",
        "docker",
        "llm",
        "python",
        "telegram",
        "gemini",
        "llama",
        "mcp",
        "discord",
        "astrbot"
      ],
      "is_fork": false,
      "size_kb": 69642,
      "has_wiki": true,
      "homepage": "https://astrbot.app",
      "languages": {
        "CSS": 26144,
        "Vue": 2090745,
        "HTML": 27618,
        "SCSS": 18783,
        "Shell": 15779,
        "Python": 6962835,
        "Makefile": 1751,
        "Dockerfile": 871,
        "JavaScript": 168051,
        "TypeScript": 526601
      },
      "pushed_at": "2026-08-04T07:17:40Z",
      "created_at": "2022-12-08T13:27:46Z",
      "owner_type": "Organization",
      "updated_at": "2026-08-05T01:00:53Z",
      "description": "AI Agent Assistant & development framework that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. ✨",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "AGPL-3.0",
      "default_branch": "master",
      "license_spdx_raw": "AGPL-3.0",
      "primary_language": "Python",
      "significant_languages": [
        "Python",
        "Vue"
      ]
    },
    "owner": {
      "blog": "https://astrbot.app",
      "name": "AstrBot AI",
      "type": "Organization",
      "login": "AstrBotDevs",
      "company": null,
      "location": "China",
      "followers": 520,
      "avatar_url": "https://avatars.githubusercontent.com/u/197911947?v=4",
      "created_at": "2025-02-05T12:01:23Z",
      "is_verified": null,
      "public_repos": 32,
      "account_age_days": 545
    },
    "license": {
      "state": "standard",
      "spdx_id": "AGPL-3.0",
      "raw_spdx": "AGPL-3.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v4.27.1",
          "kind": "patch",
          "published_at": "2026-08-02T16:04:03Z"
        },
        {
          "tag": "v4.27.0",
          "kind": "minor",
          "published_at": "2026-08-02T09:55:56Z"
        },
        {
          "tag": "v4.26.8",
          "kind": "patch",
          "published_at": "2026-07-28T16:02:49Z"
        },
        {
          "tag": "v4.26.7",
          "kind": "patch",
          "published_at": "2026-07-18T12:34:44Z"
        },
        {
          "tag": "v4.26.6",
          "kind": "patch",
          "published_at": "2026-07-14T01:38:35Z"
        },
        {
          "tag": "v4.26.5",
          "kind": "patch",
          "published_at": "2026-07-07T01:57:44Z"
        },
        {
          "tag": "v4.26.4",
          "kind": "patch",
          "published_at": "2026-07-02T16:54:48Z"
        },
        {
          "tag": "v4.26.3",
          "kind": "patch",
          "published_at": "2026-06-30T12:16:52Z"
        },
        {
          "tag": "v4.26.2",
          "kind": "patch",
          "published_at": "2026-06-27T09:53:04Z"
        },
        {
          "tag": "v4.26.1",
          "kind": "patch",
          "published_at": "2026-06-25T15:14:48Z"
        },
        {
          "tag": "v4.26.0",
          "kind": "minor",
          "published_at": "2026-06-24T15:47:14Z"
        },
        {
          "tag": "v4.25.6",
          "kind": "patch",
          "published_at": "2026-06-21T09:40:08Z"
        },
        {
          "tag": "v4.25.6-rc.3",
          "kind": "prerelease",
          "published_at": "2026-06-21T09:22:59Z"
        },
        {
          "tag": "v4.25.6-rc.2",
          "kind": "prerelease",
          "published_at": "2026-06-21T09:04:47Z"
        },
        {
          "tag": "v4.25.6-rc.1",
          "kind": "prerelease",
          "published_at": "2026-06-21T08:43:42Z"
        },
        {
          "tag": "v4.26.0-beta.12",
          "kind": "prerelease",
          "published_at": "2026-06-21T06:15:38Z"
        },
        {
          "tag": "v4.26.0-beta.11",
          "kind": "prerelease",
          "published_at": "2026-06-20T14:36:35Z"
        },
        {
          "tag": "v4.26.0-beta.10",
          "kind": "prerelease",
          "published_at": "2026-06-19T16:10:44Z"
        },
        {
          "tag": "v4.26.0-beta.9",
          "kind": "prerelease",
          "published_at": "2026-06-19T09:51:10Z"
        },
        {
          "tag": "v4.26.0-beta.8",
          "kind": "prerelease",
          "published_at": "2026-06-17T16:17:16Z"
        },
        {
          "tag": "v4.26.0-beta.4",
          "kind": "prerelease",
          "published_at": "2026-06-17T03:16:43Z"
        },
        {
          "tag": "v4.26.0-beta.3",
          "kind": "prerelease",
          "published_at": "2026-06-16T11:16:27Z"
        },
        {
          "tag": "v4.26.0-beta.2",
          "kind": "prerelease",
          "published_at": "2026-06-16T04:46:07Z"
        },
        {
          "tag": "v4.26.0-beta.1",
          "kind": "prerelease",
          "published_at": "2026-06-15T05:32:21Z"
        },
        {
          "tag": "v4.25.5",
          "kind": "patch",
          "published_at": "2026-06-07T17:26:28Z"
        },
        {
          "tag": "v4.25.4",
          "kind": "patch",
          "published_at": "2026-06-07T04:38:36Z"
        },
        {
          "tag": "v4.25.3",
          "kind": "patch",
          "published_at": "2026-06-05T16:55:15Z"
        },
        {
          "tag": "v4.25.2",
          "kind": "patch",
          "published_at": "2026-05-30T12:14:13Z"
        },
        {
          "tag": "v4.25.1",
          "kind": "patch",
          "published_at": "2026-05-17T07:05:17Z"
        },
        {
          "tag": "v4.25.0",
          "kind": "minor",
          "published_at": "2026-05-15T17:42:11Z"
        },
        {
          "tag": "v4.24.5",
          "kind": "patch",
          "published_at": "2026-05-13T17:19:52Z"
        },
        {
          "tag": "v4.24.4",
          "kind": "patch",
          "published_at": "2026-05-12T17:49:35Z"
        },
        {
          "tag": "v4.24.2",
          "kind": "patch",
          "published_at": "2026-05-03T16:24:58Z"
        },
        {
          "tag": "v4.24.1",
          "kind": "patch",
          "published_at": "2026-05-03T15:03:19Z"
        },
        {
          "tag": "v4.23.6",
          "kind": "patch",
          "published_at": "2026-04-27T05:09:15Z"
        },
        {
          "tag": "v4.23.5",
          "kind": "patch",
          "published_at": "2026-04-23T14:40:18Z"
        },
        {
          "tag": "v4.23.2",
          "kind": "patch",
          "published_at": "2026-04-19T09:52:51Z"
        },
        {
          "tag": "v4.23.1",
          "kind": "patch",
          "published_at": "2026-04-13T15:42:34Z"
        },
        {
          "tag": "v4.23.0",
          "kind": "minor",
          "published_at": "2026-04-12T16:38:40Z"
        },
        {
          "tag": "v4.23.0-beta.1",
          "kind": "prerelease",
          "published_at": "2026-04-11T13:54:04Z"
        },
        {
          "tag": "v4.22.3",
          "kind": "patch",
          "published_at": "2026-04-04T17:52:53Z"
        },
        {
          "tag": "v4.22.2",
          "kind": "patch",
          "published_at": "2026-03-28T16:35:09Z"
        },
        {
          "tag": "v4.22.1",
          "kind": "patch",
          "published_at": "2026-03-25T16:05:50Z"
        },
        {
          "tag": "v4.22.0",
          "kind": "minor",
          "published_at": "2026-03-22T09:36:24Z"
        },
        {
          "tag": "v4.21.0",
          "kind": "minor",
          "published_at": "2026-03-21T18:03:01Z"
        },
        {
          "tag": "v4.20.1",
          "kind": "patch",
          "published_at": "2026-03-16T16:38:20Z"
        },
        {
          "tag": "v4.20.0",
          "kind": "minor",
          "published_at": "2026-03-12T16:36:05Z"
        },
        {
          "tag": "v4.19.5",
          "kind": "patch",
          "published_at": "2026-03-10T16:19:27Z"
        },
        {
          "tag": "v4.19.4",
          "kind": "patch",
          "published_at": "2026-03-09T03:16:07Z"
        },
        {
          "tag": "v4.19.3",
          "kind": "patch",
          "published_at": "2026-03-08T16:22:52Z"
        },
        {
          "tag": "v4.19.2",
          "kind": "patch",
          "published_at": "2026-03-05T08:12:32Z"
        },
        {
          "tag": "v4.18.3",
          "kind": "patch",
          "published_at": "2026-02-26T11:14:24Z"
        },
        {
          "tag": "v4.18.2",
          "kind": "patch",
          "published_at": "2026-02-24T14:50:53Z"
        },
        {
          "tag": "v4.18.1",
          "kind": "patch",
          "published_at": "2026-02-22T08:46:05Z"
        },
        {
          "tag": "v4.18.0",
          "kind": "minor",
          "published_at": "2026-02-21T16:19:54Z"
        },
        {
          "tag": "v4.17.6",
          "kind": "patch",
          "published_at": "2026-02-20T10:42:59Z"
        },
        {
          "tag": "v4.17.5",
          "kind": "patch",
          "published_at": "2026-02-18T14:37:31Z"
        },
        {
          "tag": "v4.17.4",
          "kind": "patch",
          "published_at": "2026-02-17T13:53:40Z"
        },
        {
          "tag": "v4.17.3",
          "kind": "patch",
          "published_at": "2026-02-17T07:08:17Z"
        },
        {
          "tag": "v4.17.2",
          "kind": "patch",
          "published_at": "2026-02-16T19:04:51Z"
        },
        {
          "tag": "v4.17.1",
          "kind": "patch",
          "published_at": "2026-02-15T16:18:24Z"
        },
        {
          "tag": "v4.17.0",
          "kind": "minor",
          "published_at": "2026-02-15T14:25:10Z"
        },
        {
          "tag": "v4.16.0",
          "kind": "minor",
          "published_at": "2026-02-12T15:34:33Z"
        },
        {
          "tag": "v4.15.0",
          "kind": "minor",
          "published_at": "2026-02-10T15:54:15Z"
        },
        {
          "tag": "v4.14.8",
          "kind": "patch",
          "published_at": "2026-02-08T17:25:30Z"
        },
        {
          "tag": "v4.14.7",
          "kind": "patch",
          "published_at": "2026-02-08T15:23:12Z"
        },
        {
          "tag": "v4.14.6",
          "kind": "patch",
          "published_at": "2026-02-07T15:51:03Z"
        },
        {
          "tag": "v4.14.5",
          "kind": "patch",
          "published_at": "2026-02-06T16:57:47Z"
        },
        {
          "tag": "v4.14.4",
          "kind": "patch",
          "published_at": "2026-02-04T15:26:10Z"
        },
        {
          "tag": "v4.14.3",
          "kind": "patch",
          "published_at": "2026-02-04T12:33:37Z"
        },
        {
          "tag": "v4.14.2",
          "kind": "patch",
          "published_at": "2026-02-04T09:45:18Z"
        },
        {
          "tag": "v4.14.1",
          "kind": "patch",
          "published_at": "2026-02-03T15:41:34Z"
        },
        {
          "tag": "v4.14.0",
          "kind": "minor",
          "published_at": "2026-02-03T14:15:53Z"
        },
        {
          "tag": "v4.13.2",
          "kind": "patch",
          "published_at": "2026-01-31T16:42:40Z"
        },
        {
          "tag": "v4.13.1",
          "kind": "patch",
          "published_at": "2026-01-29T15:35:06Z"
        },
        {
          "tag": "v4.13.0",
          "kind": "minor",
          "published_at": "2026-01-28T16:57:24Z"
        },
        {
          "tag": "v4.12.4",
          "kind": "patch",
          "published_at": "2026-01-24T06:57:58Z"
        },
        {
          "tag": "v4.12.3",
          "kind": "patch",
          "published_at": "2026-01-17T11:13:45Z"
        },
        {
          "tag": "v4.12.2",
          "kind": "patch",
          "published_at": "2026-01-17T10:14:35Z"
        },
        {
          "tag": "v4.12.1",
          "kind": "patch",
          "published_at": "2026-01-15T14:21:14Z"
        },
        {
          "tag": "v4.12.0",
          "kind": "minor",
          "published_at": "2026-01-15T11:56:17Z"
        },
        {
          "tag": "v4.11.4",
          "kind": "patch",
          "published_at": "2026-01-12T12:45:10Z"
        },
        {
          "tag": "v4.11.3",
          "kind": "patch",
          "published_at": "2026-01-12T11:38:08Z"
        },
        {
          "tag": "v4.11.2",
          "kind": "patch",
          "published_at": "2026-01-08T07:36:19Z"
        },
        {
          "tag": "v4.11.1",
          "kind": "patch",
          "published_at": "2026-01-05T12:24:41Z"
        },
        {
          "tag": "v4.11.0",
          "kind": "minor",
          "published_at": "2026-01-05T10:07:42Z"
        },
        {
          "tag": "v4.10.6",
          "kind": "patch",
          "published_at": "2026-01-02T04:17:41Z"
        },
        {
          "tag": "v4.10.5",
          "kind": "patch",
          "published_at": "2025-12-31T10:01:14Z"
        },
        {
          "tag": "v4.10.4",
          "kind": "patch",
          "published_at": "2025-12-31T04:53:03Z"
        },
        {
          "tag": "v4.10.3",
          "kind": "patch",
          "published_at": "2025-12-26T14:42:34Z"
        },
        {
          "tag": "v4.10.2",
          "kind": "patch",
          "published_at": "2025-12-24T13:58:09Z"
        },
        {
          "tag": "v4.10.1",
          "kind": "patch",
          "published_at": "2025-12-23T13:38:08Z"
        },
        {
          "tag": "v4.10.0",
          "kind": "minor",
          "published_at": "2025-12-22T10:13:14Z"
        },
        {
          "tag": "v4.10.0-alpha.2",
          "kind": "prerelease",
          "published_at": "2025-12-21T05:13:56Z"
        },
        {
          "tag": "v4.10.0-alpha.1",
          "kind": "prerelease",
          "published_at": "2025-12-20T09:04:18Z"
        },
        {
          "tag": "v4.9.2",
          "kind": "patch",
          "published_at": "2025-12-15T09:01:36Z"
        },
        {
          "tag": "v4.9.1",
          "kind": "patch",
          "published_at": "2025-12-15T08:09:27Z"
        },
        {
          "tag": "v4.9.0",
          "kind": "minor",
          "published_at": "2025-12-13T10:51:10Z"
        },
        {
          "tag": "v4.8.0",
          "kind": "minor",
          "published_at": "2025-12-05T11:11:57Z"
        },
        {
          "tag": "v4.7.4",
          "kind": "patch",
          "published_at": "2025-12-01T10:43:49Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "bb9b1878474e5ed65667d5c2c6b7fd6efbc51db4",
          "body": null,
          "is_bot": false,
          "headline": "fix: remove invalid file types (#9544)",
          "author_name": "QingFeng",
          "author_login": "QingFeng-awa",
          "committed_at": "2026-08-04T07:17:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03a6edb29e7e742fb97d5926949c03c3214a31e5",
          "body": "* chore: refactor issue template\n\n* chore: Remove invalid `<br>`\n\n* chore: allow uploading archive files for issue reproduction",
          "is_bot": false,
          "headline": "chore: refactor issue template (#9536)",
          "author_name": "QingFeng",
          "author_login": "QingFeng-awa",
          "committed_at": "2026-08-04T03:26:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68eab0f3db14bcc1ef41d8d68d7145ced39fd0a4",
          "body": "Bumps the github-actions group with 3 updates: [github/codeql-action](https://github.com/github/codeql-action), [docker/login-action](https://github.com/docker/login-action) and [actions/stale](https://github.com/actions/stale).\n\n\nUpdates `github/codeql-action` from 4 to 4.37.4\n- [Release notes](htt\n[…]\nsion-update:semver-major\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the github-actions group with 3 updates (#9532)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-08-04T03:22:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "adce0e59cd53b3d7f95052b629763b64da586bda",
          "body": null,
          "is_bot": false,
          "headline": "fix: use current favicon on login page (#9537)",
          "author_name": "Wei Chengqian",
          "author_login": "wcqqq1214",
          "committed_at": "2026-08-04T03:22:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "253d1ab5b214e3700463438af2a1cf2cbe94fbd4",
          "body": "Remove the custom capability source chip and refine welcome card styling.",
          "is_bot": false,
          "headline": "fix(dashboard): refine capability and welcome styling (#9541)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-04T02:55:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e63474c1368a8456ce7ab306eea1d5930aa29e4",
          "body": null,
          "is_bot": false,
          "headline": "test: isolate API key admin configuration (#9539)",
          "author_name": "Ruochen Pan",
          "author_login": "RC-CHN",
          "committed_at": "2026-08-04T01:51:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "573367b7f36662f9948ba4e39ca2758bf7f5a424",
          "body": "* fix: accept bearer token for backup downloads\n\n* fix: parse backup bearer scheme case-insensitively",
          "is_bot": false,
          "headline": "fix: accept bearer token for backup downloads (#9525)",
          "author_name": "Ruochen Pan",
          "author_login": "RC-CHN",
          "committed_at": "2026-08-03T07:12:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba7b315749081d0b0eea070a9f8642d04d880b3b",
          "body": "* test: support latest OpenAI usage schema\n\n* chore: bump version to 4.27.1",
          "is_bot": false,
          "headline": "chore: bump version to 4.27.1 (#9520)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T16:01:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c19f34bd48313309bd23af731a2351c4c948a3a",
          "body": "* feat: add builtin skill creator\n\n* feat: add builtin PDF skill\n\n* feat: add builtin office skills\n\n* fix: align closed capability status labels",
          "is_bot": false,
          "headline": "feat: add built-in skill creator and document skills (#9517)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T15:38:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20c294fcaf0ed5adf7aacb5609ea879a2305545a",
          "body": "* feat: add stateless Responses API provider\n\n* Potential fix for pull request finding 'CodeQL / Incomplete URL substring sanitization'\n\nCo-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>\n\n* fix: use versioned DeepSeek Responses API base URL\n\n* style: format Responses API provider\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat: add stateless Responses API provider (#9515)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T15:15:50Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e4cf9b16817162b5b2918646c665f1a823da5dd3",
          "body": null,
          "is_bot": false,
          "headline": "fix: correct dark theme capability chip colors",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T15:13:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c68a2ea83bc92a056c82d1009c305bb3a22d7d4c",
          "body": null,
          "is_bot": false,
          "headline": "feat: add yes option to init command (#9514)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T14:52:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9bb294d8ccf07dba176280233cc23f80d13e8901",
          "body": "* chore: bump version to 4.27.0\n\n* docs: add built-in skills to 4.27.0 changelog\n\n* docs: add v4.27.0 release epigraph",
          "is_bot": false,
          "headline": "chore: bump version to 4.27.0 (#9509)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T09:53:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f9e22b0f5fb3d4abcca5f07dba80fabb3a79f4c",
          "body": "* perf: improve knowledge base score fusion\n\n* perf: diversify knowledge base source documents",
          "is_bot": false,
          "headline": "perf: improve knowledge base retrieval quality (#9455)",
          "author_name": "lxfight",
          "author_login": "lxfight",
          "committed_at": "2026-08-02T09:28:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2be0b20541dffca00131ce5e8b0fc59c8c78da82",
          "body": null,
          "is_bot": false,
          "headline": "fix: defer cleanup of outbound audio files (#9506)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T08:07:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "053cc0eea5e364bcf7c5f00721b3a25ed3daf0dc",
          "body": "* fix: compact completed shell command results\n\n* fix: return plain text for completed shell commands\n\n* chore: keep shell tool description concise\n\n* feat: include completed shell command wall time\n\n* fix: label completed shell command output",
          "is_bot": false,
          "headline": "fix: simplify completed shell command output (#9507)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T07:53:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07baa388476030c64bf828655617e5b736e4aae6",
          "body": null,
          "is_bot": false,
          "headline": "refactor: move project composer to bottom",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T07:36:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4851b5050dea01ff420a49c485ec67d7ff1ef99f",
          "body": null,
          "is_bot": false,
          "headline": "refactor: reduce path token usage (#9505)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T07:23:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80ccac1c80f442538e164f76951a4dc107e2b7a1",
          "body": null,
          "is_bot": false,
          "headline": "fix: 修复工具图片缓存目录清理后无法保存 (#9490)",
          "author_name": "氕氙",
          "author_login": "piexian",
          "committed_at": "2026-08-02T06:39:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "17333b4a41674cc286e146a1cad1a332a94a6fec",
          "body": null,
          "is_bot": false,
          "headline": "feat: update project chat input placeholder",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T06:14:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "258f8538a237a64b5035e9856123f936b2b6f71b",
          "body": "Remove the unused one-hour tool image cleanup path and rely on the global temporary directory cleaner.",
          "is_bot": false,
          "headline": "refactor: remove unused tool image cleanup (#9504)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T06:02:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a5f8ad408f1e40a878210dd06498d9a4c990f8bc",
          "body": "* fix: resolve double scrollbar in plugin config dialog\n\n* refactor: drop redundant wrapper div in plugin config dialog",
          "is_bot": false,
          "headline": "fix: resolve double scrollbar in plugin config dialog (#9491)",
          "author_name": "Rain-0x01_",
          "author_login": "Rain-0x01-39",
          "committed_at": "2026-08-02T05:44:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02c49de79b2edeb803101c6082fc13ffae7433fd",
          "body": "* fix: persist terminal tool history\n\n* fix: persist terminal tool token usage\n\n* test: cover checkpoint terminal tool results",
          "is_bot": false,
          "headline": "fix: persist terminal tool history and token usage (#9500)",
          "author_name": "xiaoxuan010",
          "author_login": "xiaoxuan010",
          "committed_at": "2026-08-02T05:44:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cfe64247421af56df09d2b5186b46350b50ead4d",
          "body": null,
          "is_bot": false,
          "headline": "fix: harden API key scope boundaries (#9503)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T05:19:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49095d3ba3fca9272a67aa5eeab2f6c0719c5091",
          "body": null,
          "is_bot": false,
          "headline": "fix: support line writes for managed shell sessions (#9501)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-02T03:11:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0283f923312dd011599e41b0772566589e51ba7a",
          "body": null,
          "is_bot": false,
          "headline": "feat: refine skill card layout",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-01T14:42:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f63ce5beeab0fe44c2725a99c7b0f4525cb47ff",
          "body": "* feat: unify extension and persona management\n\n* fix: align persona page header actions",
          "is_bot": false,
          "headline": "feat: unify extension and persona management (#9499)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-01T14:17:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e88d5711a25964775e3378e95e8df40164447105",
          "body": null,
          "is_bot": false,
          "headline": "fix: improve ChatUI composer behavior (#9496)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-01T11:43:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21f41c239888d91f03faa4439c4a6456fb1d8e7a",
          "body": null,
          "is_bot": false,
          "headline": "refactor: simplify updater architecture (#9493)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-01T10:05:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8609037072e265e2fabba335486ca572d57cad92",
          "body": null,
          "is_bot": false,
          "headline": "docs: add QQ groups 15 and 16",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-08-01T05:44:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76bcb1dee7ddd2e991991ef3ed4e1d11a8cd1cc1",
          "body": null,
          "is_bot": false,
          "headline": "fix: isolate local shell sessions by sender (#9479)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-31T05:09:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8162d84376e617c72121d36984ec0ee5aa19700c",
          "body": "* fix(qqofficial): prevent leading char loss in streaming buffer\n\nCopy stream deltas into an owned buffer instead of holding references\nto yielded MessageChain/Plain objects. Upstream reuse/mutation dropped\nthe first character(s) on group (and C2C) streaming accumulation.\n\nAdd regression tests cover\n[…]\nfix(qqofficial): harden stream delta copy for review feedback\n\n- deepcopy non-Plain components to avoid shared-reference mutation\n- preserve Plain.text as-is instead of coercing falsy values with or \"",
          "is_bot": false,
          "headline": "fix(qqofficial): prevent leading char loss in streaming buffer (#9444)",
          "author_name": "王纯纯",
          "author_login": "OWWZO",
          "committed_at": "2026-07-31T04:40:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "894ea532b081ee0338b0fb7ae587d1bbc0cc166a",
          "body": "* fix: make knowledge base rank fusion deterministic\n\n* fix: surface vllm rerank response failures",
          "is_bot": false,
          "headline": "fix: correct knowledge base ranking behavior (#9454)",
          "author_name": "lxfight",
          "author_login": "lxfight",
          "committed_at": "2026-07-31T04:31:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "877847c193911d282f4876df43ac381754bccc41",
          "body": "* perf: enrich knowledge base document embeddings\n\n* perf: preserve knowledge base heading paths\n\n* test: cover embedding content validation",
          "is_bot": false,
          "headline": "perf: enrich knowledge base embeddings with document context (#9457)",
          "author_name": "lxfight",
          "author_login": "lxfight",
          "committed_at": "2026-07-31T04:27:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd3305d24b98e4229a49e630030654e3c2d27638",
          "body": "* fix: localize future task times\n\n* fix: narrow timezone lookup exception handling",
          "is_bot": false,
          "headline": "fix: localize future task times (#9462)",
          "author_name": "Wei Chengqian",
          "author_login": "wcqqq1214",
          "committed_at": "2026-07-31T04:26:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "809517311a63b38a9a5a4d6f299ae2139841442e",
          "body": null,
          "is_bot": false,
          "headline": "feat: use PowerShell for Windows local shell (#9471)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-30T15:40:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d749d6fd41189ec002f3a24a61ea6fda479b582a",
          "body": null,
          "is_bot": false,
          "headline": "feat: add managed local shell sessions (#9470)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-30T15:05:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea1a80ab7f658bf14877507a2e0871e1eabb4e95",
          "body": "…ol_calls_model (#9469)\n\nThe method name was misspelled since its introduction in #3234\n('to_calls' instead of 'tool_calls'); the correctly spelled name has\nnever existed in the codebase.\n\n- Rename the method to to_openai_tool_calls_model\n- Keep the old name as a @deprecated alias for backward compa\n[…]\n (ProviderResult/LLMResponse is part of the plugin-facing API surface)\n- Update the only internal caller (tool_loop_agent_runner.py)\n- Point the to_openai_tool_calls deprecation reason at the new name",
          "is_bot": false,
          "headline": "refactor: rename LLMResponse.to_openai_to_calls_model to to_openai_to…",
          "author_name": "Ruochen Pan",
          "author_login": "RC-CHN",
          "committed_at": "2026-07-30T14:36:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d8d8a7ad511b6fb18bd25797697c96c776f58c60",
          "body": "…(#9468)\n\n* refactor: formalize deprecation markings with @deprecated decorators\n\nAdd @deprecated decorators (from the `deprecated` package, following\nthe existing BaseDatabase precedent) to callables that were previously\nmarked as deprecated only in comments or docstrings:\n\n- SharedPreferences sync\n[…]\nhe ProviderResult.to_openai_tool_calls reason was checked and\nleft unchanged -- to_openai_to_calls_model is the actual method name\n(entities.py:424, used by tool_loop_agent_runner.py:953), not a typo.",
          "is_bot": false,
          "headline": "refactor: formalize deprecation markings with @deprecated decorators …",
          "author_name": "Ruochen Pan",
          "author_login": "RC-CHN",
          "committed_at": "2026-07-30T14:18:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e80e01c77693355cf7ef42a607ea89e9093b9b2b",
          "body": "…res (#9465)\n\n* feat: implement group message history persistence and retrieval features\n\n* feat: update group message history configuration and documentation",
          "is_bot": false,
          "headline": "feat: implement group message history persistence and retrieval featu…",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-30T10:58:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc81f2991d72ce6c458a420f8213e027bcb61df7",
          "body": null,
          "is_bot": false,
          "headline": "fix: preserve streaming response tail (#9439)",
          "author_name": "Wei Chengqian",
          "author_login": "wcqqq1214",
          "committed_at": "2026-07-29T15:29:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d149894978c3783c02bdd6248b794f77a370af03",
          "body": null,
          "is_bot": false,
          "headline": "fix: lazily import BM25 dependency (#9435)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-29T08:08:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "60c9e68d50dc9b9ed58503f21a0b77a8d0bd2159",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump version to 4.26.8 (#9421)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-28T15:57:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73ecc394deb2f6fc37fd41a82f5bb247e4781b13",
          "body": "* feat: add ChatUI workspace file browser\n\n* fix: harden workspace path validation\n\n* fix: validate workspace download boundary\n\n* fix: resolve workspace files from directory entries",
          "is_bot": false,
          "headline": "feat: add ChatUI workspace file browser (#9432)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-28T15:53:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0cb91f7a6110074b61927a077b92ed66a195e27",
          "body": "…in rank fusion to avoid distorted ordering across independent FTS5 indexes (#9426)",
          "is_bot": false,
          "headline": "fix: preserve per-knowledge-base sparse retrieval ranks and use them …",
          "author_name": "chinatsu1124",
          "author_login": "chinatsu1124",
          "committed_at": "2026-07-28T13:54:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9790e3ea6b799c6d5437baf4b194de96bc29801",
          "body": "…xy is configured to prevent local API requests from being intercepted (#8897)\n\ncloses #8871\n\n---------\n\nCo-authored-by: Soulter <905617992@qq.com>",
          "is_bot": false,
          "headline": "fix(proxy): ensure AstrBot ignores system proxy variables when no pro…",
          "author_name": "NayukiChiba",
          "author_login": "NayukiChiba",
          "committed_at": "2026-07-28T13:52:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad22c676b6d7eef3ab823af6ba7de053f7f3dce0",
          "body": "…(#9137)\n\n* feat: add DashScope embedding provider with multimodal model support\n\n* fix: use per-call base_address, handle empty input and invalid dimensions",
          "is_bot": false,
          "headline": "feat: add DashScope embedding provider with multimodal model support …",
          "author_name": "Fiber",
          "author_login": "leafliber",
          "committed_at": "2026-07-28T13:37:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b29f6f730274713b91e0acf988cda4c57c617c9",
          "body": "…r chat entries from the console view (#9165)\n\n* feat: 为平台日志增加剔除用户对话功能\n\n* Update astrbot/core/log.py\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>\n\n* Update astrbot/core/log.py\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat: add categorization to platform logs and a UI toggle to hide use…",
          "author_name": "M1LKT",
          "author_login": "M1LKT",
          "committed_at": "2026-07-28T13:29:59Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "2b90b9467dbd61392213e20524d46e28ebabc13c",
          "body": null,
          "is_bot": false,
          "headline": "fix: update MiMo TTS default model (#9428)",
          "author_name": "Wei Chengqian",
          "author_login": "wcqqq1214",
          "committed_at": "2026-07-28T13:21:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "868c3f137eac18f68cca8fbea3574d8c32fc1b97",
          "body": "…(#9226)\n\n* fix: 优化对话列表加载与请求竞态\n\n- 对话列表改为摘要查询,避免读取和传输完整聊天历史,同时保持详情、导出及插件默认行为兼容\n- 统一筛选、排除和稳定分页逻辑,补充 SQLite 索引并保留全文搜索能力\n- 使用组件级请求编号和取消控制阻止迟到响应覆盖最新状态,修复删除、筛选防抖与分页竞态\n- 增加摘要查询、索引、API 响应和参数清洗回归测试\n\n* fix: 保持摘要历史为合法 JSON\n\n- 摘要查询未加载历史时返回空 JSON 数组字符串\n- 增加管理器摘要结果可解析性的回归测试\n\n* fix: 避免重复显示列表错误\n\n- 仅在保留旧列表数据时显示顶部错误横\n[…]\nt compatibility\n\n* refactor: align conversation history option naming\n\n---------\n\nCo-authored-by: C₂₂H₂₅NO₆ <Sisyphbaous-DT-Project@users.noreply.github.com>\nCo-authored-by: Soulter <905617992@qq.com>",
          "is_bot": false,
          "headline": "fix: improve conversation list performance and prevent stale updates …",
          "author_name": "C₂₂H₂₅NO₆",
          "author_login": "Sisyphbaous-DT-Project",
          "committed_at": "2026-07-28T08:44:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9c9d6095b8525320b7a2d10f35d3d2afe92eb64b",
          "body": "* docs: update plugin publish\n\n* docs: update plugin publish example\n\n* docs: update plugin publish",
          "is_bot": false,
          "headline": "docs: update plugin publish (#9415)",
          "author_name": "XTsat",
          "author_login": "XTsat",
          "committed_at": "2026-07-28T02:16:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ca4c099e2f7f90fa12150549d84bd5f79585b12",
          "body": "…ation (#9411)",
          "is_bot": false,
          "headline": "fix: correct double-escaped regex in Discord slash command name valid…",
          "author_name": "Wei Chengqian",
          "author_login": "wcqqq1214",
          "committed_at": "2026-07-28T02:06:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f9aa74789f3afa94a36fbbe606edd23666182a5",
          "body": null,
          "is_bot": false,
          "headline": "fix(provider): align Bailian rerank protocol with endpoint (#9413)",
          "author_name": "Stevenqin",
          "author_login": "StevenQinDev",
          "committed_at": "2026-07-28T01:58:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80f3fd6de576cbb6918ff66f94fd8a33b8dd3e92",
          "body": "…e sync state to ensure persistent jobs are always loaded, even when the scheduler is started early (#9419)\n\n* fix: sync persistent cron jobs after early scheduler start\n\n* fix: resync cron jobs after manager shutdown",
          "is_bot": false,
          "headline": "fix(cron): decouple the cron scheduler running state from the databas…",
          "author_name": "gomico",
          "author_login": "gomico",
          "committed_at": "2026-07-28T01:53:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ff715f1f2a96889c3ef8644405a1f150ddedd0c",
          "body": "…9402)\n\nBasic retry sent an empty provider, so the backend fell back to the stale persisted provider. Fall back to the current UI selection, matching send behavior.\n\nCloses #9400",
          "is_bot": false,
          "headline": "fix: use current provider selection when regenerating chat message (#…",
          "author_name": "Wei Chengqian",
          "author_login": "wcqqq1214",
          "committed_at": "2026-07-28T01:36:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9848c07721800645eb4e9e02b5256ad56e48b2f0",
          "body": null,
          "is_bot": false,
          "headline": "Update default.py (#9414)",
          "author_name": "lingyun14",
          "author_login": "lingyun14beta",
          "committed_at": "2026-07-28T01:35:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8def35f326aecfec9050e22f670b9a92142bdb42",
          "body": "…416)\n\nBumps the github-actions group with 1 update: [docker/login-action](https://github.com/docker/login-action).\n\n\nUpdates `docker/login-action` from 4.4.0 to 4.5.1\n- [Release notes](https://github.com/docker/login-action/releases)\n- [Commits](https://github.com/docker/login-action/compare/v4.4.0\n[…]\nsion-update:semver-minor\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump docker/login-action in the github-actions group (#9…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-28T01:32:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2b21a6f635e4fa93be8bcc5d86775069b966f414",
          "body": "… prevent process crash (#9148)\n\n* fix: guard C extension reload in _prefer_module_from_site_packages to prevent process crash\n\n* test: add _has_loaded_c_extension regression tests (10 scenarios)",
          "is_bot": false,
          "headline": "fix: guard C extension reload in _prefer_module_from_site_packages to…",
          "author_name": "伊尔弥亚 - Irmia",
          "author_login": "irmia2026",
          "committed_at": "2026-07-27T06:56:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1fcfffcc60c0b4a3a0a9fad4324af7f0e9f668cc",
          "body": null,
          "is_bot": false,
          "headline": "fix(webui): prevent local plugin upload from hanging (#9406)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-26T12:53:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e3497e6b49f39d62e6105a8beb9df6131435b1e",
          "body": "… (#9382)\n\n* fix: resolve double scrollbar in conversation detail dialog (#9361)\n\n* fix: resolve double scrollbar in console page (#9361)",
          "is_bot": false,
          "headline": "fix: resolve double scrollbar in conversation detail and console page…",
          "author_name": "Rain-0x01_",
          "author_login": "Rain-0x01-39",
          "committed_at": "2026-07-26T08:53:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e36e161abb23a206fc29c8dd796f8c3205e2b900",
          "body": "* fix: handle nested OpenAI completion choices (#9374)\n\n* fix: preserve nested OpenAI completion metadata (#9374)\n\n* Update openai_source.py\n\n---------\n\nCo-authored-by: Soulter <37870767+Soulter@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: handle nested OpenAI completion choices (#9386)",
          "author_name": "Wei Chengqian",
          "author_login": "wcqqq1214",
          "committed_at": "2026-07-26T08:53:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44b0db48eb4d98e143161ca1fcc75f9d0d1d921b",
          "body": "* fix: return correct WebChat image MIME types\n\nCo-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>\n\n* fix: centralize WebChat image MIME mapping\n\nCo-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>\n\n---------\n\nCo-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: return correct WebChat image MIME types (#9319)",
          "author_name": "VectorPeak",
          "author_login": "VectorPeak",
          "committed_at": "2026-07-26T08:50:28Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e732e9564e909b987ec52a045245a0907f9cbcce",
          "body": "* docs: add Windows Docker Desktop deployment guide\n\n* docs: improve Windows Docker Desktop deployment guide\n\n- Change default image to official registry (soulter/astrbot:latest)\n- Move DaoCloud mirror to TIP section\n- Update PowerShell code block language tag to powershell\n- Synchronize Chinese and English versions\n\n* docs: fix incorrect docker run commands in Windows Docker Desktop examples",
          "is_bot": false,
          "headline": "docs: add Windows Docker Desktop deployment guide (#9339)",
          "author_name": "VIOLET",
          "author_login": "PersonalViolet",
          "committed_at": "2026-07-26T08:28:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f1b6997ea27b517915e3763d9058367841d1e2b",
          "body": "* Add files via upload\n\n* Add files via upload",
          "is_bot": false,
          "headline": "fix: add model config for FishAudio TTS provider (#9381)",
          "author_name": "月凌",
          "author_login": "qiyueling2716",
          "committed_at": "2026-07-26T08:26:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e68ee76743d9fb1856ad088577bbf6b81610a11",
          "body": "* fix: drop trailing separator from message outline\n\n`_outline_chain` appended a space after every component, so the outline\nalways ended with a stray separator: a chain of `Hello` and `world`\nproduced `\"Hello world \"` instead of `\"Hello world\"`.\n\nJoin the parts with a space instead of appending one\n[…]\nd used by the follow-up stage, which already\ncalled `.strip()` on it.\n\nCloses #9112\n\n* Update test_astr_message_event.py\n\n---------\n\nCo-authored-by: Soulter <37870767+Soulter@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: drop trailing separator from message outline (#9390)",
          "author_name": "shentry",
          "author_login": "shentry",
          "committed_at": "2026-07-26T08:23:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7c2a2e9d8779363096c7d7680f1520eee4d2d608",
          "body": "…) (#9394)",
          "is_bot": false,
          "headline": "fix: respect zero values for forward parser depth/fetch limits (#9236…",
          "author_name": "Foolllll",
          "author_login": "Foolllll-J",
          "committed_at": "2026-07-26T08:21:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1ae378e2ca9cfb0b7e41f32a91fc44327f750ef",
          "body": "…resh FAISS index (#9385)\n\nFixes #9375",
          "is_bot": false,
          "headline": "fix(kb): reject a zero/negative embedding dimension when creating a f…",
          "author_name": "Amir Fathi",
          "author_login": "AmirF194",
          "committed_at": "2026-07-26T08:18:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4459953a6429c67f07325508b917426e0f5e796",
          "body": null,
          "is_bot": false,
          "headline": "fix(dingtalk): handle command errors and rich-text mentions (#9389)",
          "author_name": "Baolin Zhu",
          "author_login": "bowling233",
          "committed_at": "2026-07-26T08:15:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9c6129b9eecdd0a5c4069954baffc27bea02a0a",
          "body": "Co-authored-by: w33d <w33d@holdfast.local>",
          "is_bot": false,
          "headline": "feat: honor Telegram partial reply quotes (#9236)",
          "author_name": "w33d",
          "author_login": "Last-emo-boy",
          "committed_at": "2026-07-25T08:15:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e8819ac2bdf333504293f88378049e5c837f1c8b",
          "body": null,
          "is_bot": false,
          "headline": "test: prevent updater path tests from creating stray dirs (#9376)",
          "author_name": "Wei Chengqian",
          "author_login": "wcqqq1214",
          "committed_at": "2026-07-25T04:30:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb02c7273e7df5fc69dc415cd379cab4549730c6",
          "body": "Co-authored-by: w33d <w33d@holdfast.local>",
          "is_bot": false,
          "headline": "fix: 处理 Tavily 日期筛选参数冲突 (#9234)",
          "author_name": "w33d",
          "author_login": "Last-emo-boy",
          "committed_at": "2026-07-24T14:50:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11a5672efa1d5ed8a07ee0047bb4739df4acc91c",
          "body": null,
          "is_bot": false,
          "headline": "fix: preserve embedding batch result order (#9241)",
          "author_name": "lxfight",
          "author_login": "lxfight",
          "committed_at": "2026-07-24T14:38:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff3b74d411e6cdee923e30b923d1e1cb4b97aaaa",
          "body": "Co-authored-by: w33d <w33d@holdfast.local>",
          "is_bot": false,
          "headline": "fix: 防止人格编辑弹窗误触关闭 (#9238)",
          "author_name": "w33d",
          "author_login": "Last-emo-boy",
          "committed_at": "2026-07-24T14:37:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5620d94d76af34cccacfe1cc88e3d34252a6fd7",
          "body": "* fix: check quoted text for content safety\n\n* fix: initialize content safety result\n\n* fix: combine content safety check text\n\n---------\n\nCo-authored-by: JIANZHOU <jzhou2409324124@gmail.com>",
          "is_bot": false,
          "headline": "fix: check quoted text for content safety (#9232)",
          "author_name": "东云",
          "author_login": "2409324124",
          "committed_at": "2026-07-24T14:35:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b39d5048cab9912d89519ca98c1603e91dd76acc",
          "body": "* fix: show progress when saving plugin config\n\n* fix: normalize error message shown when saving plugin config fails\n\n* feat: animate plugin config save progress dialog",
          "is_bot": false,
          "headline": "fix: show progress when saving plugin config (#9327)",
          "author_name": "Rcst20",
          "author_login": "backrooms-yrc",
          "committed_at": "2026-07-24T13:59:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "94a74e2ef3ad5e470bfb43893e287aafa2035984",
          "body": "…ion) (#9350)\n\nPR #8323 inadvertently moved import faiss back to module top level,\nre-introducing the faiss-cpu 1.14.2 deadlock fixed by PR #8696.\n\nThis commit moves the import back inside __init__() (as #8696 did),\nwith local imports in _read_index/_write_index static methods.\nAll ASCII temp-file bridge logic from #8323 is preserved.",
          "is_bot": false,
          "headline": "fix: restore lazy faiss import to prevent process hang (#8695 regress…",
          "author_name": "伊尔弥亚 - Irmia",
          "author_login": "irmia2026",
          "committed_at": "2026-07-24T13:35:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "04fb05c576fee37ceea2dbf4370fbc1428a3884e",
          "body": null,
          "is_bot": false,
          "headline": "fix: preserve checkpoints after failed LLM requests (#9358) (#9359)",
          "author_name": "Wei Chengqian",
          "author_login": "wcqqq1214",
          "committed_at": "2026-07-24T13:34:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fcce0105e581b8677f41124e91462d338de30eda",
          "body": "…(#9367)\n\n- move blocking CPU sampling to a worker thread\n- report AstrBot process usage instead of system-wide CPU usage\n- normalize process usage by the logical CPU count",
          "is_bot": false,
          "headline": "fix(stats): report process CPU usage without blocking the event loop …",
          "author_name": "時壹",
          "author_login": "KBVsent",
          "committed_at": "2026-07-24T13:28:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1240156f99f13a45f9106aab0e46c198cec3a853",
          "body": null,
          "is_bot": false,
          "headline": "chore: pin Ruff to 0.15.22 (#9369)",
          "author_name": "Ruochen Pan",
          "author_login": "RC-CHN",
          "committed_at": "2026-07-24T02:37:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10e5ca6958c531f386bf6bb02471edd1bc00cec6",
          "body": "* feat(logging): add isolated plugin loggers\n\n* feat(dashboard): configure plugin log levels\n\n* fix(logging): support legacy plugin loggers\n\n* fix(dashboard): sync plugin log level response\n\n* perf(logging): avoid rescanning plugin handlers\n\n* fix(logging): persist plugin levels atomically\n\n* test(logging): use valid logger level mocks",
          "is_bot": false,
          "headline": "Feat: Allow adjust plugin log levels (#9342)",
          "author_name": "Ruochen Pan",
          "author_login": "RC-CHN",
          "committed_at": "2026-07-24T02:03:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2035dbd079375046ce7b82171a04b1f9a63d781a",
          "body": "…mp (#9349)\n\n* fix: move now = datetime.now() inside the lock to avoid stale timestamp in concurrent scenario\n\nWhen multiple coroutines wait for the same session lock, they all capture\n\now = datetime.now() before entering the lock. By the time a coroutine\nactually acquires the lock, the captured tim\n[…]\nhe moment it acquires the lock, fixing the\nstale-timestamp bug for the stall strategy.\n\nCo-authored-by: yunyancuo <3468440670@qq.com>\n\n* test: address review - subclass datetime, derive expected stall",
          "is_bot": false,
          "headline": "fix: move now = datetime.now() inside the lock to avoid stale timesta…",
          "author_name": "yunyancuo",
          "author_login": "yunyancuo",
          "committed_at": "2026-07-22T07:49:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5425470a6668c7f6738b8728c78ece64df2055e0",
          "body": "…eopened) (#8323)\n\n* fix: Faiss read/write on Windows with non-ASCII paths\n\nBridge Faiss C++ fopen() ANSI codepage limitation through\npure ASCII temp files using Python shutil. Also fix dtype=np.int64\nfor IDs, vector.reshape for search, and remove incorrect\nnormalize_L2 on IndexFlatL2.\n\n* fix: narro\n[…]\n, and exception propagation.\n\n* style: ruff format\n\n* chore: ruff check fix\n\n* fix: make search() accept both 1D and 2D vectors, fix caller shape\n\n---------\n\nCo-authored-by: Soulter <905617992@qq.com>",
          "is_bot": false,
          "headline": "fix: Faiss read/write failure on Windows with non-ASCII user paths (r…",
          "author_name": "伊尔弥亚 - Irmia",
          "author_login": "irmia2026",
          "committed_at": "2026-07-22T00:28:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a325819048ff10753c5963527b0d21869152500c",
          "body": "Bumps the github-actions group with 2 updates: [actions/setup-node](https://github.com/actions/setup-node) and [actions/setup-python](https://github.com/actions/setup-python).\n\n\nUpdates `actions/setup-node` from 6 to 7\n- [Release notes](https://github.com/actions/setup-node/releases)\n- [Commits](htt\n[…]\nsion-update:semver-major\n  dependency-group: github-actions\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the github-actions group with 2 updates (#9333)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-21T15:59:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "596330ff4b3bd4cd09007cca491b24212ee37bd6",
          "body": null,
          "is_bot": false,
          "headline": "docs: recommend QQ official bot for QQ integration",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-21T03:23:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1a038533125ad24a37fb1c1e5c7deae782af5c87",
          "body": null,
          "is_bot": false,
          "headline": "docs: update README banners",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-20T05:08:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fed29848ca0b3912ab6a8200a10cd0f2cb080f85",
          "body": "* chore: bump version to 4.26.7\n\n* chore: translate core logs to English (#9318)\n\n* chore",
          "is_bot": false,
          "headline": "chore: bump version to 4.26.7 (#9317)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-18T12:29:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "82d1d57fa36e19e9782b724cc467cc0d6ec4ef51",
          "body": null,
          "is_bot": false,
          "headline": "chore: translate core logs to English (#9318)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-18T12:19:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ca3715c5440bf2a25ba0f29334716526ac6126d",
          "body": "…kes 2 positional arguments but 3 were given` (#9316)\n\n* fix: make plugin handler binding idempotent\n\n* fix: guard tool handler module lookup\n\n* fix: left-align chat images",
          "is_bot": false,
          "headline": "fix: make plugin handler binding idempotent to fix error like `xxx ta…",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-18T11:31:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3504ecb6f16cda861052efb49db91d7f552dc7c4",
          "body": "* fix: accept UTF-8 BOM in plugin schemas\n\n* fix: accept UTF-8 BOM in plugin i18n",
          "is_bot": false,
          "headline": "fix: accept UTF-8 BOM in plugin schemas (#9223)",
          "author_name": "lingyun14",
          "author_login": "lingyun14beta",
          "committed_at": "2026-07-18T10:41:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "390c53827d3bdd6dd30f3523a8989ddc4980df94",
          "body": null,
          "is_bot": false,
          "headline": "style: simplify WebUI sidebar (#9313)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-18T10:31:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1a7b34ecd07e8afdd0d60c688ef36caf9cab93e",
          "body": null,
          "is_bot": false,
          "headline": "fix: stop matching plugin repository URLs (#9314)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-18T10:30:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7ef1af23b1b98fbdbfa566d82f9a04501de0bc99",
          "body": null,
          "is_bot": false,
          "headline": "fix: hide command tooltip with suggestion panel (#9312)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-18T10:30:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "109e2d19263c1628a9906cd15d71742fde767e38",
          "body": null,
          "is_bot": false,
          "headline": "fix: prevent explain purpose before every tool call",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-18T10:23:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9c5a1f248936bca33b29174c898381f87eee2c4",
          "body": "* fix: detect repeated tool calls by name and arguments\n\n* Update tests/test_tool_loop_agent_runner.py\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>\n\n---------\n\nCo-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "perf: detect repeated tool calls by name and arguments (#9311)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-18T10:21:32Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e47e5af9c4b8b5c9dca2f7b14b6b61dfb44a7e0d",
          "body": "…s (#8712)\n\n* feat: implement HTML GenUI component and register custom markdown tags\n\n* fix: expand bot message content width\n\n* feat: add per-request ChatUI flags\n\n* feat: refine ChatUI HTML GenUI prompt for clarity and token efficiency",
          "is_bot": false,
          "headline": "feat: implement HTML GenUI component and register custom markdown tag…",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-18T10:06:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45f4e666e99fa0aa95af448b7642ec84879df683",
          "body": "… (#9310)\n\nThis reverts commit 77340bc50959199b9e15c5a6e11559eb4fcac55a.",
          "is_bot": false,
          "headline": "Revert \"fix(qqofficial): render @ mentions in group messages (#9285)\"…",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-18T09:01:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09a265ba1638824856351e30eb7cb13fb0099e55",
          "body": "Co-authored-by: w33d <w33d@holdfast.local>",
          "is_bot": false,
          "headline": "fix: avoid python-ripgrep crash on Python 3.14 (#9244)",
          "author_name": "w33d",
          "author_login": "Last-emo-boy",
          "committed_at": "2026-07-18T08:52:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "991a8127fca3ab4edabed050b7b6eb02f0f3473f",
          "body": null,
          "is_bot": false,
          "headline": "fix: handle ChatUI follow-up messages (#9309)",
          "author_name": "Soulter",
          "author_login": "Soulter",
          "committed_at": "2026-07-18T08:27:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b853e9f41df9104ee5e11766be2609e8f53ecdb0",
          "body": "* fix: support code block copy over insecure HTTP\n\n* fix: guard code block copy fallback\n\n* fix: preserve code block copy listeners",
          "is_bot": false,
          "headline": "fix: support code block copy over insecure HTTP (#9267)",
          "author_name": "Enterpr1se",
          "author_login": "Enterpr1se0",
          "committed_at": "2026-07-18T08:01:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77340bc50959199b9e15c5a6e11559eb4fcac55a",
          "body": "* fix(qqofficial): render @ mentions in group messages\n\n- serialize At components as <@openid> markup\n- send mention-bearing replies and proactive messages as Markdown\n- preserve payload compatibility for media and guild channel messages\n- support legacy and current incoming mention formats\n- add re\n[…]\n\n- centralize mention detection and media payload normalization\n- consolidate incoming mention markup cleanup\n- add regression tests for invalid mention IDs\n\n* style(qqofficial): apply Ruff formatting",
          "is_bot": false,
          "headline": "fix(qqofficial): render @ mentions in group messages (#9285)",
          "author_name": "智商局局长",
          "author_login": "IQ-Director",
          "committed_at": "2026-07-18T08:01:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 2173,
      "latest_release_at": "2026-08-02T16:04:03Z",
      "latest_release_tag": "v4.27.1",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 52,
      "days_since_latest_release": 2,
      "mean_days_between_releases": 4.2
    },
    "artifacts": {
      "collected": true,
      "structure": [
        "tree.compose",
        "tree.dockerfile",
        "tree.k8s"
      ],
      "declarations": [
        {
          "name": null,
          "path": "dashboard/package.json",
          "tokens": [
            "npm.private"
          ],
          "ecosystem": "npm"
        },
        {
          "name": "AstrBot",
          "path": "pyproject.toml",
          "tokens": [
            "pypi.console_scripts"
          ],
          "ecosystem": "pypi"
        }
      ]
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "readme_badges": {
        "hosts": [
          "shields.io"
        ],
        "total": 6,
        "header": 2,
        "collected": true,
        "has_inspect_badge": false
      },
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "AstrBot",
          "exists": true,
          "license": "AGPL-3.0-or-later",
          "keywords": [
            "Agent",
            "AstrBot",
            "Chatbot",
            "IM"
          ],
          "ecosystem": "pypi",
          "categories": [],
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/AstrBot/",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "4.27.1",
          "repository_url": "https://github.com/AstrBotDevs/AstrBot",
          "versions_count": 161,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2025-05-01T12:51:45.965752Z",
          "latest_published_at": "2026-08-02T16:04:34.808262Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 2
        }
      ]
    },
    "popularity": {
      "forks": 2759,
      "stars": 38588,
      "watchers": 81,
      "fork_history": {
        "days": [
          {
            "date": "2026-03-26",
            "count": 9
          },
          {
            "date": "2026-03-27",
            "count": 9
          },
          {
            "date": "2026-03-28",
            "count": 9
          },
          {
            "date": "2026-03-29",
            "count": 11
          },
          {
            "date": "2026-03-30",
            "count": 7
          },
          {
            "date": "2026-03-31",
            "count": 7
          },
          {
            "date": "2026-04-01",
            "count": 11
          },
          {
            "date": "2026-04-02",
            "count": 18
          },
          {
            "date": "2026-04-03",
            "count": 12
          },
          {
            "date": "2026-04-04",
            "count": 5
          },
          {
            "date": "2026-04-05",
            "count": 9
          },
          {
            "date": "2026-04-06",
            "count": 10
          },
          {
            "date": "2026-04-07",
            "count": 7
          },
          {
            "date": "2026-04-08",
            "count": 6
          },
          {
            "date": "2026-04-09",
            "count": 9
          },
          {
            "date": "2026-04-10",
            "count": 10
          },
          {
            "date": "2026-04-11",
            "count": 7
          },
          {
            "date": "2026-04-12",
            "count": 7
          },
          {
            "date": "2026-04-13",
            "count": 6
          },
          {
            "date": "2026-04-14",
            "count": 10
          },
          {
            "date": "2026-04-15",
            "count": 4
          },
          {
            "date": "2026-04-16",
            "count": 9
          },
          {
            "date": "2026-04-17",
            "count": 6
          },
          {
            "date": "2026-04-18",
            "count": 7
          },
          {
            "date": "2026-04-19",
            "count": 5
          },
          {
            "date": "2026-04-20",
            "count": 13
          },
          {
            "date": "2026-04-21",
            "count": 7
          },
          {
            "date": "2026-04-22",
            "count": 11
          },
          {
            "date": "2026-04-23",
            "count": 6
          },
          {
            "date": "2026-04-24",
            "count": 10
          },
          {
            "date": "2026-04-25",
            "count": 3
          },
          {
            "date": "2026-04-26",
            "count": 5
          },
          {
            "date": "2026-04-27",
            "count": 6
          },
          {
            "date": "2026-04-28",
            "count": 11
          },
          {
            "date": "2026-04-29",
            "count": 12
          },
          {
            "date": "2026-04-30",
            "count": 5
          },
          {
            "date": "2026-05-01",
            "count": 6
          },
          {
            "date": "2026-05-02",
            "count": 4
          },
          {
            "date": "2026-05-03",
            "count": 9
          },
          {
            "date": "2026-05-04",
            "count": 5
          },
          {
            "date": "2026-05-05",
            "count": 8
          },
          {
            "date": "2026-05-06",
            "count": 10
          },
          {
            "date": "2026-05-07",
            "count": 5
          },
          {
            "date": "2026-05-08",
            "count": 6
          },
          {
            "date": "2026-05-09",
            "count": 5
          },
          {
            "date": "2026-05-10",
            "count": 6
          },
          {
            "date": "2026-05-11",
            "count": 6
          },
          {
            "date": "2026-05-12",
            "count": 2
          },
          {
            "date": "2026-05-13",
            "count": 4
          },
          {
            "date": "2026-05-14",
            "count": 7
          },
          {
            "date": "2026-05-15",
            "count": 4
          },
          {
            "date": "2026-05-16",
            "count": 7
          },
          {
            "date": "2026-05-17",
            "count": 2
          },
          {
            "date": "2026-05-18",
            "count": 8
          },
          {
            "date": "2026-05-19",
            "count": 9
          },
          {
            "date": "2026-05-20",
            "count": 2
          },
          {
            "date": "2026-05-21",
            "count": 9
          },
          {
            "date": "2026-05-22",
            "count": 8
          },
          {
            "date": "2026-05-23",
            "count": 3
          },
          {
            "date": "2026-05-24",
            "count": 6
          },
          {
            "date": "2026-05-25",
            "count": 6
          },
          {
            "date": "2026-05-26",
            "count": 5
          },
          {
            "date": "2026-05-27",
            "count": 7
          },
          {
            "date": "2026-05-28",
            "count": 6
          },
          {
            "date": "2026-05-29",
            "count": 8
          },
          {
            "date": "2026-05-30",
            "count": 1
          },
          {
            "date": "2026-05-31",
            "count": 4
          },
          {
            "date": "2026-06-01",
            "count": 4
          },
          {
            "date": "2026-06-02",
            "count": 3
          },
          {
            "date": "2026-06-03",
            "count": 5
          },
          {
            "date": "2026-06-04",
            "count": 12
          },
          {
            "date": "2026-06-05",
            "count": 7
          },
          {
            "date": "2026-06-06",
            "count": 6
          },
          {
            "date": "2026-06-07",
            "count": 7
          },
          {
            "date": "2026-06-08",
            "count": 7
          },
          {
            "date": "2026-06-09",
            "count": 9
          },
          {
            "date": "2026-06-10",
            "count": 4
          },
          {
            "date": "2026-06-11",
            "count": 7
          },
          {
            "date": "2026-06-12",
            "count": 5
          },
          {
            "date": "2026-06-13",
            "count": 7
          },
          {
            "date": "2026-06-14",
            "count": 8
          },
          {
            "date": "2026-06-15",
            "count": 7
          },
          {
            "date": "2026-06-16",
            "count": 5
          },
          {
            "date": "2026-06-17",
            "count": 9
          },
          {
            "date": "2026-06-18",
            "count": 7
          },
          {
            "date": "2026-06-19",
            "count": 5
          },
          {
            "date": "2026-06-20",
            "count": 5
          },
          {
            "date": "2026-06-21",
            "count": 5
          },
          {
            "date": "2026-06-22",
            "count": 8
          },
          {
            "date": "2026-06-23",
            "count": 11
          },
          {
            "date": "2026-06-24",
            "count": 5
          },
          {
            "date": "2026-06-25",
            "count": 4
          },
          {
            "date": "2026-06-26",
            "count": 7
          },
          {
            "date": "2026-06-27",
            "count": 5
          },
          {
            "date": "2026-06-28",
            "count": 3
          },
          {
            "date": "2026-06-29",
            "count": 6
          },
          {
            "date": "2026-06-30",
            "count": 4
          },
          {
            "date": "2026-07-01",
            "count": 7
          },
          {
            "date": "2026-07-02",
            "count": 3
          },
          {
            "date": "2026-07-03",
            "count": 4
          },
          {
            "date": "2026-07-04",
            "count": 2
          },
          {
            "date": "2026-07-05",
            "count": 6
          },
          {
            "date": "2026-07-06",
            "count": 9
          },
          {
            "date": "2026-07-07",
            "count": 6
          },
          {
            "date": "2026-07-08",
            "count": 9
          },
          {
            "date": "2026-07-09",
            "count": 6
          },
          {
            "date": "2026-07-10",
            "count": 7
          },
          {
            "date": "2026-07-11",
            "count": 5
          },
          {
            "date": "2026-07-12",
            "count": 8
          },
          {
            "date": "2026-07-13",
            "count": 6
          },
          {
            "date": "2026-07-14",
            "count": 6
          },
          {
            "date": "2026-07-15",
            "count": 6
          },
          {
            "date": "2026-07-16",
            "count": 1
          },
          {
            "date": "2026-07-17",
            "count": 1
          },
          {
            "date": "2026-07-18",
            "count": 8
          },
          {
            "date": "2026-07-19",
            "count": 10
          },
          {
            "date": "2026-07-20",
            "count": 30
          },
          {
            "date": "2026-07-21",
            "count": 34
          },
          {
            "date": "2026-07-22",
            "count": 37
          },
          {
            "date": "2026-07-23",
            "count": 25
          },
          {
            "date": "2026-07-24",
            "count": 11
          },
          {
            "date": "2026-07-25",
            "count": 11
          },
          {
            "date": "2026-07-26",
            "count": 6
          },
          {
            "date": "2026-07-27",
            "count": 10
          },
          {
            "date": "2026-07-28",
            "count": 7
          },
          {
            "date": "2026-07-29",
            "count": 7
          },
          {
            "date": "2026-07-30",
            "count": 8
          },
          {
            "date": "2026-07-31",
            "count": 7
          },
          {
            "date": "2026-08-01",
            "count": 8
          },
          {
            "date": "2026-08-02",
            "count": 10
          },
          {
            "date": "2026-08-03",
            "count": 5
          },
          {
            "date": "2026-08-04",
            "count": 10
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 2759
      },
      "star_history": null,
      "open_issues_and_prs": 1357
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "samples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": true,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [
        "docs/public/openapi.json"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [
        "dashboard/tsconfig.json",
        "pyrightconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 1267458,
      "source_files_sampled": 744,
      "oversized_source_files": 19,
      "agent_instruction_files": [
        ".github/copilot-instructions.md",
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 6502
    },
    "dependencies": {
      "manifests": [
        "dashboard/package.json",
        "docs/package.json",
        "pyproject.toml",
        "requirements.txt"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 142,
        "malicious_count": 0,
        "assessed_package": "pypi:AstrBot@4.27.1",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm",
        "pypi"
      ],
      "dependencies": [
        {
          "name": "@guolao/vue-monaco-editor",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.5.4"
        },
        {
          "name": "@hey-api/client-axios",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.2.12"
        },
        {
          "name": "@lucide/vue",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.23.0"
        },
        {
          "name": "@tiptap/starter-kit",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.1.7"
        },
        {
          "name": "@tiptap/vue-3",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.1.7"
        },
        {
          "name": "apexcharts",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "3.42.0"
        },
        {
          "name": "axios",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.13.5"
        },
        {
          "name": "axios-mock-adapter",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.22.0"
        },
        {
          "name": "chance",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.1.11"
        },
        {
          "name": "date-fns",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.30.0"
        },
        {
          "name": "dompurify",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.3.2"
        },
        {
          "name": "event-source-polyfill",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.31"
        },
        {
          "name": "highlight.js",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "11.11.1"
        },
        {
          "name": "katex",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.16.27"
        },
        {
          "name": "lodash",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.17.23"
        },
        {
          "name": "markdown-it",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^14.1.1"
        },
        {
          "name": "markstream-vue",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.0.5-beta.0"
        },
        {
          "name": "mermaid",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.12.2"
        },
        {
          "name": "monaco-editor",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.52.2"
        },
        {
          "name": "pinia",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.1.6"
        },
        {
          "name": "pinyin-pro",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.26.0"
        },
        {
          "name": "qrcode",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.5.4"
        },
        {
          "name": "shiki",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.23.0"
        },
        {
          "name": "stream-markdown",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.0.16"
        },
        {
          "name": "vee-validate",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.11.3"
        },
        {
          "name": "vite-plugin-vuetify",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.1.3"
        },
        {
          "name": "vue",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "3.3.4"
        },
        {
          "name": "vue-i18n",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.1.5"
        },
        {
          "name": "vue-router",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.2.4"
        },
        {
          "name": "vue3-apexcharts",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.4.4"
        },
        {
          "name": "vue3-print-nb",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.1.4"
        },
        {
          "name": "vuetify",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "3.7.11"
        },
        {
          "name": "yup",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.2.0"
        },
        {
          "name": "aiocqhttp",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.4.4"
        },
        {
          "name": "aiodocker",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.24.0"
        },
        {
          "name": "aiohttp",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.11.18"
        },
        {
          "name": "aiosqlite",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.21.0"
        },
        {
          "name": "anthropic",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.51.0"
        },
        {
          "name": "apscheduler",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.11.0"
        },
        {
          "name": "certifi",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2025.4.26"
        },
        {
          "name": "chardet",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "~=5.1.0"
        },
        {
          "name": "loguru",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.7.2"
        },
        {
          "name": "cryptography",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=44.0.3"
        },
        {
          "name": "dashscope",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.23.2"
        },
        {
          "name": "deprecated",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.2.18"
        },
        {
          "name": "dingtalk-stream",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.22.1"
        },
        {
          "name": "docstring-parser",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.16"
        },
        {
          "name": "faiss-cpu",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.14.3"
        },
        {
          "name": "fastapi",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.124.0"
        },
        {
          "name": "filelock",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.18.0"
        },
        {
          "name": "google-genai",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.56.0"
        },
        {
          "name": "httpx",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.28.1"
        },
        {
          "name": "lark-oapi",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.4.15"
        },
        {
          "name": "mcp",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.8.0,<2"
        },
        {
          "name": "openai",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.78.0"
        },
        {
          "name": "ormsgpack",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.9.1"
        },
        {
          "name": "openpyxl",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.1.5"
        },
        {
          "name": "pandas",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.2.0"
        },
        {
          "name": "pillow",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=11.2.1"
        },
        {
          "name": "pip",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=25.1.1"
        },
        {
          "name": "psutil",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=5.8.0,<7.2.0"
        },
        {
          "name": "py-cord",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.6.1"
        },
        {
          "name": "pydantic",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.12.5"
        },
        {
          "name": "pydub",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.25.1"
        },
        {
          "name": "pyjwt",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.10.1"
        },
        {
          "name": "qrcode",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=8.2"
        },
        {
          "name": "quart",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.20.0"
        },
        {
          "name": "python-telegram-bot",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=22.6"
        },
        {
          "name": "qq-botpy",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "==1.2.1"
        },
        {
          "name": "silk-python",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.2.6"
        },
        {
          "name": "slack-sdk",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.35.0"
        },
        {
          "name": "sqlalchemy",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.0.41"
        },
        {
          "name": "sqlmodel",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.0.24"
        },
        {
          "name": "telegramify-markdown",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.0.0"
        },
        {
          "name": "watchfiles",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.0.5"
        },
        {
          "name": "websockets",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=15.0.1"
        },
        {
          "name": "wechatpy",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.8.18"
        },
        {
          "name": "audioop-lts",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "click",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=8.2.1"
        },
        {
          "name": "pypdf",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=6.1.1"
        },
        {
          "name": "aiofiles",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=25.1.0"
        },
        {
          "name": "rank-bm25",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.2.2"
        },
        {
          "name": "jieba",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.42.1"
        },
        {
          "name": "markitdown-no-magika",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.1.2"
        },
        {
          "name": "xinference-client",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "tenacity",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=9.1.2"
        },
        {
          "name": "shipyard-python-sdk",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.2.4"
        },
        {
          "name": "shipyard-neo-sdk",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.2.0"
        },
        {
          "name": "python-socks",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.8.0"
        },
        {
          "name": "pysocks",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.7.1"
        },
        {
          "name": "packaging",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=24.2"
        },
        {
          "name": "python-ripgrep",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "==0.0.8"
        },
        {
          "name": "python-docx",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.2.0"
        },
        {
          "name": "pyotp",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.9.0"
        },
        {
          "name": "reportlab",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=5.0.0"
        },
        {
          "name": "xlrd",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.0.2"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@guolao/vue-monaco-editor",
            "direct": true,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@hey-api/client-axios",
            "direct": true,
            "version": "0.2.12",
            "ecosystem": "npm"
          },
          {
            "name": "@lucide/vue",
            "direct": true,
            "version": "1.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/starter-kit",
            "direct": true,
            "version": "2.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/vue-3",
            "direct": true,
            "version": "2.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "apexcharts",
            "direct": true,
            "version": "3.42.0",
            "ecosystem": "npm"
          },
          {
            "name": "axios",
            "direct": true,
            "version": "1.13.5",
            "ecosystem": "npm"
          },
          {
            "name": "axios-mock-adapter",
            "direct": true,
            "version": "1.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "chance",
            "direct": true,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "date-fns",
            "direct": true,
            "version": "2.30.0",
            "ecosystem": "npm"
          },
          {
            "name": "dompurify",
            "direct": true,
            "version": "3.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "event-source-polyfill",
            "direct": true,
            "version": "1.0.31",
            "ecosystem": "npm"
          },
          {
            "name": "highlight.js",
            "direct": true,
            "version": "11.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "katex",
            "direct": true,
            "version": "0.16.28",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": true,
            "version": "4.17.23",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it",
            "direct": true,
            "version": "14.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "markstream-vue",
            "direct": true,
            "version": "1.0.5-beta.0",
            "ecosystem": "npm"
          },
          {
            "name": "mermaid",
            "direct": true,
            "version": "11.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "monaco-editor",
            "direct": true,
            "version": "0.52.2",
            "ecosystem": "npm"
          },
          {
            "name": "pinia",
            "direct": true,
            "version": "2.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "pinyin-pro",
            "direct": true,
            "version": "3.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "qrcode",
            "direct": true,
            "version": "1.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "shiki",
            "direct": true,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "shiki",
            "direct": true,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-markdown",
            "direct": true,
            "version": "0.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "vee-validate",
            "direct": true,
            "version": "4.11.3",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-vuetify",
            "direct": true,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": true,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": true,
            "version": "3.5.17",
            "ecosystem": "npm"
          },
          {
            "name": "vue-i18n",
            "direct": true,
            "version": "11.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "vue-router",
            "direct": true,
            "version": "4.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "vue3-apexcharts",
            "direct": true,
            "version": "1.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "vue3-print-nb",
            "direct": true,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "vuetify",
            "direct": true,
            "version": "3.7.11",
            "ecosystem": "npm"
          },
          {
            "name": "yup",
            "direct": true,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "aiocqhttp",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiodocker",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiofiles",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "aiosqlite",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "anthropic",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "apscheduler",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "audioop-lts",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "chardet",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "dashscope",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "deprecated",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "dingtalk-stream",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "docstring-parser",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "faiss-cpu",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "fastapi",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "google-genai",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "jieba",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "lark-oapi",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "loguru",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "markitdown-no-magika",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mcp",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "openai",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "openpyxl",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ormsgpack",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pip",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "psutil",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "py-cord",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pydub",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyjwt",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyotp",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pypdf",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pysocks",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "python-docx",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "python-ripgrep",
            "direct": true,
            "version": "0.0.8",
            "ecosystem": "pypi"
          },
          {
            "name": "python-socks",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "python-telegram-bot",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "qq-botpy",
            "direct": true,
            "version": "1.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "qrcode",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "quart",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "rank-bm25",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "reportlab",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "shipyard-neo-sdk",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "shipyard-python-sdk",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "silk-python",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "slack-sdk",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sqlmodel",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "telegramify-markdown",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "tenacity",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "watchfiles",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "websockets",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "wechatpy",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "xinference-client",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "xlrd",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "@algolia/autocomplete-core",
            "direct": false,
            "version": "1.17.7",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/autocomplete-plugin-algolia-insights",
            "direct": false,
            "version": "1.17.7",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/autocomplete-preset-algolia",
            "direct": false,
            "version": "1.17.7",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/autocomplete-shared",
            "direct": false,
            "version": "1.17.7",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-abtesting",
            "direct": false,
            "version": "5.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-analytics",
            "direct": false,
            "version": "5.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-common",
            "direct": false,
            "version": "5.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-insights",
            "direct": false,
            "version": "5.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-personalization",
            "direct": false,
            "version": "5.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-query-suggestions",
            "direct": false,
            "version": "5.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-search",
            "direct": false,
            "version": "5.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/ingestion",
            "direct": false,
            "version": "1.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/monitoring",
            "direct": false,
            "version": "1.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/recommend",
            "direct": false,
            "version": "5.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/requester-browser-xhr",
            "direct": false,
            "version": "5.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/requester-fetch",
            "direct": false,
            "version": "5.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/requester-node-http",
            "direct": false,
            "version": "5.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "@antfu/install-pkg",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@apidevtools/json-schema-ref-parser",
            "direct": false,
            "version": "11.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.28.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@braintree/sanitize-url",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@cacheable/memory",
            "direct": false,
            "version": "2.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@cacheable/utils",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@chenglou/pretext",
            "direct": false,
            "version": "0.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@chevrotain/cst-dts-gen",
            "direct": false,
            "version": "11.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@chevrotain/gast",
            "direct": false,
            "version": "11.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@chevrotain/regexp-to-ast",
            "direct": false,
            "version": "11.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@chevrotain/types",
            "direct": false,
            "version": "11.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@chevrotain/utils",
            "direct": false,
            "version": "11.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@docsearch/css",
            "direct": false,
            "version": "3.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@docsearch/js",
            "direct": false,
            "version": "3.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@docsearch/react",
            "direct": false,
            "version": "3.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "8.48.0",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/core",
            "direct": false,
            "version": "1.7.5",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/dom",
            "direct": false,
            "version": "1.7.6",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/utils",
            "direct": false,
            "version": "0.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "@hey-api/openapi-ts",
            "direct": false,
            "version": "0.60.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/config-array",
            "direct": false,
            "version": "0.11.14",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/object-schema",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify-json/simple-icons",
            "direct": false,
            "version": "1.2.42",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify/types",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify/utils",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@intlify/core-base",
            "direct": false,
            "version": "11.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@intlify/message-compiler",
            "direct": false,
            "version": "11.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@intlify/shared",
            "direct": false,
            "version": "11.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/source-map",
            "direct": false,
            "version": "0.3.11",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@jsdevtools/ono",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@keyv/bigmap",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@keyv/serialize",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@mdi/font",
            "direct": false,
            "version": "7.2.96",
            "ecosystem": "npm"
          },
          {
            "name": "@mermaid-js/parser",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@monaco-editor/loader",
            "direct": false,
            "version": "1.7.0",
            "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": "@pkgr/core",
            "direct": false,
            "version": "0.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "@popperjs/core",
            "direct": false,
            "version": "2.11.8",
            "ecosystem": "npm"
          },
          {
            "name": "@remirror/core-constants",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loongarch64-gnu",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-powerpc64le-gnu",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rushstack/eslint-patch",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/core",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/core",
            "direct": false,
            "version": "3.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/core",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-javascript",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-javascript",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-oniguruma",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-oniguruma",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/langs",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/langs",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/themes",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/themes",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/transformers",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/types",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/types",
            "direct": false,
            "version": "3.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/types",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/vscode-textmate",
            "direct": false,
            "version": "10.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/core",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-blockquote",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-bold",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-bubble-menu",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-bullet-list",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-code",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-code-block",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-document",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-dropcursor",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-floating-menu",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-gapcursor",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-hard-break",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-heading",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-history",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-horizontal-rule",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-italic",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-list-item",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-ordered-list",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-paragraph",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-strike",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/extension-text",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tiptap/pm",
            "direct": false,
            "version": "2.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chance",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3",
            "direct": false,
            "version": "7.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-array",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-axis",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-brush",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-chord",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-color",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-contour",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-delaunay",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-dispatch",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-drag",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-dsv",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-ease",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-fetch",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-force",
            "direct": false,
            "version": "3.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-format",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-geo",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-hierarchy",
            "direct": false,
            "version": "3.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-interpolate",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-path",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-polygon",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-quadtree",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-random",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-scale",
            "direct": false,
            "version": "4.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-scale-chromatic",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-selection",
            "direct": false,
            "version": "3.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-shape",
            "direct": false,
            "version": "3.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-time",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-time-format",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-timer",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-transition",
            "direct": false,
            "version": "3.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-zoom",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/dompurify",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/eslint",
            "direct": false,
            "version": "9.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/eslint-scope",
            "direct": false,
            "version": "3.7.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/geojson",
            "direct": false,
            "version": "7946.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "@types/hast",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/linkify-it",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/markdown-it",
            "direct": false,
            "version": "14.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdast",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "20.19.32",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "20.19.37",
            "ecosystem": "npm"
          },
          {
            "name": "@types/semver",
            "direct": false,
            "version": "7.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/trusted-types",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/web-bluetooth",
            "direct": false,
            "version": "0.0.21",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/structured-clone",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-vue",
            "direct": false,
            "version": "5.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/language-core",
            "direct": false,
            "version": "1.10.10",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/source-map",
            "direct": false,
            "version": "1.10.10",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/typescript",
            "direct": false,
            "version": "1.10.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.5.17",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.5.27",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.5.17",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.5.27",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-sfc",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-sfc",
            "direct": false,
            "version": "3.5.17",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.5.17",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "6.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "7.7.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-kit",
            "direct": false,
            "version": "7.7.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-shared",
            "direct": false,
            "version": "7.7.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/eslint-config-prettier",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/eslint-config-typescript",
            "direct": false,
            "version": "11.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/language-core",
            "direct": false,
            "version": "1.8.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/reactivity",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/reactivity",
            "direct": false,
            "version": "3.5.17",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/reactivity",
            "direct": false,
            "version": "3.5.27",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/reactivity-transform",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-core",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-core",
            "direct": false,
            "version": "3.5.17",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-dom",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-dom",
            "direct": false,
            "version": "3.5.17",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/server-renderer",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/server-renderer",
            "direct": false,
            "version": "3.5.17",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.5.17",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.5.27",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/tsconfig",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/typescript",
            "direct": false,
            "version": "1.8.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vuetify/loader-shared",
            "direct": false,
            "version": "1.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vuetify/loader-shared",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/core",
            "direct": false,
            "version": "12.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/integrations",
            "direct": false,
            "version": "12.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/metadata",
            "direct": false,
            "version": "12.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/shared",
            "direct": false,
            "version": "12.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/ast",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/floating-point-hex-parser",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-api-error",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-buffer",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-numbers",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-wasm-bytecode",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-wasm-section",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/ieee754",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/leb128",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/utf8",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-edit",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-gen",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-opt",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-parser",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wast-printer",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@xtuc/ieee754",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@xtuc/long",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@yr/monotone-cubic-spline",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-import-phases",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.12.6",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-formats",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-keywords",
            "direct": false,
            "version": "3.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-keywords",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "algoliasearch",
            "direct": false,
            "version": "5.31.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "anymatch",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "array-union",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "asynckit",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "big.js",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "birpc",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "boolbase",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "c12",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cacheable",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "callsite",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001778",
            "ecosystem": "npm"
          },
          {
            "name": "ccount",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-html4",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-legacy",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "chevrotain",
            "direct": false,
            "version": "11.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "chevrotain-allstar",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "chrome-trace-event",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "citty",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "clean-css",
            "direct": false,
            "version": "5.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "combined-stream",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "comma-separated-tokens",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "2.20.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "commondir",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "consola",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "copy-anything",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "cose-base",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cose-base",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "crelt",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "cssesc",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape",
            "direct": false,
            "version": "3.33.1",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape-cose-bilkent",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape-fcose",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3",
            "direct": false,
            "version": "7.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "2.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-axis",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-brush",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-chord",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-color",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-contour",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-delaunay",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dispatch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-drag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dsv",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-ease",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-fetch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-force",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-format",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-geo",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-hierarchy",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-interpolate",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-polygon",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-quadtree",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-random",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-sankey",
            "direct": false,
            "version": "0.12.3",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale-chromatic",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-selection",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "1.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time-format",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-timer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-transition",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-zoom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dagre-d3-es",
            "direct": false,
            "version": "7.0.13",
            "ecosystem": "npm"
          },
          {
            "name": "dayjs",
            "direct": false,
            "version": "1.11.19",
            "ecosystem": "npm"
          },
          {
            "name": "de-indent",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decache",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "defu",
            "direct": false,
            "version": "6.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "delaunator",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "delayed-stream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dequal",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "destr",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "devlop",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "dijkstrajs",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "dir-glob",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dotenv",
            "direct": false,
            "version": "16.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.307",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex-xs",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emojis-list",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.25.12",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "8.48.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-prettier",
            "direct": false,
            "version": "8.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-prettier",
            "direct": false,
            "version": "5.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-vue",
            "direct": false,
            "version": "9.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "5.1.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": "esquery",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "events",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-diff",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-glob",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "file-loader",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-cache-dir",
            "direct": false,
            "version": "3.3.2",
            "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": "flat-cache",
            "direct": false,
            "version": "6.1.20",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "focus-trap",
            "direct": false,
            "version": "7.6.5",
            "ecosystem": "npm"
          },
          {
            "name": "follow-redirects",
            "direct": false,
            "version": "1.15.11",
            "ecosystem": "npm"
          },
          {
            "name": "fontverter",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "fs-minipass",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "giget",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "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": "glob-to-regexp",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "13.24.0",
            "ecosystem": "npm"
          },
          {
            "name": "globby",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "graphemer",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "hachure-fill",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "handlebars",
            "direct": false,
            "version": "4.7.8",
            "ecosystem": "npm"
          },
          {
            "name": "harfbuzzjs",
            "direct": false,
            "version": "0.4.15",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hashery",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-to-html",
            "direct": false,
            "version": "9.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-whitespace",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "he",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "hookable",
            "direct": false,
            "version": "5.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "hookified",
            "direct": false,
            "version": "1.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "html-void-elements",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "immutable",
            "direct": false,
            "version": "4.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "internmap",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "internmap",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "interpret",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-binary-path",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-buffer",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.16.1",
            "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-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-path-inside",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-what",
            "direct": false,
            "version": "4.1.16",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-worker",
            "direct": false,
            "version": "27.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.1",
            "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-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "5.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "khroma",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "langium",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "layout-base",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "layout-base",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "loader-runner",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "loader-utils",
            "direct": false,
            "version": "2.0.4",
            "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-es",
            "direct": false,
            "version": "4.17.23",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.17",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mark.js",
            "direct": false,
            "version": "8.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-container",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-footnote",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-ins",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-mark",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-sub",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-sup",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-task-checkbox",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-ts",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "marked",
            "direct": false,
            "version": "16.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "markstream-core",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-hast",
            "direct": false,
            "version": "13.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-hast",
            "direct": false,
            "version": "13.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-character",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-encode",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-sanitize-uri",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-symbol",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-types",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "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": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "3.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "minisearch",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "minizlib",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "mitt",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "mlly",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "muggle-string",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.11",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare-lite",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "neo-async",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "node-fetch-native",
            "direct": false,
            "version": "1.6.7",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.36",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "nth-check",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "null-loader",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "nypm",
            "direct": false,
            "version": "0.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "ohash",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "oniguruma-parser",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "oniguruma-to-es",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "oniguruma-to-es",
            "direct": false,
            "version": "4.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "orderedmap",
            "direct": false,
            "version": "2.1.1",
            "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": "package-manager-detector",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "pako",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-browserify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-data-parser",
            "direct": false,
            "version": "0.1.0",
            "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-parse",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "perfect-debounce",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-dir",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pngjs",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "points-on-curve",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "points-on-path",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-selector-parser",
            "direct": false,
            "version": "6.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "preact",
            "direct": false,
            "version": "10.26.9",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "prettier-linter-helpers",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "property-expr",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "property-information",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-changeset",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-collab",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-commands",
            "direct": false,
            "version": "1.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-dropcursor",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-gapcursor",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-history",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-inputrules",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-keymap",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-markdown",
            "direct": false,
            "version": "1.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-menu",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-model",
            "direct": false,
            "version": "1.25.4",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-schema-basic",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-schema-list",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-state",
            "direct": false,
            "version": "1.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-tables",
            "direct": false,
            "version": "1.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-trailing-node",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-transform",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "prosemirror-view",
            "direct": false,
            "version": "1.41.6",
            "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": "punycode.js",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "qified",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "querystring",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "rc9",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "rechoir",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "regex-recursion",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "regex-utilities",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "require-main-filename",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.11",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "robust-predicates",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.44.2",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "rope-sequence",
            "direct": false,
            "version": "1.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "roughjs",
            "direct": false,
            "version": "4.6.6",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "rw",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "sass",
            "direct": false,
            "version": "1.66.1",
            "ecosystem": "npm"
          },
          {
            "name": "sass-loader",
            "direct": false,
            "version": "13.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "schema-utils",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "schema-utils",
            "direct": false,
            "version": "4.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "search-insights",
            "direct": false,
            "version": "2.17.3",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "set-blocking",
            "direct": false,
            "version": "2.0.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": "shelljs",
            "direct": false,
            "version": "0.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "shiki-stream",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": false,
            "version": "0.5.21",
            "ecosystem": "npm"
          },
          {
            "name": "space-separated-tokens",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "speakingurl",
            "direct": false,
            "version": "14.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "state-local",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "stream-markdown-parser",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "stringify-entities",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "stylis",
            "direct": false,
            "version": "4.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "subset-font",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "superjson",
            "direct": false,
            "version": "2.2.2",
            "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": "svg.draggable.js",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "svg.easing.js",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "svg.filter.js",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "svg.js",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "svg.pathmorphing.js",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "svg.resize.js",
            "direct": false,
            "version": "1.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "svg.select.js",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "svg.select.js",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "synckit",
            "direct": false,
            "version": "0.11.12",
            "ecosystem": "npm"
          },
          {
            "name": "tabbable",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tapable",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tar",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "terser",
            "direct": false,
            "version": "5.46.0",
            "ecosystem": "npm"
          },
          {
            "name": "terser-webpack-plugin",
            "direct": false,
            "version": "5.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "text-table",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tiny-case",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.15",
            "ecosystem": "npm"
          },
          {
            "name": "tippy.js",
            "direct": false,
            "version": "6.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "toposort",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "trim-lines",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ts-dedent",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsutils",
            "direct": false,
            "version": "3.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "2.19.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "4.41.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "uc.micro",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ufo",
            "direct": false,
            "version": "1.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "uglify-js",
            "direct": false,
            "version": "3.19.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-is",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-is",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-position",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-stringify-position",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit-parents",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit-parents",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "upath",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vfile",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-message",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-message",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "5.4.19",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "6.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-webfont-dl",
            "direct": false,
            "version": "3.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-jsonrpc",
            "direct": false,
            "version": "8.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-languageserver",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-languageserver-protocol",
            "direct": false,
            "version": "3.17.5",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-languageserver-textdocument",
            "direct": false,
            "version": "1.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-languageserver-types",
            "direct": false,
            "version": "3.17.5",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-uri",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "vue-cli-plugin-vuetify",
            "direct": false,
            "version": "2.5.8",
            "ecosystem": "npm"
          },
          {
            "name": "vue-demi",
            "direct": false,
            "version": "0.14.10",
            "ecosystem": "npm"
          },
          {
            "name": "vue-eslint-parser",
            "direct": false,
            "version": "9.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "vue-template-compiler",
            "direct": false,
            "version": "2.7.16",
            "ecosystem": "npm"
          },
          {
            "name": "vue-tsc",
            "direct": false,
            "version": "1.8.8",
            "ecosystem": "npm"
          },
          {
            "name": "vuetify-loader",
            "direct": false,
            "version": "2.0.0-alpha.9",
            "ecosystem": "npm"
          },
          {
            "name": "w3c-keyname",
            "direct": false,
            "version": "2.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "watchpack",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "wawoff2",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "webpack",
            "direct": false,
            "version": "5.105.0",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-sources",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-module",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "woff2sfnt-sfnt2woff",
            "direct": false,
            "version": "1.0.0",
            "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": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "xml-name-validator",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "15.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "18.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "zwitch",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "commitizen",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-asyncio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-cov",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ruff",
            "direct": false,
            "version": "0.15.22",
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 933,
        "direct_count": 98,
        "indirect_count": 835
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 348,
        "merged_prs": 1661,
        "open_issues": 1009,
        "closed_ratio": 0.841,
        "closed_issues": 5356,
        "closed_unmerged_prs": 667
      },
      "bus_factor": 1,
      "bot_contributors": 3,
      "top_contributors": [
        {
          "type": "User",
          "login": "Soulter",
          "commits": 3372,
          "avatar_url": "https://avatars.githubusercontent.com/u/37870767?v=4"
        },
        {
          "type": "User",
          "login": "Raven95676",
          "commits": 211,
          "avatar_url": "https://avatars.githubusercontent.com/u/176760093?v=4"
        },
        {
          "type": "User",
          "login": "RC-CHN",
          "commits": 91,
          "avatar_url": "https://avatars.githubusercontent.com/u/67079377?v=4"
        },
        {
          "type": "User",
          "login": "zouyonghe",
          "commits": 71,
          "avatar_url": "https://avatars.githubusercontent.com/u/62183434?v=4"
        },
        {
          "type": "User",
          "login": "anka-afk",
          "commits": 63,
          "avatar_url": "https://avatars.githubusercontent.com/u/110004162?v=4"
        },
        {
          "type": "User",
          "login": "LIghtJUNction",
          "commits": 57,
          "avatar_url": "https://avatars.githubusercontent.com/u/106986785?v=4"
        },
        {
          "type": "User",
          "login": "Cedarflake",
          "commits": 57,
          "avatar_url": "https://avatars.githubusercontent.com/u/59095086?v=4"
        },
        {
          "type": "User",
          "login": "advent259141",
          "commits": 57,
          "avatar_url": "https://avatars.githubusercontent.com/u/197440256?v=4"
        },
        {
          "type": "User",
          "login": "lxfight",
          "commits": 43,
          "avatar_url": "https://avatars.githubusercontent.com/u/108376172?v=4"
        },
        {
          "type": "User",
          "login": "Dt8333",
          "commits": 30,
          "avatar_url": "https://avatars.githubusercontent.com/u/25431943?v=4"
        }
      ],
      "contributors_sampled": 97,
      "top_contributor_share": 0.717
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build-docs.yml",
        "code-format.yml",
        "codeql.yml",
        "coverage_test.yml",
        "dashboard_ci.yml",
        "docker-image.yml",
        "release.yml",
        "smoke_test.yml",
        "stale.yml",
        "sync-wiki.yml",
        "unit_tests.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": true
    },
    "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": 6,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "25 out of 25 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 2,
            "reason": "Found 8/30 approved changesets -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 21 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool is run on all commits",
            "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": "218 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "bb9b1878474e5ed65667d5c2c6b7fd6efbc51db4",
        "ran_at": "2026-08-05T01:05:59Z",
        "aggregate_score": 5.3,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": true,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "recent_prs": {
        "merged_7d": 36,
        "decided_7d": 46,
        "merged_30d": 44,
        "authors_30d": 25,
        "decided_30d": 57,
        "sample_size": 60,
        "window_days": 30,
        "sample_exhausted": false,
        "authors_probed_30d": 12,
        "newcomer_merged_30d": 3,
        "bot_prs_excluded_30d": 1,
        "newcomer_authors_30d": 4,
        "newcomer_decided_30d": 6
      },
      "ci_last_run_at": "2026-08-05T00:59:58Z",
      "oldest_open_prs": [
        {
          "number": 3182,
          "created_at": "2025-10-28T02:58:23Z",
          "last_comment_at": "2025-10-28T04:49:00Z",
          "last_comment_author": "Flartiny"
        },
        {
          "number": 3725,
          "created_at": "2025-11-21T12:34:16Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 4451,
          "created_at": "2026-01-13T16:35:20Z",
          "last_comment_at": "2026-03-31T12:38:16Z",
          "last_comment_author": "AstralSolipsism"
        },
        {
          "number": 4650,
          "created_at": "2026-01-24T04:11:57Z",
          "last_comment_at": "2026-02-09T08:25:18Z",
          "last_comment_author": "bylkuse"
        },
        {
          "number": 4683,
          "created_at": "2026-01-25T07:19:30Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 4813,
          "created_at": "2026-02-02T06:52:57Z",
          "last_comment_at": "2026-02-03T09:02:21Z",
          "last_comment_author": "LIghtJUNction"
        },
        {
          "number": 4842,
          "created_at": "2026-02-03T14:45:52Z",
          "last_comment_at": "2026-02-03T15:06:11Z",
          "last_comment_author": "NayukiChiba"
        },
        {
          "number": 4850,
          "created_at": "2026-02-03T16:54:41Z",
          "last_comment_at": "2026-02-03T17:14:39Z",
          "last_comment_author": "copilot-swe-agent"
        },
        {
          "number": 4854,
          "created_at": "2026-02-03T18:28:50Z",
          "last_comment_at": "2026-02-03T18:29:23Z",
          "last_comment_author": "dosubot"
        },
        {
          "number": 4861,
          "created_at": "2026-02-04T05:33:00Z",
          "last_comment_at": "2026-03-04T13:53:39Z",
          "last_comment_author": "qa296"
        },
        {
          "number": 4886,
          "created_at": "2026-02-05T10:07:52Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 4894,
          "created_at": "2026-02-05T13:49:04Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 5087,
          "created_at": "2026-02-13T06:10:44Z",
          "last_comment_at": "2026-02-13T06:10:59Z",
          "last_comment_author": "dosubot"
        },
        {
          "number": 5090,
          "created_at": "2026-02-13T07:58:01Z",
          "last_comment_at": "2026-02-13T08:25:04Z",
          "last_comment_author": "evpeople"
        },
        {
          "number": 5093,
          "created_at": "2026-02-13T16:44:51Z",
          "last_comment_at": "2026-06-23T15:15:00Z",
          "last_comment_author": "Ereebay"
        },
        {
          "number": 5245,
          "created_at": "2026-02-19T18:58:00Z",
          "last_comment_at": "2026-03-20T20:13:05Z",
          "last_comment_author": "Luna-channel"
        },
        {
          "number": 5291,
          "created_at": "2026-02-21T13:14:12Z",
          "last_comment_at": "2026-02-28T08:38:43Z",
          "last_comment_author": "zouyonghe"
        },
        {
          "number": 5398,
          "created_at": "2026-02-24T01:41:28Z",
          "last_comment_at": "2026-02-24T01:41:46Z",
          "last_comment_author": "gemini-code-assist"
        },
        {
          "number": 5487,
          "created_at": "2026-02-26T16:20:35Z",
          "last_comment_at": "2026-02-26T16:22:44Z",
          "last_comment_author": "dosubot"
        },
        {
          "number": 5512,
          "created_at": "2026-02-27T06:21:10Z",
          "last_comment_at": "2026-03-21T07:40:27Z",
          "last_comment_author": "zgojin"
        }
      ],
      "last_merged_pr_at": "2026-08-04T07:17:40Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 738,
          "created_at": "2025-03-09T03:38:50Z",
          "last_comment_at": "2025-11-12T06:28:01Z",
          "last_comment_author": "roeseth"
        },
        {
          "number": 814,
          "created_at": "2025-03-13T07:53:19Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 892,
          "created_at": "2025-03-19T15:32:21Z",
          "last_comment_at": "2025-03-19T15:33:56Z",
          "last_comment_author": "Zawinzala"
        },
        {
          "number": 897,
          "created_at": "2025-03-20T07:19:05Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1126,
          "created_at": "2025-04-03T03:12:36Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1242,
          "created_at": "2025-04-12T06:48:58Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1267,
          "created_at": "2025-04-13T18:12:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1293,
          "created_at": "2025-04-16T08:49:59Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1313,
          "created_at": "2025-04-18T05:43:19Z",
          "last_comment_at": "2025-04-18T05:45:24Z",
          "last_comment_author": "Soulter"
        },
        {
          "number": 1314,
          "created_at": "2025-04-18T05:50:00Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1318,
          "created_at": "2025-04-18T08:30:18Z",
          "last_comment_at": "2025-04-27T12:54:38Z",
          "last_comment_author": "nickhelion"
        },
        {
          "number": 1348,
          "created_at": "2025-04-20T10:30:57Z",
          "last_comment_at": "2026-02-05T13:53:28Z",
          "last_comment_author": "Sjshi763"
        },
        {
          "number": 1463,
          "created_at": "2025-05-04T13:46:15Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1497,
          "created_at": "2025-05-09T05:41:22Z",
          "last_comment_at": "2025-05-12T00:20:57Z",
          "last_comment_author": "advent259141"
        },
        {
          "number": 1546,
          "created_at": "2025-05-13T08:00:42Z",
          "last_comment_at": "2025-11-22T03:01:17Z",
          "last_comment_author": "Sjshi763"
        },
        {
          "number": 1756,
          "created_at": "2025-06-06T18:45:34Z",
          "last_comment_at": "2026-02-10T08:46:44Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 1798,
          "created_at": "2025-06-12T09:41:16Z",
          "last_comment_at": "2025-06-19T06:51:45Z",
          "last_comment_author": "w-xiaob"
        },
        {
          "number": 1823,
          "created_at": "2025-06-16T08:01:37Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1831,
          "created_at": "2025-06-17T02:36:06Z",
          "last_comment_at": "2025-08-22T02:03:58Z",
          "last_comment_author": "Jacky1n7"
        },
        {
          "number": 1837,
          "created_at": "2025-06-18T02:58:05Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/AstrBotDevs/AstrBot",
    "host": "github.com",
    "name": "AstrBot",
    "owner": "AstrBotDevs"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "exceptional",
      "name": "Overall health",
      "note": "The weighted overall 83 is calibrated to 96 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 83,
            "calibrated": 96,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 96,
      "inputs": {
        "security": 62,
        "vitality": 96,
        "community": 94,
        "governance": 64,
        "calibration": "2026-08-02",
        "engineering": 96,
        "ai_readiness": 88,
        "weighted_overall_raw": 83
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "exceptional",
        "name": "Vitality",
        "value": 96,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "exceptional",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "commits_last_year": 2173,
              "human_commit_share": 0.97,
              "days_since_last_push": 0,
              "active_weeks_last_year": 52
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "52/52 weeks with commits",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 52
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "2173 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 2173
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v4.27.1",
              "releases_from_tags": false,
              "days_since_latest_release": 2,
              "mean_days_between_releases": 4.2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 2 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~4.2 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 4.2
                    }
                  }
                ],
                "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": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "exceptional",
        "name": "Community & Adoption",
        "value": 94,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "exceptional",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 96,
            "inputs": {
              "forks": 2759,
              "stars": 38588,
              "watchers": 81,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "38,588 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 38588
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "2,759 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 2759
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "81 watchers",
                "points": 10.6,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 81
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": 6,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "readme_badge_services": [
                "shields.io"
              ],
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (AGPL-3.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "AGPL-3.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 64,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "weak",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 39,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 97,
              "top_contributor_share": 0.717
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 72% of commits",
                "points": 6.4,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 72
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "97 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 97
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 21 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 66,
            "inputs": {
              "merged_prs": 1661,
              "open_issues": 1009,
              "closed_issues": 5356,
              "prs_merged_7d": 36,
              "prs_decided_7d": 46,
              "prs_merged_30d": 44,
              "prs_decided_30d": 57,
              "issue_closed_ratio": 0.841,
              "closed_unmerged_prs": 667,
              "first_time_authors_30d": 4,
              "first_time_prs_merged_30d": 3,
              "first_time_prs_decided_30d": 6
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "84% of issues closed",
                "points": 35.3,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 84
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "1661/2328 decided PRs merged",
                "points": 21.4,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 1661,
                      "decided": 2328
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "3/6 first-time contributors' PRs merged in 30d",
                "points": 6.5,
                "status": "partial",
                "details": [
                  {
                    "code": "newcomer_prs_merged",
                    "params": {
                      "days": 30,
                      "merged": 3,
                      "decided": 6
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 8/30 approved changesets -- score normalized to 2",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "followers": 520,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "AstrBotDevs",
              "public_repos": 32,
              "account_age_days": 545
            },
            "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": "520 followers of AstrBotDevs",
                "points": 19.5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 520,
                      "login": "AstrBotDevs"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "32 public repos, account ~1 yr old",
                "points": 14,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 32
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 1
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "exceptional",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "AstrBot"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 2
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 2 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "161 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 161
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "exceptional",
        "name": "Engineering Quality",
        "value": 96,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "exceptional",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 94,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": true
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "11 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "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": null,
                "points": 16,
                "status": "met",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 9.6,
                "status": "met",
                "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": "25 out of 25 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "exceptional",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "ai",
                "chatbot",
                "chatgpt",
                "openai",
                "qqbot",
                "gpt",
                "qq",
                "agent",
                "docker",
                "llm",
                "python",
                "telegram",
                "gemini",
                "llama",
                "mcp",
                "discord",
                "astrbot"
              ],
              "has_wiki": true,
              "homepage": "https://astrbot.app",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://astrbot.app",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "17 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 17
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 62,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": null,
            "notes": [],
            "value": 53,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 18,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 0,
              "scorecard_aggregate": 5.3
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "25 out of 25 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 8/30 approved changesets -- score normalized to 2",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 21 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is run on all commits",
                "points": 5,
                "status": "met",
                "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": "218 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "exceptional",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:AstrBot@4.27.1 runtime dependency closure — what installing the published package pulls in — 142 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "pypi:AstrBot@4.27.1",
                  "assessed": 142
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 142,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "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 carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "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": 142,
              "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": 18
            },
            "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": "excellent",
        "name": "AI Readiness",
        "value": 88,
        "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": 1,
              "agent_instruction_files": [
                ".github/copilot-instructions.md",
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 6502
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": ".github/copilot-instructions.md, AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".github/copilot-instructions.md, 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": "97 of 97 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 97,
                      "sampled": 97
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "excellent",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 88,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "pnpm-lock.yaml"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "dashboard/tsconfig.json",
                "pyrightconfig.json"
              ],
              "agent_commit_share": 0.04,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.03
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 11,
                "status": "met",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "dashboard/tsconfig.json, pyrightconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "dashboard/tsconfig.json, pyrightconfig.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": "4 of the last 100 commits agent-authored or agent-credited",
                "points": 8,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 4,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "3 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 3,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 81,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 1267458,
              "source_files_sampled": 744,
              "oversized_source_files": 19
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python with type-check config (dashboard/tsconfig.json, pyrightconfig.json)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "dashboard/tsconfig.json, pyrightconfig.json",
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "19/744 source files over 60KB",
                "points": 53.6,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 744,
                      "oversized": 19
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "exceptional",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "example_dirs": [
                "samples"
              ],
              "has_mcp_signal": true,
              "api_schema_files": [
                "docs/public/openapi.json"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "docs/public/openapi.json",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "docs/public/openapi.json"
                    }
                  }
                ],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "samples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "samples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "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": {
      "top": [
        "library",
        "application"
      ],
      "labels": [
        "network-service",
        "cli",
        "mcp-server",
        "chat-bot",
        "library",
        "web-ui"
      ],
      "scores": {
        "cli": 14,
        "web-ui": 4,
        "library": 4.4,
        "chat-bot": 6,
        "mcp-server": 7,
        "network-service": 14
      },
      "primary": "network-service",
      "evidence": [
        {
          "tier": "declared",
          "label": "cli",
          "source": "pypi.console_scripts",
          "weight": 10
        },
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:pypi",
          "weight": 6
        },
        {
          "tier": "dependencies",
          "label": "chat-bot",
          "source": "dep:python-telegram-bot",
          "weight": 4
        },
        {
          "tier": "dependencies",
          "label": "cli",
          "source": "dep:click",
          "weight": 4
        },
        {
          "tier": "dependencies",
          "label": "mcp-server",
          "source": "dep:mcp",
          "weight": 4
        },
        {
          "tier": "dependencies",
          "label": "network-service",
          "source": "dep:fastapi",
          "weight": 4
        },
        {
          "tier": "structure",
          "label": "network-service",
          "source": "tree.k8s",
          "weight": 4
        },
        {
          "tier": "dependencies",
          "label": "web-ui",
          "source": "dep:vue",
          "weight": 4
        },
        {
          "tier": "declared",
          "label": "library",
          "source": "npm.private",
          "weight": -3.6
        },
        {
          "tier": "structure",
          "label": "mcp-server",
          "source": "mcp_signal",
          "weight": 3
        },
        {
          "tier": "structure",
          "label": "network-service",
          "source": "api_schema",
          "weight": 3
        },
        {
          "tier": "structure",
          "label": "network-service",
          "source": "tree.compose",
          "weight": 3
        },
        {
          "tier": "tags",
          "label": "chat-bot",
          "source": "tag:chatbot",
          "weight": 2
        },
        {
          "tier": "description",
          "label": "library",
          "source": "description:library",
          "weight": 2
        }
      ],
      "artifacts": [
        {
          "path": "dashboard/package.json",
          "labels": [],
          "ecosystem": "npm"
        },
        {
          "path": "pyproject.toml",
          "labels": [
            "cli"
          ],
          "ecosystem": "pypi"
        }
      ],
      "confidence": "medium",
      "host_extension": false,
      "runs_as_process": true,
      "consumed_by_code": true
    },
    "metrics_version": "2.5.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "First-time contributor figures cover 12 of 25 authors (cap 12)"
  ],
  "report_type": "repository",
  "generated_at": "2026-08-05T01:06:28.377268Z",
  "schema_version": "0.31.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/AstrBotDevs/AstrBot.svg",
  "full_name": "AstrBotDevs/AstrBot",
  "license_state": "standard",
  "license_spdx": "AGPL-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.5.0, Schema v0.31.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte StatistikenPyPI.