Registro público
Informe de salud del softwareesquema 0.31.0 · métricas 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 estrellas⑂ 2759 forksdesde dic 2022Ver en GitHub ↗
TipoServicio de redHerramienta de línea de comandosServidor MCPBot de chatBibliotecaInterfaz webcómo se determina

AstrBotDevs/AstrBot tiene un índice de salud de 96 sobre 100, lo que lo sitúa en la banda Excepcional. Su puntuación más alta es Vitality (96/100) y la más baja, Security (62/100). Se actualizó por última vez hoy. Una sola persona concentra la mayor parte del trabajo reciente.

96
global / 100
Excepcional

Índice de salud del software

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

96
Excepcional93-100El nivel más alto del registro (≈ el 5% superior); cumple prácticamente todos los criterios evaluados
Excelente80-92Sólido en todos los frentes; carencias menores
Bueno65-79Saludable; carencias limitadas y manejables
Moderado50-64Aceptable con carencias notables; se recomienda revisión
Débil35-49Debilidades sustanciales en varias áreas
En riesgo20-34Debilidades significativas; su adopción exige cautela
Crítico1-19Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

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

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

Titularidad

AstrBot AIOrganización
520 seguidores32 repositorios públicosdesde feb 2025

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

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
PyPIAstrBot4.27.1-161hace 2 díasagentastrbotchatbotim

Métricas por categoría

Vitalidad

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

96Excepcional · 21% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
36/36Cadencia de commits — 52/52 semanas con commits
18/18Volumen de commits — 2173 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year2173
human_commit_share0,97
days_since_last_push0
active_weeks_last_year52
Cómo se puntúa
27/27Publica versiones — 100 versiones publicadas
36/36Recencia de las versiones — última versión hace 2 días
27/27Cadencia de publicación — una versión cada ~4,2 días
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Datos de entrada utilizados
releases_count100
latest_release_tagv4.27.1
releases_from_tagsno
days_since_latest_release2
mean_days_between_releases4,2

Comunidad y Adopción

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

94Excepcional · 17% del índice global
Cómo se puntúa
60/60Estrellas — 38.588 estrellas
25/25Forks — 2759 forks
10.6/15Observadores — 81 observadores
Datos de entrada utilizados
forks2759
stars38.588
watchers81
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (AGPL-3.0)
18/18Guía CONTRIBUTING
13.5/13.5Código de conducta
0/7.2Plantilla de issues
6.3/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
readme_badges6
has_contributing
has_issue_templateno
has_code_of_conduct
readme_badge_servicesshields.io
has_pull_request_template

Sostenibilidad y Gobernanza

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

64Moderado · 23% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
6.4/22.5Distribución de commits — el principal contribuyente firma el 72% de los commits
13.5/13.5Amplitud de contribuyentes — 97 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 21 contributing companies or organizations
Datos de entrada utilizados
bus_factor1
contributors_sampled97
top_contributor_share0,717
Cómo se puntúa
35.3/42Resolución de issues — 84% de issues cerradas
21.4/30Aceptación de PR — 1661/2328 PR decididos fusionados
6.5/13Newcomer PR acceptance — 3/6 PR de contribuyentes primerizos fusionados en 30 d
3/15OpenSSF Scorecard: Code-Review — Found 8/30 approved changesets -- score normalized to 2
Datos de entrada utilizados
merged_prs1661
open_issues1009
closed_issues5356
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
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
19.5/25Alcance del propietario — 520 seguidores de AstrBotDevs
14/25Trayectoria — 32 repos públicos, cuenta de ~1 años
Datos de entrada utilizados
followers520
owner_typeOrganization
is_verified
owner_loginAstrBotDevs
public_repos32
account_age_days545
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en pypi
35/35Recencia de publicación — última publicación hace 2 días
20/20Historial de versiones — 161 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagesAstrBot
ecosystemspypi
any_deprecatedno
min_days_since_publish2

Calidad de Ingeniería

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

96Excepcional · 19% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 11 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter
9.6/9.6Hooks de pre-commit
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 25 out of 25 merged PRs checked by a CI test -- score normalized to 10
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_config
has_precommit_config

Documentación

100Excepcional
Cómo se puntúa
30/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://astrbot.app
10/10Descripción del repositorio
10/10Topics — 17 topics
10/10Wiki
Datos de entrada utilizados
topicsai, chatbot, chatgpt, openai, qqbot, gpt, qq, agent, docker, llm, python, telegram, gemini, llama, mcp, discord, astrbot
has_wiki
homepagehttps://astrbot.app
has_readme
has_docs_dir
has_description

Seguridad

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

62Moderado · 16% del índice global
Cómo se puntúa
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.5Licencia — license file detected
7.5/7.5Maintained — 30 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
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
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated18
scorecard_versionv5.5.0
checks_inconclusive0
scorecard_aggregate5,3
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
25/25Dependencias indirectas libres de avisos conocidos — ninguna dependencia indirecta tiene un aviso conocido
0/40Sin avisos pendientes — ningún aviso tiene fecha de publicación
Datos de entrada utilizados
sourceosv
advisories0
affected_packages0
assessed_packages142
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Excluidos de la puntuación (sin datos o no aplicable): Sin avisos pendientes. Los pesos restantes se han renormalizado. Se cotejó el cierre de dependencias en tiempo de ejecución de pypi:AstrBot@4.27.1 —lo que arrastra la instalación del paquete publicado—: 142 paquetes. No se analiza la alcanzabilidad.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Tiene un peso deliberadamente pequeño (4%): las herramientas para agentes son una señal real de mantenimiento, pero un repositorio sin ninguna puede alcanzar igualmente 100/100.

88Excelente · 4% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — .github/copilot-instructions.md, AGENTS.md
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 97 de 97 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share1
agent_instruction_files.github/copilot-instructions.md, AGENTS.md
agent_instruction_max_bytes6502
Cómo se puntúa
18/18Arranque con un solo comando — Makefile
22/22Pruebas automatizadas
11/11Configuración de lint / formato
11/11Verificación estática de tipos — dashboard/tsconfig.json, pyrightconfig.json
10/10Entorno reproducible — Dockerfile, lockfile
8/10Práctica demostrada con agentes — 4 de los últimos 100 commits con autoría o crédito de agente
8/8Mantenimiento automatizado — 3 de los últimos 100 commits son actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Datos de entrada utilizados
has_nixno
has_tests
lockfilespnpm-lock.yaml
has_dockerfile
typed_languageno
bootstrap_filesMakefile
has_devcontainerno
has_linter_config
typecheck_configsdashboard/tsconfig.json, pyrightconfig.json
agent_commit_share0,04
toolchain_manifests
dependency_bot_commit_share0,03
Cómo se puntúa
27/45Código verificable por tipos — Python con configuración de verificación de tipos (dashboard/tsconfig.json, pyrightconfig.json)
53.6/55Tamaños de archivo manejables — 19/744 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languagePython
largest_source_bytes1.267.458
source_files_sampled744
oversized_source_files19
Cómo se puntúa
40/40Esquema de API (OpenAPI/GraphQL/proto) — docs/public/openapi.json
20/20Servidor MCP
40/40Ejemplos ejecutables — samples
Datos de entrada utilizados
example_dirssamples
has_mcp_signal
api_schema_filesdocs/public/openapi.json

Datos clave

38.588estrellas de GitHub
97contribuidores
2173commits en los últimos 12 meses
0días desde el último push
100versiones publicadas
1factor bus
1009issues abiertas
npm, PyPIecosistemas de paquetes

Advertencias de recopilación de datos

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

Más detalle

Historial de estrellas y forks 0 ★ / 2759 ⇿
0Estrellas
2759Forks
42Versiones

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

Solo se muestra el historial más reciente: este repositorio supera la ventana de recopilación, por lo que no se captura el historial más antiguo.

16001800200022002400260028002759372026-032026-052026-08
Mayor 0Menor 4Parche 25
OpenSSF Scorecard 5.3 / 10
5.3agregado

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

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

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

Instalar pypi:AstrBot@4.27.1 arrastra 142 paquetes, directos y transitivos: 0 tienen avisos conocidos, de los cuales 0 son dependencias directas.

Ningún aviso conocido afecta a las dependencias evaluadas.

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

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

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

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

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