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

iflytek / skillhub

Self-hosted, open-source agent skill registry for enterprises. Publish & version skill packages, govern with RBAC and audit logs, deploy on-premise with Docker or Kubernetes.

Java · TypeScriptApache-2.0★ 4826 estrellas⑂ 702 forksdesde mar 2026Ver en GitHub ↗
TipoHerramienta de línea de comandosBibliotecaInterfaz webcómo se determina

iflytek/skillhub tiene un índice de salud de 93 sobre 100, lo que lo sitúa en la banda Excepcional. Su puntuación más alta es Engineering Quality (89/100) y la más baja, Security (59/100). Se actualizó por última vez hoy. 2 personas concentran la mayor parte del trabajo reciente.

93
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.

93
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 79 se calibra a 93 en la escala publicada del índice (calibración del registro 2026-08-02).

Titularidad

iFLYTEKOrganización
562 seguidores65 repositorios públicosdesde mar 2017

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
npm@astron-team/skillhub0.1.930728hace 9 díasskillhubaicoding-agentskillscli

Métricas por categoría

Vitalidad

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

83Excelente · 21% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
13.8/36Cadencia de commits — 20/52 semanas con commits
18/18Volumen de commits — 1091 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 27 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year1091
human_commit_share1
days_since_last_push0
active_weeks_last_year20
Cómo se puntúa
27/27Publica versiones — 19 versiones publicadas
36/36Recencia de las versiones — última versión hace 1 días
27/27Cadencia de publicación — una versión cada ~6,9 días
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Datos de entrada utilizados
releases_count19
latest_release_tagv0.2.15
releases_from_tagsno
days_since_latest_release1
mean_days_between_releases6,9

Comunidad y Adopción

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

84Excelente · 17% del índice global
Cómo se puntúa
59.8/60Estrellas — 4826 estrellas
23.7/25Forks — 702 forks
9.6/15Observadores — 55 observadores
Datos de entrada utilizados
forks702
stars4826
watchers55
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (Apache-2.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_badges
has_contributing
has_issue_templateno
has_code_of_conduct
readme_badge_services
has_pull_request_template
Cómo se puntúa
46.5/80Descargas mensuales — 3072 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packages@astron-team/skillhub
dependents
ecosystemsnpm
total_downloads
monthly_downloads3072
Excluidos de la puntuación (sin datos o no aplicable): Dependientes en el registro. Los pesos restantes se han renormalizado.

Sostenibilidad y Gobernanza

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

76Bueno · 23% del índice global
Cómo se puntúa
25.2/54Factor bus — la mitad de los commits recae en 2 contribuyente(s)
15.1/22.5Distribución de commits — el principal contribuyente firma el 33% de los commits
13.5/13.5Amplitud de contribuyentes — 28 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 4 contributing companies or organizations
Datos de entrada utilizados
bus_factor2
contributors_sampled28
top_contributor_share0,33
Cómo se puntúa
32.1/42Resolución de issues — 76% de issues cerradas
22.1/30Aceptación de PR — 303/412 PR decididos fusionados
0/13Newcomer PR acceptance — ningún PR de un contribuyente primerizo decidido en 30 d
9/15OpenSSF Scorecard: Code-Review — Found 8/12 approved changesets -- score normalized to 6
Datos de entrada utilizados
merged_prs303
open_issues48
closed_issues155
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio0,764
closed_unmerged_prs109
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Excluidos de la puntuación (sin datos o no aplicable): newcomer_pr_acceptance. Los pesos restantes se han renormalizado.
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
19.8/25Alcance del propietario — 562 seguidores de iflytek
25/25Trayectoria — 65 repos públicos, cuenta de ~9 años
Datos de entrada utilizados
followers562
owner_typeOrganization
is_verified
owner_loginiflytek
public_repos65
account_age_days3410
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en npm
35/35Recencia de publicación — última publicación hace 9 días
20/20Historial de versiones — 8 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packages@astron-team/skillhub
ecosystemsnpm
any_deprecatedno
min_days_since_publish9

Calidad de Ingeniería

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

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

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://skill.xfyun.cn
10/10Descripción del repositorio
10/10Topics — 18 topics
10/10Wiki
Datos de entrada utilizados
topicsopenclaw, openclaw-skills, skill, iflytek-astron, skill-hub, skill-manager, skills, agent-framework, ai-orchestration, audit-log, enterprise-ai, rbac, skill-management, skill-registry, ai-agent, ai-infrastructure, version-control, ai-governance
has_wiki
homepagehttps://skill.xfyun.cn
has_readme
has_docs_dir
has_description

Seguridad

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

59Moderado · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0.8/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.2/2.5CI-Tests — 11 out of 12 merged PRs checked by a CI test -- score normalized to 9
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
4.5/7.5Code-Review — Found 8/12 approved changesets -- score normalized to 6
2.5/2.5Contributors — project has 4 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
7.5/7.5Maintained — 30 commit(s) and 27 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
1/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
3.5/5SAST — SAST tool detected but not run on all commits
4.5/5Security-Policy — security policy file 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 — 56 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated18
scorecard_versionv5.5.0
checks_inconclusive0
scorecard_aggregate4,9
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
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_packages7
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 npm:@astron-team/skillhub@0.1.9 —lo que arrastra la instalación del paquete publicado—: 7 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.

81Excelente · 4% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — AGENTS.md
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 98 de 100 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,98
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes29.196
Cómo se puntúa
18/18Arranque con un solo comando — Makefile
22/22Pruebas automatizadas
11/11Configuración de lint / formato — .eslintrc.cjs
11/11Verificación estática de tipos — cli/tsconfig.json, document/tsconfig.json, web/tsconfig.json
10/10Entorno reproducible — Dockerfile, lockfile
4/10Práctica demostrada con agentes — 2 de los últimos 100 commits con autoría o crédito de agente
0/8Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias
2/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
Datos de entrada utilizados
has_nixno
has_tests
lockfilespackage-lock.json, pnpm-lock.yaml
has_dockerfile
typed_language
bootstrap_filesMakefile
has_devcontainerno
has_linter_config
typecheck_configscli/tsconfig.json, document/tsconfig.json, web/tsconfig.json
agent_commit_share0,02
toolchain_manifestsserver/pom.xml, server/skillhub-app/pom.xml, server/skillhub-auth/pom.xml, server/skillhub-domain/pom.xml, server/skillhub-infra/pom.xml, server/skillhub-notification/pom.xml, server/skillhub-search/pom.xml, server/skillhub-storage/pom.xml
dependency_bot_commit_share0
Cómo se puntúa
45/45Código verificable por tipos — Java (tipado estático)
54.9/55Tamaños de archivo manejables — 3/1364 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageJava
largest_source_bytes87.461
source_files_sampled1364
oversized_source_files3
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
20/20Servidor MCP
40/40Ejemplos ejecutables — examples
Datos de entrada utilizados
example_dirsexamples
has_mcp_signal
api_schema_files

Datos clave

4826estrellas de GitHub
28contribuidores
1091commits en los últimos 12 meses
0días desde el último push
19versiones publicadas
2factor bus
48issues abiertas
Maven, npmecosistemas de paquetes

Advertencias de recopilación de datos

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

Más detalle

Historial de estrellas y forks 0 ★ / 702 ⇿
0Estrellas
702Forks
19Versiones

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.

0125250375500625750693372026-032026-052026-07
Mayor 0Menor 0Parche 15
OpenSSF Scorecard 4.9 / 10
4.9agregado

Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).Scorecard v5.5.0 · 2026-07-31 10:42 UTC

10Binary-Artifactsno binaries found in the repo
1Branch-Protectionbranch protection is not maximal on development and all release branches
9CI-Tests11 out of 12 merged PRs checked by a CI test -- score normalized to 9
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
6Code-ReviewFound 8/12 approved changesets -- score normalized to 6
10Contributorsproject has 4 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 27 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
2Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 2
7SASTSAST tool detected but not run on all commits
9Security-Policysecurity policy file detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities56 existing vulnerabilities detected
Dependencias directas 43
RegistroPaqueteRestricción de versiónManifiesto
npmcac^6.7.14cli/package.json
npmfflate^0.8.2cli/package.json
npmprompts^2.4.2cli/package.json
npmsemver^7.6.3cli/package.json
npmzod^3.24.1cli/package.json
npm@docusaurus/core^3.9.2document/package.json
npm@docusaurus/preset-classic^3.9.2document/package.json
npm@mdx-js/react^3.0.0document/package.json
npmclsx^2.0.0document/package.json
npmprism-react-renderer^2.3.0document/package.json
npmreact^18.2.0document/package.json
npmreact-dom^18.2.0document/package.json
Mavencom.iflytek.skillhub:skillhub-domain${project.version}server/pom.xml
Mavencom.iflytek.skillhub:skillhub-auth${project.version}server/pom.xml
Mavencom.iflytek.skillhub:skillhub-search${project.version}server/pom.xml
Mavencom.iflytek.skillhub:skillhub-storage${project.version}server/pom.xml
Mavencom.iflytek.skillhub:skillhub-infra${project.version}server/pom.xml
Mavencom.iflytek.skillhub:skillhub-notification${project.version}server/pom.xml
npm@radix-ui/react-dropdown-menu^2.1.16web/package.json
npm@radix-ui/react-select^2.2.6web/package.json
npm@tanstack/react-query^5.64.0web/package.json
npm@tanstack/react-router^1.95.0web/package.json
npmclass-variance-authority^0.7.0web/package.json
npmclsx^2.1.0web/package.json
npmi18next^25.8.18web/package.json
npmi18next-browser-languagedetector^8.2.1web/package.json
npmlowlight^3.3.0web/package.json
npmlucide-react^0.344.0web/package.json
npmopenapi-fetch^0.13.8web/package.json
npmreact^19.0.0web/package.json
npmreact-diff-viewer-continued^4.2.0web/package.json
npmreact-dom^19.0.0web/package.json
npmreact-dropzone^15.0.0web/package.json
npmreact-i18next^16.5.8web/package.json
npmreact-markdown^10.1.0web/package.json
npmrehype-highlight^7.0.2web/package.json
npmrehype-sanitize^6.0.0web/package.json
npmremark-frontmatter^5.0.0web/package.json
npmremark-gfm^4.0.1web/package.json
npmsonner^2.0.7web/package.json
npmtailwind-merge^2.2.1web/package.json
npmunist-util-visit^5.0.0web/package.json
npmzustand^5.0.11web/package.json
Todas las dependencias 786

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

RegistroPaqueteVersiónRelación
Mavencom.iflytek.skillhub:skillhub-authdirecta
Mavencom.iflytek.skillhub:skillhub-auth0.1.0directa
Mavencom.iflytek.skillhub:skillhub-domaindirecta
Mavencom.iflytek.skillhub:skillhub-domain0.1.0directa
Mavencom.iflytek.skillhub:skillhub-infradirecta
Mavencom.iflytek.skillhub:skillhub-infra0.1.0directa
Mavencom.iflytek.skillhub:skillhub-notificationdirecta
Mavencom.iflytek.skillhub:skillhub-notification0.1.0directa
Mavencom.iflytek.skillhub:skillhub-searchdirecta
Mavencom.iflytek.skillhub:skillhub-search0.1.0directa
Mavencom.iflytek.skillhub:skillhub-storage0.1.0directa
npm@docusaurus/core^3.9.2directa
npm@docusaurus/preset-classic^3.9.2directa
npm@mdx-js/react^3.0.0directa
npm@radix-ui/react-dropdown-menu2.1.16directa
npm@radix-ui/react-select2.2.6directa
npm@tanstack/react-query5.90.21directa
npm@tanstack/react-router1.166.7directa
npmcac^6.7.14directa
npmclass-variance-authority0.7.1directa
npmclsx2.1.1directa
npmclsx^2.0.0directa
npmfflate^0.8.2directa
npmi18next25.8.18directa
npmi18next-browser-languagedetector8.2.1directa
npmlowlight3.3.0directa
npmlucide-react0.344.0directa
npmopenapi-fetch0.13.8directa
npmprism-react-renderer^2.3.0directa
npmprompts^2.4.2directa
npmreact19.2.4directa
npmreact^18.2.0directa
npmreact-diff-viewer-continued4.2.0directa
npmreact-dom19.2.4directa
npmreact-dom^18.2.0directa
npmreact-dropzone15.0.0directa
npmreact-i18next16.5.8directa
npmreact-markdown10.1.0directa
npmrehype-highlight7.0.2directa
npmrehype-sanitize6.0.0directa
npmremark-frontmatter5.0.0directa
npmremark-gfm4.0.1directa
npmsemver6.3.1directa
npmsemver7.7.4directa
npmsemver^7.6.3directa
npmsonner2.0.7directa
npmtailwind-merge2.6.1directa
npmunist-util-visit5.1.0directa
npmzod^3.24.1directa
npmzustand5.0.11directa
Mavencom.fasterxml.jackson.core:jackson-databindindirecta
Mavencom.h2database:h2indirecta
Mavenio.github.arbing:jieba-analysis1.0.3.1indirecta
Mavenio.github.java-diff-utils:java-diff-utils4.12indirecta
Mavenio.micrometer:micrometer-registry-prometheusindirecta
Mavenjakarta.persistence:jakarta.persistence-apiindirecta
Mavenorg.assertj:assertj-coreindirecta
Mavenorg.flywaydb:flyway-coreindirecta
Mavenorg.flywaydb:flyway-database-postgresql10.10.0indirecta
Mavenorg.hibernate.orm:hibernate-coreindirecta
Mavenorg.junit.jupiter:junit-jupiterindirecta
Mavenorg.mockito:mockito-junit-jupiterindirecta
Mavenorg.postgresql:postgresqlindirecta
Mavenorg.redisson:redisson3.51.0indirecta
Mavenorg.springdoc:springdoc-openapi-starter-webmvc-ui2.3.0indirecta
Mavenorg.springframework.boot:spring-boot-configuration-processorindirecta
Mavenorg.springframework.boot:spring-boot-devtoolsindirecta
Mavenorg.springframework.boot:spring-boot-maven-pluginindirecta
Mavenorg.springframework.boot:spring-boot-starterindirecta
Mavenorg.springframework.boot:spring-boot-starter-actuatorindirecta
Mavenorg.springframework.boot:spring-boot-starter-data-jpaindirecta
Mavenorg.springframework.boot:spring-boot-starter-data-redisindirecta
Mavenorg.springframework.boot:spring-boot-starter-mailindirecta
Mavenorg.springframework.boot:spring-boot-starter-oauth2-clientindirecta
Mavenorg.springframework.boot:spring-boot-starter-securityindirecta
Mavenorg.springframework.boot:spring-boot-starter-testindirecta
Mavenorg.springframework.boot:spring-boot-starter-webindirecta
Mavenorg.springframework.boot:spring-boot-starter-webfluxindirecta
Mavenorg.springframework.data:spring-data-commonsindirecta
Mavenorg.springframework.security:spring-security-testindirecta
Mavenorg.springframework.session:spring-session-data-redisindirecta
Mavenorg.springframework:spring-contextindirecta
Mavenorg.springframework:spring-txindirecta
Mavenorg.yaml:snakeyamlindirecta
Mavensoftware.amazon.awssdk:apache-client2.20.26indirecta
Mavensoftware.amazon.awssdk:s32.20.26indirecta
Mavensoftware.amazon.awssdk:sts2.20.26indirecta
npm@algolia/abtesting1.18.1indirecta
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.52.1indirecta
npm@algolia/client-analytics5.52.1indirecta
npm@algolia/client-common5.52.1indirecta
npm@algolia/client-insights5.52.1indirecta
npm@algolia/client-personalization5.52.1indirecta
npm@algolia/client-query-suggestions5.52.1indirecta
npm@algolia/client-search5.52.1indirecta
npm@algolia/ingestion1.52.1indirecta
npm@algolia/monitoring1.52.1indirecta
npm@algolia/recommend5.52.1indirecta
npm@algolia/requester-browser-xhr5.52.1indirecta
npm@algolia/requester-fetch5.52.1indirecta
npm@algolia/requester-node-http5.52.1indirecta
npm@alloc/quick-lru5.2.0indirecta
npm@asamuzakjp/css-color5.1.11indirecta
npm@asamuzakjp/dom-selector7.1.1indirecta
npm@asamuzakjp/generational-cache1.0.1indirecta
npm@asamuzakjp/nwsapi2.3.9indirecta
npm@babel/code-frame7.29.0indirecta
npm@babel/code-frame7.29.7indirecta
npm@babel/compat-data7.29.7indirecta
npm@babel/core7.29.7indirecta
npm@babel/generator7.29.1indirecta
npm@babel/generator7.29.7indirecta
npm@babel/helper-compilation-targets7.29.7indirecta
npm@babel/helper-globals7.28.0indirecta
npm@babel/helper-globals7.29.7indirecta
npm@babel/helper-module-imports7.28.6indirecta
npm@babel/helper-module-imports7.29.7indirecta
npm@babel/helper-module-transforms7.29.7indirecta
npm@babel/helper-plugin-utils7.28.6indirecta
npm@babel/helper-string-parser7.27.1indirecta
npm@babel/helper-string-parser7.29.7indirecta
npm@babel/helper-validator-identifier7.28.5indirecta
npm@babel/helper-validator-identifier7.29.7indirecta
npm@babel/helper-validator-option7.29.7indirecta
npm@babel/helpers7.29.7indirecta
npm@babel/parser7.29.0indirecta
npm@babel/parser7.29.7indirecta
npm@babel/plugin-transform-react-jsx-self7.27.1indirecta
npm@babel/plugin-transform-react-jsx-source7.27.1indirecta
npm@babel/runtime7.28.6indirecta
npm@babel/template7.28.6indirecta
npm@babel/template7.29.7indirecta
npm@babel/traverse7.29.0indirecta
npm@babel/traverse7.29.7indirecta
npm@babel/types7.29.0indirecta
npm@babel/types7.29.7indirecta
npm@bramus/specificity2.4.2indirecta
npm@csstools/color-helpers6.0.2indirecta
npm@csstools/css-calc3.2.0indirecta
npm@csstools/css-color-parser4.1.0indirecta
npm@csstools/css-parser-algorithms4.0.0indirecta
npm@csstools/css-syntax-patches-for-csstree1.1.3indirecta
npm@csstools/css-tokenizer4.0.0indirecta
npm@docsearch/css3.8.2indirecta
npm@docsearch/js3.8.2indirecta
npm@docsearch/react3.8.2indirecta
npm@docusaurus/module-type-aliases^3.9.2indirecta
npm@docusaurus/tsconfig^3.9.2indirecta
npm@docusaurus/types^3.9.2indirecta
npm@emotion/babel-plugin11.13.5indirecta
npm@emotion/cache11.14.0indirecta
npm@emotion/css11.13.5indirecta
npm@emotion/hash0.9.2indirecta
npm@emotion/memoize0.9.0indirecta
npm@emotion/react11.14.0indirecta
npm@emotion/serialize1.3.3indirecta
npm@emotion/sheet1.4.0indirecta
npm@emotion/unitless0.10.0indirecta
npm@emotion/use-insertion-effect-with-fallbacks1.2.0indirecta
npm@emotion/utils1.4.2indirecta
npm@emotion/weak-memoize0.4.0indirecta
npm@esbuild/aix-ppc640.28.1indirecta
npm@esbuild/android-arm0.28.1indirecta
npm@esbuild/android-arm640.28.1indirecta
npm@esbuild/android-x640.28.1indirecta
npm@esbuild/darwin-arm640.28.1indirecta
npm@esbuild/darwin-x640.28.1indirecta
npm@esbuild/freebsd-arm640.28.1indirecta
npm@esbuild/freebsd-x640.28.1indirecta
npm@esbuild/linux-arm0.28.1indirecta
npm@esbuild/linux-arm640.28.1indirecta
npm@esbuild/linux-ia320.28.1indirecta
npm@esbuild/linux-loong640.28.1indirecta
npm@esbuild/linux-mips64el0.28.1indirecta
npm@esbuild/linux-ppc640.28.1indirecta
npm@esbuild/linux-riscv640.28.1indirecta
npm@esbuild/linux-s390x0.28.1indirecta
npm@esbuild/linux-x640.28.1indirecta
npm@esbuild/netbsd-arm640.28.1indirecta
npm@esbuild/netbsd-x640.28.1indirecta
npm@esbuild/openbsd-arm640.28.1indirecta
npm@esbuild/openbsd-x640.28.1indirecta
npm@esbuild/openharmony-arm640.28.1indirecta
npm@esbuild/sunos-x640.28.1indirecta
npm@esbuild/win32-arm640.28.1indirecta
npm@esbuild/win32-ia320.28.1indirecta
npm@esbuild/win32-x640.28.1indirecta
npm@eslint-community/eslint-utils4.9.1indirecta
npm@eslint-community/regexpp4.12.2indirecta
npm@eslint/eslintrc2.1.4indirecta
npm@eslint/js8.57.1indirecta
npm@exodus/bytes1.15.0indirecta
npm@floating-ui/core1.7.5indirecta
npm@floating-ui/dom1.7.6indirecta
npm@floating-ui/react-dom2.1.8indirecta
npm@floating-ui/utils0.2.11indirecta
npm@humanwhocodes/config-array0.13.0indirecta
npm@humanwhocodes/module-importer1.0.1indirecta
npm@humanwhocodes/object-schema2.0.3indirecta
npm@iconify-json/simple-icons1.2.84indirecta
npm@iconify/types2.0.0indirecta
npm@jridgewell/gen-mapping0.3.13indirecta
npm@jridgewell/remapping2.3.5indirecta
npm@jridgewell/resolve-uri3.1.2indirecta
npm@jridgewell/sourcemap-codec1.5.5indirecta
npm@jridgewell/trace-mapping0.3.31indirecta
npm@nodelib/fs.scandir2.1.5indirecta
npm@nodelib/fs.stat2.0.5indirecta
npm@nodelib/fs.walk1.2.8indirecta
npm@playwright/test1.58.2indirecta
npm@radix-ui/number1.1.1indirecta
npm@radix-ui/primitive1.1.3indirecta
npm@radix-ui/react-arrow1.1.7indirecta
npm@radix-ui/react-collection1.1.7indirecta
npm@radix-ui/react-compose-refs1.1.2indirecta
npm@radix-ui/react-context1.1.2indirecta
npm@radix-ui/react-direction1.1.1indirecta
npm@radix-ui/react-dismissable-layer1.1.11indirecta
npm@radix-ui/react-focus-guards1.1.3indirecta
npm@radix-ui/react-focus-scope1.1.7indirecta
npm@radix-ui/react-id1.1.1indirecta
npm@radix-ui/react-menu2.1.16indirecta
npm@radix-ui/react-popper1.2.8indirecta
npm@radix-ui/react-portal1.1.9indirecta
npm@radix-ui/react-presence1.1.5indirecta
npm@radix-ui/react-primitive2.1.3indirecta
npm@radix-ui/react-roving-focus1.1.11indirecta
npm@radix-ui/react-slot1.2.3indirecta
npm@radix-ui/react-use-callback-ref1.1.1indirecta
npm@radix-ui/react-use-controllable-state1.2.2indirecta
npm@radix-ui/react-use-effect-event0.0.2indirecta
npm@radix-ui/react-use-escape-keydown1.1.1indirecta
npm@radix-ui/react-use-layout-effect1.1.1indirecta
npm@radix-ui/react-use-previous1.1.1indirecta
npm@radix-ui/react-use-rect1.1.1indirecta
npm@radix-ui/react-use-size1.1.1indirecta
npm@radix-ui/react-visually-hidden1.2.3indirecta
npm@radix-ui/rect1.1.1indirecta
npm@redocly/ajv8.11.2indirecta
npm@redocly/config0.22.0indirecta
npm@redocly/openapi-core1.34.10indirecta
npm@rolldown/pluginutils1.0.0-beta.27indirecta
npm@rollup/rollup-android-arm-eabi4.59.0indirecta
npm@rollup/rollup-android-arm-eabi4.60.4indirecta
npm@rollup/rollup-android-arm644.59.0indirecta
npm@rollup/rollup-android-arm644.60.4indirecta
npm@rollup/rollup-darwin-arm644.59.0indirecta
npm@rollup/rollup-darwin-arm644.60.4indirecta
npm@rollup/rollup-darwin-x644.59.0indirecta
npm@rollup/rollup-darwin-x644.60.4indirecta
npm@rollup/rollup-freebsd-arm644.59.0indirecta
npm@rollup/rollup-freebsd-arm644.60.4indirecta
npm@rollup/rollup-freebsd-x644.59.0indirecta
npm@rollup/rollup-freebsd-x644.60.4indirecta
npm@rollup/rollup-linux-arm-gnueabihf4.59.0indirecta
npm@rollup/rollup-linux-arm-gnueabihf4.60.4indirecta
npm@rollup/rollup-linux-arm-musleabihf4.59.0indirecta
npm@rollup/rollup-linux-arm-musleabihf4.60.4indirecta
npm@rollup/rollup-linux-arm64-gnu4.59.0indirecta
npm@rollup/rollup-linux-arm64-gnu4.60.4indirecta
npm@rollup/rollup-linux-arm64-musl4.59.0indirecta
npm@rollup/rollup-linux-arm64-musl4.60.4indirecta
npm@rollup/rollup-linux-loong64-gnu4.59.0indirecta
npm@rollup/rollup-linux-loong64-gnu4.60.4indirecta
npm@rollup/rollup-linux-loong64-musl4.59.0indirecta
npm@rollup/rollup-linux-loong64-musl4.60.4indirecta
npm@rollup/rollup-linux-ppc64-gnu4.59.0indirecta
npm@rollup/rollup-linux-ppc64-gnu4.60.4indirecta
npm@rollup/rollup-linux-ppc64-musl4.59.0indirecta
npm@rollup/rollup-linux-ppc64-musl4.60.4indirecta
npm@rollup/rollup-linux-riscv64-gnu4.59.0indirecta
npm@rollup/rollup-linux-riscv64-gnu4.60.4indirecta
npm@rollup/rollup-linux-riscv64-musl4.59.0indirecta
npm@rollup/rollup-linux-riscv64-musl4.60.4indirecta
npm@rollup/rollup-linux-s390x-gnu4.59.0indirecta
npm@rollup/rollup-linux-s390x-gnu4.60.4indirecta
npm@rollup/rollup-linux-x64-gnu4.59.0indirecta
npm@rollup/rollup-linux-x64-gnu4.60.4indirecta
npm@rollup/rollup-linux-x64-musl4.59.0indirecta
npm@rollup/rollup-linux-x64-musl4.60.4indirecta
npm@rollup/rollup-openbsd-x644.59.0indirecta
npm@rollup/rollup-openbsd-x644.60.4indirecta
npm@rollup/rollup-openharmony-arm644.59.0indirecta
npm@rollup/rollup-openharmony-arm644.60.4indirecta
npm@rollup/rollup-win32-arm64-msvc4.59.0indirecta
npm@rollup/rollup-win32-arm64-msvc4.60.4indirecta
npm@rollup/rollup-win32-ia32-msvc4.59.0indirecta
npm@rollup/rollup-win32-ia32-msvc4.60.4indirecta
npm@rollup/rollup-win32-x64-gnu4.59.0indirecta
npm@rollup/rollup-win32-x64-gnu4.60.4indirecta
npm@rollup/rollup-win32-x64-msvc4.59.0indirecta
npm@rollup/rollup-win32-x64-msvc4.60.4indirecta
npm@shikijs/core2.5.0indirecta
npm@shikijs/engine-javascript2.5.0indirecta
npm@shikijs/engine-oniguruma2.5.0indirecta
npm@shikijs/langs2.5.0indirecta
npm@shikijs/themes2.5.0indirecta
npm@shikijs/transformers2.5.0indirecta
npm@shikijs/types2.5.0indirecta
npm@shikijs/vscode-textmate10.0.2indirecta
npm@standard-schema/spec1.1.0indirecta
npm@tanstack/history1.161.4indirecta
npm@tanstack/query-core5.90.20indirecta
npm@tanstack/react-store0.9.2indirecta
npm@tanstack/router-core1.166.7indirecta
npm@tanstack/store0.9.2indirecta
npm@testing-library/dom10.4.1indirecta
npm@testing-library/react16.3.2indirecta
npm@types/aria-query5.0.4indirecta
npm@types/babel__core7.20.5indirecta
npm@types/babel__generator7.27.0indirecta
npm@types/babel__template7.4.4indirecta
npm@types/babel__traverse7.28.0indirecta
npm@types/bun^1.3.13indirecta
npm@types/chai5.2.3indirecta
npm@types/debug4.1.12indirecta
npm@types/deep-eql4.0.2indirecta
npm@types/estree1.0.8indirecta
npm@types/estree-jsx1.0.5indirecta
npm@types/hast3.0.4indirecta
npm@types/linkify-it5.0.0indirecta
npm@types/markdown-it14.1.2indirecta
npm@types/mdast4.0.4indirecta
npm@types/mdurl2.0.0indirecta
npm@types/ms2.1.0indirecta
npm@types/parse-json4.0.2indirecta
npm@types/prompts^2.4.9indirecta
npm@types/react19.2.14indirecta
npm@types/react-dom19.2.3indirecta
npm@types/semver^7.5.8indirecta
npm@types/unist2.0.11indirecta
npm@types/unist3.0.3indirecta
npm@types/web-bluetooth0.0.21indirecta
npm@typescript-eslint/eslint-plugin7.18.0indirecta
npm@typescript-eslint/eslint-plugin^7.18.0indirecta
npm@typescript-eslint/parser7.18.0indirecta
npm@typescript-eslint/parser^7.18.0indirecta
npm@typescript-eslint/scope-manager7.18.0indirecta
npm@typescript-eslint/type-utils7.18.0indirecta
npm@typescript-eslint/types7.18.0indirecta
npm@typescript-eslint/typescript-estree7.18.0indirecta
npm@typescript-eslint/utils7.18.0indirecta
npm@typescript-eslint/visitor-keys7.18.0indirecta
npm@ungap/structured-clone1.3.0indirecta
npm@ungap/structured-clone1.3.1indirecta
npm@vitejs/plugin-react4.7.0indirecta
npm@vitejs/plugin-vue5.2.4indirecta
npm@vitest/expect4.1.8indirecta
npm@vitest/mocker4.1.8indirecta
npm@vitest/pretty-format4.1.8indirecta
npm@vitest/runner4.1.8indirecta
npm@vitest/snapshot4.1.8indirecta
npm@vitest/spy4.1.8indirecta
npm@vitest/utils4.1.8indirecta
npm@vue/compiler-core3.5.34indirecta
npm@vue/compiler-dom3.5.34indirecta
npm@vue/compiler-sfc3.5.34indirecta
npm@vue/compiler-ssr3.5.34indirecta
npm@vue/devtools-api7.7.9indirecta
npm@vue/devtools-kit7.7.9indirecta
npm@vue/devtools-shared7.7.9indirecta
npm@vue/reactivity3.5.34indirecta
npm@vue/runtime-core3.5.34indirecta
npm@vue/runtime-dom3.5.34indirecta
npm@vue/server-renderer3.5.34indirecta
npm@vue/shared3.5.34indirecta
npm@vueuse/core12.8.2indirecta
npm@vueuse/integrations12.8.2indirecta
npm@vueuse/metadata12.8.2indirecta
npm@vueuse/shared12.8.2indirecta
npmacorn8.16.0indirecta
npmacorn-jsx5.3.2indirecta
npmagent-base7.1.4indirecta
npmajv6.14.0indirecta
npmalgoliasearch5.52.1indirecta
npmansi-colors4.1.3indirecta
npmansi-regex5.0.1indirecta
npmansi-styles4.3.0indirecta
npmansi-styles5.2.0indirecta
npmany-promise1.3.0indirecta
npmanymatch3.1.3indirecta
npmarg5.0.2indirecta
npmargparse2.0.1indirecta
npmaria-hidden1.2.6indirecta
npmaria-query5.3.0indirecta
npmarray-union2.1.0indirecta
npmassertion-error2.0.1indirecta
npmattr-accept2.2.5indirecta
npmautoprefixer10.4.27indirecta
npmbabel-plugin-macros3.1.0indirecta
npmbail2.0.2indirecta
npmbalanced-match1.0.2indirecta
npmbaseline-browser-mapping2.10.0indirecta
npmbidi-js1.0.3indirecta
npmbinary-extensions2.3.0indirecta
npmbirpc2.9.0indirecta
npmbrace-expansion1.1.15indirecta
npmbrace-expansion2.1.1indirecta
npmbraces3.0.3indirecta
npmbrowserslist4.28.1indirecta
npmcallsites3.1.0indirecta
npmcamelcase-css2.0.1indirecta
npmcaniuse-lite1.0.30001777indirecta
npmccount2.0.1indirecta
npmchai6.2.2indirecta
npmchalk4.1.2indirecta
npmchange-case5.4.4indirecta
npmcharacter-entities2.0.2indirecta
npmcharacter-entities-html42.1.0indirecta
npmcharacter-entities-legacy3.0.0indirecta
npmcharacter-reference-invalid2.0.1indirecta
npmchokidar3.6.0indirecta
npmclassnames2.5.1indirecta
npmcolor-convert2.0.1indirecta
npmcolor-name1.1.4indirecta
npmcolorette1.4.0indirecta
npmcomma-separated-tokens2.0.3indirecta
npmcommander4.1.1indirecta
npmconcat-map0.0.1indirecta
npmconvert-source-map1.9.0indirecta
npmconvert-source-map2.0.0indirecta
npmcookie-es2.0.0indirecta
npmcopy-anything4.0.5indirecta
npmcosmiconfig7.1.0indirecta
npmcross-spawn7.0.6indirecta
npmcss-tree3.2.1indirecta
npmcssesc3.0.0indirecta
npmcsstype3.2.3indirecta
npmdata-urls7.0.0indirecta
npmdebug4.4.3indirecta
npmdecimal.js10.6.0indirecta
npmdecode-named-character-reference1.3.0indirecta
npmdeep-is0.1.4indirecta
npmdequal2.0.3indirecta
npmdetect-node-es1.1.0indirecta
npmdevlop1.1.0indirecta
npmdidyoumean1.2.2indirecta
npmdiff8.0.4indirecta
npmdir-glob3.0.1indirecta
npmdlv1.1.3indirecta
npmdoctrine3.0.0indirecta
npmdom-accessibility-api0.5.16indirecta
npmelectron-to-chromium1.5.307indirecta
npmemoji-regex-xs1.0.0indirecta
npmentities7.0.1indirecta
npmentities8.0.0indirecta
npmerror-ex1.3.4indirecta
npmes-module-lexer2.1.0indirecta
npmesbuild0.28.1indirecta
npmescalade3.2.0indirecta
npmescape-string-regexp4.0.0indirecta
npmescape-string-regexp5.0.0indirecta
npmeslint8.57.1indirecta
npmeslint^8.57.1indirecta
npmeslint-plugin-react-hooks4.6.2indirecta
npmeslint-plugin-react-refresh0.4.26indirecta
npmeslint-scope7.2.2indirecta
npmeslint-visitor-keys3.4.3indirecta
npmespree9.6.1indirecta
npmesquery1.7.0indirecta
npmesrecurse4.3.0indirecta
npmestraverse5.3.0indirecta
npmestree-util-is-identifier-name3.0.0indirecta
npmestree-walker2.0.2indirecta
npmestree-walker3.0.3indirecta
npmesutils2.0.3indirecta
npmexpect-type1.3.0indirecta
npmextend3.0.2indirecta
npmfast-deep-equal3.1.3indirecta
npmfast-glob3.3.3indirecta
npmfast-json-stable-stringify2.1.0indirecta
npmfast-levenshtein2.0.6indirecta
npmfastq1.20.1indirecta
npmfault2.0.1indirecta
npmfdir6.5.0indirecta
npmfile-entry-cache6.0.1indirecta
npmfile-selector2.1.2indirecta
npmfill-range7.1.1indirecta
npmfind-root1.1.0indirecta
npmfind-up5.0.0indirecta
npmflat-cache3.2.0indirecta
npmflatted3.4.2indirecta
npmfocus-trap7.8.0indirecta
npmformat0.2.2indirecta
npmfraction.js5.3.4indirecta
npmfs.realpath1.0.0indirecta
npmfsevents2.3.2indirecta
npmfsevents2.3.3indirecta
npmfunction-bind1.1.2indirecta
npmgensync1.0.0-beta.2indirecta
npmget-nonce1.0.1indirecta
npmglob7.2.3indirecta
npmglob-parent5.1.2indirecta
npmglob-parent6.0.2indirecta
npmglobals13.24.0indirecta
npmglobby11.1.0indirecta
npmgraphemer1.4.0indirecta
npmhas-flag4.0.0indirecta
npmhasown2.0.2indirecta
npmhast-util-is-element3.0.0indirecta
npmhast-util-sanitize5.0.2indirecta
npmhast-util-to-html9.0.5indirecta
npmhast-util-to-jsx-runtime2.3.6indirecta
npmhast-util-to-text4.0.2indirecta
npmhast-util-whitespace3.0.0indirecta
npmhighlight.js11.11.1indirecta
npmhoist-non-react-statics3.3.2indirecta
npmhookable5.5.3indirecta
npmhtml-encoding-sniffer6.0.0indirecta
npmhtml-parse-stringify3.0.1indirecta
npmhtml-url-attributes3.0.1indirecta
npmhtml-void-elements3.0.0indirecta
npmhttps-proxy-agent7.0.6indirecta
npmignore5.3.2indirecta
npmimport-fresh3.3.1indirecta
npmimurmurhash0.1.4indirecta
npmindex-to-position1.2.0indirecta
npminflight1.0.6indirecta
npminherits2.0.4indirecta
npminline-style-parser0.2.7indirecta
npmis-alphabetical2.0.1indirecta
npmis-alphanumerical2.0.1indirecta
npmis-arrayish0.2.1indirecta
npmis-binary-path2.1.0indirecta
npmis-core-module2.16.1indirecta
npmis-decimal2.0.1indirecta
npmis-extglob2.1.1indirecta
npmis-glob4.0.3indirecta
npmis-hexadecimal2.0.1indirecta
npmis-number7.0.0indirecta
npmis-path-inside3.0.3indirecta
npmis-plain-obj4.1.0indirecta
npmis-potential-custom-element-name1.0.1indirecta
npmis-what5.5.0indirecta
npmisbot5.1.36indirecta
npmisexe2.0.0indirecta
npmjiti1.21.7indirecta
npmjs-levenshtein1.1.6indirecta
npmjs-tokens4.0.0indirecta
npmjs-yaml4.2.0indirecta
npmjsdom29.1.1indirecta
npmjsesc3.1.0indirecta
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
npmlevn0.4.1indirecta
npmlilconfig3.1.3indirecta
npmlines-and-columns1.2.4indirecta
npmlocate-path6.0.0indirecta
npmlodash.merge4.6.2indirecta
npmlongest-streak3.1.0indirecta
npmloose-envify1.4.0indirecta
npmlru-cache11.3.6indirecta
npmlru-cache5.1.1indirecta
npmlz-string1.5.0indirecta
npmmagic-string0.30.21indirecta
npmmark.js8.11.1indirecta
npmmarkdown-table3.0.4indirecta
npmmdast-util-find-and-replace3.0.2indirecta
npmmdast-util-from-markdown2.0.3indirecta
npmmdast-util-frontmatter2.0.1indirecta
npmmdast-util-gfm3.1.0indirecta
npmmdast-util-gfm-autolink-literal2.0.1indirecta
npmmdast-util-gfm-footnote2.1.0indirecta
npmmdast-util-gfm-strikethrough2.0.0indirecta
npmmdast-util-gfm-table2.0.0indirecta
npmmdast-util-gfm-task-list-item2.0.0indirecta
npmmdast-util-mdx-expression2.0.1indirecta
npmmdast-util-mdx-jsx3.2.0indirecta
npmmdast-util-mdxjs-esm2.0.1indirecta
npmmdast-util-phrasing4.1.0indirecta
npmmdast-util-to-hast13.2.1indirecta
npmmdast-util-to-markdown2.1.2indirecta
npmmdast-util-to-string4.0.0indirecta
npmmdn-data2.27.1indirecta
npmmemoize-one6.0.0indirecta
npmmerge21.4.1indirecta
npmmicromark4.0.2indirecta
npmmicromark-core-commonmark2.0.3indirecta
npmmicromark-extension-frontmatter2.0.0indirecta
npmmicromark-extension-gfm3.0.0indirecta
npmmicromark-extension-gfm-autolink-literal2.1.0indirecta
npmmicromark-extension-gfm-footnote2.1.0indirecta
npmmicromark-extension-gfm-strikethrough2.1.0indirecta
npmmicromark-extension-gfm-table2.1.1indirecta
npmmicromark-extension-gfm-tagfilter2.0.0indirecta
npmmicromark-extension-gfm-task-list-item2.1.0indirecta
npmmicromark-factory-destination2.0.1indirecta
npmmicromark-factory-label2.0.1indirecta
npmmicromark-factory-space2.0.1indirecta
npmmicromark-factory-title2.0.1indirecta
npmmicromark-factory-whitespace2.0.1indirecta
npmmicromark-util-character2.1.1indirecta
npmmicromark-util-chunked2.0.1indirecta
npmmicromark-util-classify-character2.0.1indirecta
npmmicromark-util-combine-extensions2.0.1indirecta
npmmicromark-util-decode-numeric-character-reference2.0.2indirecta
npmmicromark-util-decode-string2.0.1indirecta
npmmicromark-util-encode2.0.1indirecta
npmmicromark-util-html-tag-name2.0.1indirecta
npmmicromark-util-normalize-identifier2.0.1indirecta
npmmicromark-util-resolve-all2.0.1indirecta
npmmicromark-util-sanitize-uri2.0.1indirecta
npmmicromark-util-subtokenize2.1.0indirecta
npmmicromark-util-symbol2.0.1indirecta
npmmicromark-util-types2.0.2indirecta
npmmicromatch4.0.8indirecta
npmminimatch3.1.5indirecta
npmminimatch5.1.9indirecta
npmminimatch9.0.9indirecta
npmminisearch7.2.0indirecta
npmmitt3.0.1indirecta
npmms2.1.3indirecta
npmmz2.7.0indirecta
npmnanoid3.3.12indirecta
npmnatural-compare1.4.0indirecta
npmnode-releases2.0.36indirecta
npmnormalize-path3.0.0indirecta
npmobject-assign4.1.1indirecta
npmobject-hash3.0.0indirecta
npmobug2.1.1indirecta
npmonce1.4.0indirecta
npmoniguruma-to-es3.1.1indirecta
npmopenapi-typescript7.13.0indirecta
npmopenapi-typescript-helpers0.0.15indirecta
npmoptionator0.9.4indirecta
npmp-limit3.1.0indirecta
npmp-locate5.0.0indirecta
npmparent-module1.0.1indirecta
npmparse-entities4.0.2indirecta
npmparse-json5.2.0indirecta
npmparse-json8.3.0indirecta
npmparse58.0.1indirecta
npmpath-exists4.0.0indirecta
npmpath-is-absolute1.0.1indirecta
npmpath-key3.1.1indirecta
npmpath-parse1.0.7indirecta
npmpath-type4.0.0indirecta
npmpathe2.0.3indirecta
npmperfect-debounce1.0.0indirecta
npmpicocolors1.1.1indirecta
npmpicomatch2.3.2indirecta
npmpicomatch4.0.4indirecta
npmpify2.3.0indirecta
npmpirates4.0.7indirecta
npmplaywright1.58.2indirecta
npmplaywright-core1.58.2indirecta
npmpluralize8.0.0indirecta
npmpostcss8.5.15indirecta
npmpostcss-import15.1.0indirecta
npmpostcss-js4.1.0indirecta
npmpostcss-load-config6.0.1indirecta
npmpostcss-nested6.2.0indirecta
npmpostcss-selector-parser6.1.2indirecta
npmpostcss-value-parser4.2.0indirecta
npmpreact10.29.2indirecta
npmprelude-ls1.2.1indirecta
npmpretty-format27.5.1indirecta
npmprop-types15.8.1indirecta
npmproperty-information7.1.0indirecta
npmpunycode2.3.1indirecta
npmqueue-microtask1.2.3indirecta
npmreact-is16.13.1indirecta
npmreact-is17.0.2indirecta
npmreact-refresh0.17.0indirecta
npmreact-remove-scroll2.7.2indirecta
npmreact-remove-scroll-bar2.3.8indirecta
npmreact-style-singleton2.2.3indirecta
npmread-cache1.0.0indirecta
npmreaddirp3.6.0indirecta
npmregex6.1.0indirecta
npmregex-recursion6.0.2indirecta
npmregex-utilities2.3.0indirecta
npmremark-parse11.0.0indirecta
npmremark-rehype11.1.2indirecta
npmremark-stringify11.0.0indirecta
npmrequire-from-string2.0.2indirecta
npmresolve1.22.11indirecta
npmresolve-from4.0.0indirecta
npmreusify1.1.0indirecta
npmrfdc1.4.1indirecta
npmrimraf3.0.2indirecta
npmrollup4.59.0indirecta
npmrollup4.60.4indirecta
npmrun-parallel1.2.0indirecta
npmsaxes6.0.0indirecta
npmscheduler0.27.0indirecta
npmsearch-insights2.17.3indirecta
npmseroval1.5.1indirecta
npmseroval-plugins1.5.1indirecta
npmshebang-command2.0.0indirecta
npmshebang-regex3.0.0indirecta
npmshiki2.5.0indirecta
npmsiginfo2.0.0indirecta
npmslash3.0.0indirecta
npmsource-map0.5.7indirecta
npmsource-map-js1.2.1indirecta
npmspace-separated-tokens2.0.2indirecta
npmspeakingurl14.0.1indirecta
npmstackback0.0.2indirecta
npmstd-env4.1.0indirecta
npmstringify-entities4.0.4indirecta
npmstrip-ansi6.0.1indirecta
npmstrip-json-comments3.1.1indirecta
npmstyle-to-js1.1.21indirecta
npmstyle-to-object1.0.14indirecta
npmstylis4.2.0indirecta
npmsucrase3.35.1indirecta
npmsuperjson2.2.6indirecta
npmsupports-color10.2.2indirecta
npmsupports-color7.2.0indirecta
npmsupports-preserve-symlinks-flag1.0.0indirecta
npmsymbol-tree3.2.4indirecta
npmtabbable6.4.0indirecta
npmtailwindcss3.4.19indirecta
npmtext-table0.2.0indirecta
npmthenify3.3.1indirecta
npmthenify-all1.6.0indirecta
npmtiny-invariant1.3.3indirecta
npmtiny-warning1.0.3indirecta
npmtinybench2.9.0indirecta
npmtinyexec1.2.4indirecta
npmtinyglobby0.2.15indirecta
npmtinyglobby0.2.16indirecta
npmtinyrainbow3.1.0indirecta
npmtldts7.0.30indirecta
npmtldts-core7.0.30indirecta
npmto-regex-range5.0.1indirecta
npmtough-cookie6.0.1indirecta
npmtr466.0.0indirecta
npmtrim-lines3.0.1indirecta
npmtrough2.2.0indirecta
npmts-api-utils1.4.3indirecta
npmts-interface-checker0.1.13indirecta
npmtslib2.8.1indirecta
npmtype-check0.4.0indirecta
npmtype-fest0.20.2indirecta
npmtype-fest4.41.0indirecta
npmtypescript5.9.3indirecta
npmtypescript^5.7.0indirecta
npmtypescript~5.2.2indirecta
npmundici7.28.0indirecta
npmunified11.0.5indirecta
npmunist-util-find-after5.0.0indirecta
npmunist-util-is6.0.1indirecta
npmunist-util-position5.0.0indirecta
npmunist-util-stringify-position4.0.0indirecta
npmunist-util-visit-parents6.0.2indirecta
npmupdate-browserslist-db1.2.3indirecta
npmuri-js4.4.1indirecta
npmuri-js-replace1.0.1indirecta
npmuse-callback-ref1.3.3indirecta
npmuse-sidecar1.1.3indirecta
npmuse-sync-external-store1.6.0indirecta
npmutil-deprecate1.0.2indirecta
npmvfile6.0.3indirecta
npmvfile-message4.0.3indirecta
npmvite6.4.3indirecta
npmvitepress1.6.4indirecta
npmvitest4.1.8indirecta
npmvoid-elements3.1.0indirecta
npmvue3.5.34indirecta
npmw3c-xmlserializer5.0.0indirecta
npmwebidl-conversions8.0.1indirecta
npmwhatwg-mimetype5.0.0indirecta
npmwhatwg-url16.0.1indirecta
npmwhich2.0.2indirecta
npmwhy-is-node-running2.3.0indirecta
npmword-wrap1.2.5indirecta
npmwrappy1.0.2indirecta
npmxml-name-validator5.0.0indirecta
npmxmlchars2.2.0indirecta
npmyallist3.1.1indirecta
npmyaml1.10.3indirecta
npmyaml-ast-parser0.0.43indirecta
npmyargs-parser21.1.1indirecta
npmyocto-queue0.1.0indirecta
npmzwitch2.0.4indirecta
Avisos de dependencias 0

Instalar npm:@astron-team/skillhub@0.1.9 arrastra 7 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": {
    "repo": {
      "topics": [
        "openclaw",
        "openclaw-skills",
        "skill",
        "iflytek-astron",
        "skill-hub",
        "skill-manager",
        "skills",
        "agent-framework",
        "ai-orchestration",
        "audit-log",
        "enterprise-ai",
        "rbac",
        "skill-management",
        "skill-registry",
        "ai-agent",
        "ai-infrastructure",
        "version-control",
        "ai-governance"
      ],
      "is_fork": false,
      "size_kb": 16015,
      "has_wiki": true,
      "homepage": "https://skill.xfyun.cn",
      "languages": {
        "CSS": 33240,
        "Lua": 679,
        "HTML": 178252,
        "Java": 3048648,
        "YARA": 4989,
        "Shell": 161137,
        "Python": 22728,
        "PLpgSQL": 1597,
        "Makefile": 15281,
        "Dockerfile": 2630,
        "JavaScript": 18399,
        "TypeScript": 1811698,
        "Go Template": 8839
      },
      "pushed_at": "2026-07-31T10:29:40Z",
      "created_at": "2026-03-11T12:17:05Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-31T09:25:27Z",
      "description": "Self-hosted, open-source agent skill registry for enterprises. Publish & version skill packages, govern with RBAC and audit logs, deploy   on-premise with Docker or Kubernetes.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "Java",
      "significant_languages": [
        "Java",
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://opensource.iflytek.com",
      "name": "iFLYTEK",
      "type": "Organization",
      "login": "iflytek",
      "company": null,
      "location": "Hefei, China",
      "followers": 562,
      "avatar_url": "https://avatars.githubusercontent.com/u/26786495?v=4",
      "created_at": "2017-03-30T06:51:07Z",
      "is_verified": null,
      "public_repos": 65,
      "account_age_days": 3410
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.2.15",
          "kind": "patch",
          "published_at": "2026-07-30T08:25:54Z"
        },
        {
          "tag": "cli-v0.1.9",
          "kind": "other",
          "published_at": "2026-07-22T09:47:12Z"
        },
        {
          "tag": "v0.2.14",
          "kind": "patch",
          "published_at": "2026-07-22T09:33:28Z"
        },
        {
          "tag": "v0.2.13",
          "kind": "patch",
          "published_at": "2026-07-03T08:24:54Z"
        },
        {
          "tag": "cli-v0.1.8",
          "kind": "other",
          "published_at": "2026-06-18T07:58:44Z"
        },
        {
          "tag": "v0.2.12",
          "kind": "patch",
          "published_at": "2026-06-18T07:51:47Z"
        },
        {
          "tag": "v0.2.11",
          "kind": "patch",
          "published_at": "2026-06-11T09:48:41Z"
        },
        {
          "tag": "v0.2.10",
          "kind": "patch",
          "published_at": "2026-06-05T09:35:40Z"
        },
        {
          "tag": "cli-v0.1.7",
          "kind": "other",
          "published_at": "2026-05-29T08:13:44Z"
        },
        {
          "tag": "v0.2.9",
          "kind": "patch",
          "published_at": "2026-05-29T06:51:40Z"
        },
        {
          "tag": "v0.2.8",
          "kind": "patch",
          "published_at": "2026-05-14T10:15:12Z"
        },
        {
          "tag": "cli-v0.1.6",
          "kind": "other",
          "published_at": "2026-05-14T10:08:52Z"
        },
        {
          "tag": "v0.2.7",
          "kind": "patch",
          "published_at": "2026-05-09T09:34:08Z"
        },
        {
          "tag": "v0.2.6",
          "kind": "patch",
          "published_at": "2026-04-29T08:34:41Z"
        },
        {
          "tag": "v0.2.5",
          "kind": "patch",
          "published_at": "2026-04-23T07:28:32Z"
        },
        {
          "tag": "v0.2.4",
          "kind": "patch",
          "published_at": "2026-04-17T07:17:17Z"
        },
        {
          "tag": "v0.2.3",
          "kind": "patch",
          "published_at": "2026-04-03T09:38:13Z"
        },
        {
          "tag": "v0.2.2",
          "kind": "patch",
          "published_at": "2026-04-02T10:00:03Z"
        },
        {
          "tag": "v0.2.1",
          "kind": "patch",
          "published_at": "2026-04-01T14:12:16Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "1305f216468c5df4011c4eabf7ff756e2c07f578",
          "body": "fix(docs): align weekly reports to Thursday close",
          "is_bot": false,
          "headline": "Merge pull request #667 from iflytek/fix/weekly-thursday-close",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-31T09:18:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0b8993ca3f6f237fa7359628b1c2d7ca32abb87",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(docs): align weekly reports to Thursday close",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-31T09:15:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f8b28f97a309b159267bb85a734f392d0c1a304",
          "body": "…h-v2\n\ndocs(weekly): refresh W31 evidence metadata",
          "is_bot": false,
          "headline": "Merge pull request #666 from iflytek/docs/issue-659-weekly-w31-refres…",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-31T07:40:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd0aa5f3d76a58a55073ad7fb94c7218a09324f4",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "docs(weekly): refresh W31 evidence metadata",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-31T07:37:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1525698ff00581cacd94eb123133bbc32d19dd00",
          "body": "docs(weekly): mirror reports into project Pages",
          "is_bot": false,
          "headline": "Merge pull request #661 from iflytek/docs/issue-659-weekly-pages-v2",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-31T03:22:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09db71ffa733d9e4ee0535294d5e0763f8471eda",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "docs(weekly): mirror reports into project Pages",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-31T03:18:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1b44d01be9a605f363e609bca8786fd2b47931c",
          "body": "fix(governance): safely delete version dependencies",
          "is_bot": false,
          "headline": "Merge pull request #641 from iflytek/fix/issue-611-child-fks",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-30T12:05:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b264f3a0d2d10511bf9e7a489faa7654bdbaab6d",
          "body": "Remove terminal review tasks before deleting an allowed skill version. Lock all versions of the aggregate in stable order so concurrent deletes preserve the last-version invariant and return business errors instead of 500 responses.\n\nSigned-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(governance): safely delete version dependencies",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-30T09:52:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6817d98007c7890c1a8ecb3e822272287bb37a05",
          "body": "fix(deploy): isolate PostgreSQL data from volume root",
          "is_bot": false,
          "headline": "Merge pull request #367 from xring/fix/postgres-lostfound",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-30T01:56:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51a1685b8f2e0f5fc7c1b65e82d82250acc32107",
          "body": "docs: add Trendshift trending and AAIF member badges to README",
          "is_bot": false,
          "headline": "Merge pull request #603 from FenjuFu/docs/trendshift-aaif-badges",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-30T01:13:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3a947a7c819cea828f728df62560df714ab547e",
          "body": "feat(redis): add support for standalone and cluster Redis modes",
          "is_bot": false,
          "headline": "Merge pull request #505 from mosesyu95/main",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-30T01:05:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9357191f9060f84058044a4fad531be8b47ae9fd",
          "body": "Add the GitHub Trending (Trendshift) badge and AAIF Associate Member badge to both the English and Chinese README badge sections.\n\nSigned-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>",
          "is_bot": false,
          "headline": "docs: add Trendshift trending and AAIF member badges to README",
          "author_name": "FenjuFu",
          "author_login": "FenjuFu",
          "committed_at": "2026-07-29T11:32:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3db3c9685fdbc17ea0617f12c1bc6ea51de2a772",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat(redis): complete cluster connection support",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T09:36:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dad3c15f92571792a3559962adcb22db2e5d1235",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "chore(redis): merge current main for cluster support",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T08:11:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9cd8322a08f106947e6be79898e0a5c2de7139d",
          "body": "feat(chart): 添加 Helm Chart 部署方案",
          "is_bot": false,
          "headline": "Merge pull request #445 from jangrui/feature/helm-chart",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T07:51:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87cb05a09627f6fdcd67835df3edb01c239e755b",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "test(ci): cover Helm workflows in security checks",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T07:22:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36fb6bf4526142da84ad36ec718016e4a08ec666",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "test(helm): cover deployment integration scenarios",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T07:22:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0efc91b73fc4f3d31ff862a63ec7b065119dc27e",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "test(helm): add reproducible upgrade smoke coverage",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T07:22:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2854b26b5d5ca33a4ad55756cce719e1ee4e2112",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(helm): resolve deployment review blockers",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T06:04:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e72c17b09f9974640f52519e373de1d419f8f9c0",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "chore(helm): merge current main for validation",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T05:49:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bafb9fe3b9f4686f1dfc35f4d7637c680c93ea62",
          "body": "fix(cli): normalize namespace coordinates and errors",
          "is_bot": false,
          "headline": "Merge pull request #608 from iflytek/fix/cli-namespace-errors",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T03:08:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13b3f2da92c3eb5e79e66a89ff2c50d106c121a1",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "chore(cli): integrate contributor merge update (#606)",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T02:37:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9007a4e8c2b862007a5fbf63bf93425e0c0363e",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(cli): preserve download error contract (#606)",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T02:31:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1835fc9e92709bdde788fa47b079293268b6b90",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "merge(main): resolve CLI error mapping conflicts (#606)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-29T02:24:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad4a2dbc2fbc4fd1bea611603bebd46100477877",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "chore(cli): merge main into PR #608",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T02:19:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f602f8184f23347124b3606ffce1a6ac5f19c0a",
          "body": "fix(auth): hide placeholder OAuth providers",
          "is_bot": false,
          "headline": "Merge pull request #480 from yaffir/main",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-29T01:00:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bec701e962026a00b635cbd9bab8c1a70af8486e",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "test(deploy): wait for final PostgreSQL process",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-28T20:21:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b24c7073308a7752d5cf556080a23d54789434f0",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "test(deploy): run PostgreSQL storage regression in CI",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-28T20:17:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7872e6417790d7cfa0e9f6e7df4d2b69b8b256b2",
          "body": "test(auth): cover revoked CLI token lifecycles",
          "is_bot": false,
          "headline": "Merge pull request #609 from iflytek/fix/auth-revoked-token-validation",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-28T19:37:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19c307029195c1cc56f3f51eedefbb0cae3f898b",
          "body": "fix(auth): read device-code state via ObjectMapper conversion, not cast",
          "is_bot": false,
          "headline": "Merge pull request #607 from gale-popai/fix/device-auth-redis-typing",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-28T19:37:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0dd600ce137b7200655b7c5e837e231ac40a6fe1",
          "body": null,
          "is_bot": false,
          "headline": "fix(deploy): preserve PostgreSQL PVC data layout",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-28T17:41:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5a2b18fd92e30733db542e909d66d6c83154adc",
          "body": "fix(search): rebuild search index asynchronously after label change",
          "is_bot": false,
          "headline": "Merge pull request #592 from shychee/fix/label-search-sync-async",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-28T15:35:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cfbcdd3296f7da65225ddcded5092dae07730114",
          "body": "docs(readme): add star/watch buttons and guidance to first screen",
          "is_bot": false,
          "headline": "Merge pull request #599 from iflytek/docs/star-watch-cta",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-28T14:48:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ccd402880e35f91e807c1f107ebb39f7640f000",
          "body": "docs(integrations): add HarnessClaw Engine skill guide",
          "is_bot": false,
          "headline": "Merge pull request #598 from iflytek/docs/harnessclaw-engine-integration",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-28T14:44:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "155ab8f6d5091dc406a4bba504e46c7a87d75095",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(auth): hide placeholder OAuth providers",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-28T14:16:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fab07cbc92df3f8a7e7386ef6d9937b70b729e4f",
          "body": null,
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'origin/main' into review/pr480-20260728",
          "author_name": "ylhu16",
          "author_login": null,
          "committed_at": "2026-07-28T14:10:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e45b6f53980f837a40194c96aafff448f494d9c4",
          "body": "fix(nginx): trust X-Forwarded-Proto only when configured",
          "is_bot": false,
          "headline": "Merge pull request #443 from myml/fix-protocol",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-28T12:15:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e4fb26d4ba7067201ae6d76ea3392a902e8d175b",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(nginx): trust forwarded proto only when configured",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-28T12:03:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bbf9e4e71489c6a4a2505fd0a80ce3d994fb33f4",
          "body": "Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'origin/main' into review/pr443-fix",
          "author_name": "XiaoSeS",
          "author_login": "XiaoSeS",
          "committed_at": "2026-07-28T12:03:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d977ea9dc41cd226985fee3374a39e669a32fc42",
          "body": "* fix(api): tell callers why a request was forbidden\n\nThe scope filter already computes an exact reason (\"Missing API token\nscope: skill:delete\", \"API token cannot access endpoint: /x\") and the\naccess-denied handler discarded it, returning a bare \"Forbidden\" for\nevery case: missing scope, endpoint c\n[…]\n---------\n\nSigned-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>\nCo-authored-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(api): tell callers why a request was forbidden (#610)",
          "author_name": "gale-popai",
          "author_login": "gale-popai",
          "committed_at": "2026-07-28T09:42:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d4d1f65705dbfe8b386a15cad94e8ac203c36e3c",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "fix(cli): scope local remove by namespace (#606)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T08:58:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e6cce05882f8185a965a357eaf1ba555f159b47",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "test(cli): cover all namespace request paths (#606)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T08:58:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd83d2d95f5d1237d99802c48c8bbc189e280f20",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "fix(cli): reject ambiguous namespace paths (#606)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T08:58:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b702f0f9f6d5c7db7f932ffb372e304c99db85c0",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "test(cli): align namespace error contracts (#606)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T08:58:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "27efaa1b61a253ea64014af1f5f01b65f2408417",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "docs(cli): document namespace and error behavior (#606)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T08:58:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e66c80f94862fb801fd6c4763fe19e3e009b460",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "fix(cli): preserve structured registry errors (#606)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T08:58:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "95da3cd5e87e8190dd0ea97aeb0e89b326f39cf8",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "fix(cli): normalize namespace coordinates (#606)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T08:58:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a94073004f8e85607e3b6f4dd8b3d506b3fbf7bf",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "docs(cli): define namespace error fix plan (#606)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T08:58:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d679c526ab498cba1d56a761d20d7028195e8d2",
          "body": "…out (#560)\n\n* fix(auth): recover from stale login chunks after logout\n\n* fix(auth): prevent repeated stale chunk reloads\n\nSigned-off-by: ylhu16 <ylhu16@iflytek.com>\n\n---------\n\nSigned-off-by: ylhu16 <ylhu16@iflytek.com>\nCo-authored-by: ylhu16 <ylhu16@iflytek.com>",
          "is_bot": false,
          "headline": "fix(auth): recover login page from stale lazy-loaded chunks after log…",
          "author_name": "1664940968@qq.com",
          "author_login": "zhukai9527",
          "committed_at": "2026-07-28T08:36:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8435ee1ab16501a70849104c83c8826489fd77bc",
          "body": "The shared RedisTemplate uses GenericJackson2JsonRedisSerializer with\nthe application ObjectMapper, which embeds no type information, so\nstored DeviceCodeData deserializes as a LinkedHashMap. The typed casts\nin pollToken and authorizeDeviceCode then throw ClassCastException on\nevery call, making the\n[…]\non tests that feed the\nservice exactly what Redis returns in production (untyped maps).\n\nFixes #604\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nSigned-off-by: Gal Eyal <gal.e@popai.health>",
          "is_bot": false,
          "headline": "fix(auth): read device-code state via ObjectMapper conversion, not cast",
          "author_name": "Gal Eyal",
          "author_login": "gale-popai",
          "committed_at": "2026-07-28T07:27:37Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5012b31af2d042ca18df2e3ec128f706ecd43e26",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "test(auth): cover CLI session fallback (#605)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T07:22:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4fdc7e3dc5c63b786d45ed1004b79c0450c5add1",
          "body": "…ion (#601)\n\n* fix(publish): delete review tasks of any status when replacing a version\n\nRe-uploading a rejected version under the same version number returned\nHTTP 500. deleteReplaceableVersionArtifacts only removed a PENDING review\ntask, but a rejected version owns a REJECTED one; that row kept a \n[…]\nigned-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>\nSigned-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>\nCo-authored-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(publish): delete review tasks of any status when replacing a vers…",
          "author_name": "FenjuFu",
          "author_login": "FenjuFu",
          "committed_at": "2026-07-28T05:57:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8163a48e9e489f1c6f7c3e854274bb8c7f50997e",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "docs(auth): align Bearer-only response contract (#605)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T05:52:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "726eeac8b24dc85a6e98276738d211ef92551d58",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "test(auth): cover token replay and private search (#605)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T05:52:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5f0cc140a94484ee07ecd7eb728a1a84a81af35",
          "body": "* docs(faq): add community-sourced deployment and operations Q&A\n\nAdds entries collected from real user-support threads to the reference FAQ\n(both zh and en):\n\n- 502 on auth APIs while the page loads, traced to server startup failure\n  on the SKILLHUB_DOWNLOAD_ANON_COOKIE_SECRET placeholder guard\n- \n[…]\nigned-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>\nSigned-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>\nCo-authored-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>",
          "is_bot": false,
          "headline": "docs(faq): add community-sourced deployment and operations Q&A (#593)",
          "author_name": "FenjuFu",
          "author_login": "FenjuFu",
          "committed_at": "2026-07-28T05:49:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5805e0f1d3431b671ffb9a9240499d59df2359fc",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "docs(auth): document CLI token failure semantics (#605)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T04:55:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06cecd4237c57e9738b16db37ac25ab1d46a2a40",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "test(auth): cover restricted CLI read authorization (#605)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T04:51:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52843c8020da52be4fc9f20464f1c9a3296f69cc",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "fix(test): assert CLI download media type (#605)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T04:16:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83b621880e3ee190f9776ec90420465671ab999a",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "test(auth): cover persisted CLI token states (#605)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T04:03:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5b843967804d1698f2635cc1d0aea86f5afbc1b",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "docs(auth): plan revoked token regression coverage (#605)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T03:37:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6567c19664f988a4fb7b218b9bbd33938134137a",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "docs(auth): tighten runtime validation gates (#605)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T03:20:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03085f19b59096e0dfe5b93d10bcc97fe51c9b90",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "docs(auth): define revoked token validation design (#605)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-28T03:08:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8dd0598acb1cea007cb67085cefd0f911af6392b",
          "body": "The badge row had no star or watch affordance. Adds social-style badges and a\none-line note under the intro explaining why starring matters and how to watch\nreleases only, in both language versions.",
          "is_bot": false,
          "headline": "docs(readme): add star/watch buttons and guidance to first screen",
          "author_name": "FenjuFu",
          "author_login": "FenjuFu",
          "committed_at": "2026-07-23T02:07:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b9fc1627718f2981f3e18b3299357e2218f4f81",
          "body": "The badge row had no star or watch affordance. Adds social-style badges and a\none-line note under the intro explaining why starring matters and how to watch\nreleases only, in both language versions.",
          "is_bot": false,
          "headline": "docs(readme): add star/watch buttons and guidance to first screen",
          "author_name": "FenjuFu",
          "author_login": "FenjuFu",
          "committed_at": "2026-07-23T02:07:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d6c7db040e94c8eebcc275a37a60b0a6529a1bf",
          "body": "HarnessClaw Engine loads skills from SKILL.md files with YAML frontmatter\nand parameter substitution, so SkillHub packages install into it directly\nvia the CLI --dir option, the same way Hermes Agent does.\n\nSigned-off-by: FenjuFu <fufenjupku@gmail.com>",
          "is_bot": false,
          "headline": "docs(integrations): add HarnessClaw Engine skill guide",
          "author_name": "FenjuFu",
          "author_login": "FenjuFu",
          "committed_at": "2026-07-22T15:15:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "55a739a1bf68f7cf38224eb6ad79e4a045e5982e",
          "body": "HarnessClaw Engine loads skills from SKILL.md files with YAML frontmatter\nand parameter substitution, so SkillHub packages install into it directly\nvia the CLI --dir option, the same way Hermes Agent does.\n\nSigned-off-by: FenjuFu <fufenjupku@gmail.com>",
          "is_bot": false,
          "headline": "docs(integrations): add HarnessClaw Engine skill guide",
          "author_name": "FenjuFu",
          "author_login": "FenjuFu",
          "committed_at": "2026-07-22T15:15:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de033da537c599d9aa65a5622a016d9718b91659",
          "body": "…uns fallback\n\nThe @Async rebuildSkill fix relied on a fresh thread giving a clean\ntransaction boundary. But skillhubEventExecutor uses CallerRunsPolicy:\nunder saturation the rejected task runs on the caller (request) thread,\nback inside the afterCommit synchronization phase — the original failure\nc\n[…]\n tests: detach removes the label keyword, and a synchronous\nrebuild inside the afterCommit phase still persists the document (fails\nwithout REQUIRES_NEW).\n\nSigned-off-by: shychee <shychee96@gmail.com>",
          "is_bot": false,
          "headline": "fix(search): make index writes REQUIRES_NEW to survive async caller-r…",
          "author_name": "shychee",
          "author_login": "shychee",
          "committed_at": "2026-07-22T10:54:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "74bad000e3a2d0e069228e9f4a766d1e24433357",
          "body": "Attaching or detaching a skill label triggers a search index rebuild via\nan afterCommit callback. Because LabelSearchSyncService.rebuildSkill ran\nsynchronously on the request thread, the @Transactional index write\nexecuted inside the already-committed transaction-synchronization phase\nand was silent\n[…]\npath) so the rebuild runs on a fresh thread\nand transaction. Add an integration test that fails on the old synchronous\npath and passes with the async fix.\n\nSigned-off-by: shychee <shychee96@gmail.com>",
          "is_bot": false,
          "headline": "fix(search): rebuild search index asynchronously after label change",
          "author_name": "shychee",
          "author_login": "shychee",
          "committed_at": "2026-07-22T10:38:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ac46ad53913e413e451710a3563590b62d183927",
          "body": "chore(cli): release 0.1.9",
          "is_bot": false,
          "headline": "Merge pull request #595 from iflytek/release/cli-v0.1.9",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-22T09:43:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ee746d371a82731c6e72f2117b47a2596bc9f92",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "chore(cli): bump version to 0.1.9",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-22T09:35:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "982258d032a22ffa0403db445c2736b128ec06b1",
          "body": "feat(cli): add generic user-level install target",
          "is_bot": false,
          "headline": "Merge pull request #585 from betterlmy/agent/generic-user-install-target",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-22T09:20:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9af4d391f342a447bffe4b750d10c38036db9d84",
          "body": "* docs(integrations): add Hermes skill guide\n\nSigned-off-by: dongmucat <1127093059@qq.com>\n\n* docs(integrations): clarify Hermes skill collision handling\n\nSigned-off-by: dongmucat <1127093059@qq.com>\n\n---------\n\nSigned-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "docs(integrations): add Hermes Agent skill guide (#584)",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-22T07:01:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba03a42d65168649117ff77fc77f0c866e7c6add",
          "body": "fix(scanner): pin LiteLLM for Alpine builds",
          "is_bot": false,
          "headline": "Merge pull request #591 from iflytek/fix/scanner-litellm-pin",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-22T06:14:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d8486cfb58e1c5d62ba24c7d04ac907954d6607a",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "fix(scanner): pin LiteLLM for Alpine builds",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-21T07:24:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fef740b8105aab2eeea9924d744a9aa20cf68b0b",
          "body": "单引号被当作字面字符传入,导致 cert-manager Certificate 校验报\n\"first path segment in URL cannot contain colon\"。去掉后本地验证\nErrors:1 → 0。",
          "is_bot": false,
          "headline": "fix(ci): 去掉 kubeconform schema-location 的内层单引号",
          "author_name": "jangrui",
          "author_login": "jangrui",
          "committed_at": "2026-07-20T16:24:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "512fc1be001b2f2fa000fc625f7a285932ff68cf",
          "body": "fix(helm): 接续完善 #445 的依赖、GitOps 与 Ingress 配置",
          "is_bot": false,
          "headline": "Merge pull request #1 from LHB6540/fix/pr445-followup-for-author",
          "author_name": "Jangrui",
          "author_login": "jangrui",
          "committed_at": "2026-07-20T16:19:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3dbb57a806db620ae83cd76433b8efa69cb5a02",
          "body": "同步 Helm CI matrix 与当前 values schema 和确定性凭据策略。\n\n- 所有 CI 渲染加载测试凭据并迁移 Ingress TLS 数组配置\n- PostgreSQL 使用 postgres 用户时引用管理员密码 key\n- 增加内置 Secret 和 existingSecret 的管理员用户契约测试\n\nSigned-off-by: lhb6540 <lhb6540@gmail.com>",
          "is_bot": false,
          "headline": "fix(helm): 修正 CI 渲染与 PostgreSQL 管理员密码引用",
          "author_name": "lhb6540",
          "author_login": "LHB6540",
          "committed_at": "2026-07-20T03:36:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f519b08a7313a8461ca308378c7398b7e608bb36",
          "body": "Signed-off-by: betterlmy <betterlmy@icloud.com>",
          "is_bot": false,
          "headline": "fix(cli): preflight canonical install targets",
          "author_name": "betterlmy",
          "author_login": "betterlmy",
          "committed_at": "2026-07-17T09:20:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b8420151626b773f33987eb9f092281da396ec5",
          "body": "Signed-off-by: betterlmy <betterlmy@icloud.com>",
          "is_bot": false,
          "headline": "feat: add generic user-level agent install target",
          "author_name": "betterlmy",
          "author_login": "betterlmy",
          "committed_at": "2026-07-17T03:39:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e4a69d59099c85e66f11e4361fedfd08be9f6fc",
          "body": "docs(faq): supplement FAQ (zh & en) with community-sourced Q&A",
          "is_bot": false,
          "headline": "Merge pull request #529 from FenjuFu/faq/add-community-qa",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-17T02:35:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9978d82cb155832e196f29810be59377c95ed603",
          "body": "本地 PVC 会覆盖 Server 镜像内预先设置的目录所有者,导致非 root app 用户无法写入技能文件。\n\n- 为 Server Pod 增加可覆盖的 fsGroup,默认匹配 v0.2.13 镜像的 app 组 101\n- 本地 ReadWriteOnce 存储自动使用 Recreate,避免滚动升级时新旧 Pod 抢占卷\n- ReadWriteMany 与 S3 部署继续使用 RollingUpdate\n- 补充 values schema、配置契约测试和运维文档\n\nSigned-off-by: lhb6540 <lhb6540@gmail.com>",
          "is_bot": false,
          "headline": "fix(helm): 修正 Server PVC 权限与 RWO 升级策略",
          "author_name": "lhb6540",
          "author_login": "LHB6540",
          "committed_at": "2026-07-16T12:04:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d379dcaafea189b6761f3b2e62c90afbd802b42",
          "body": "在配置进入 Kubernetes 前完成父 Chart 校验,并补齐剩余的依赖配置契约。\n\n- 让 Service、HPA 和 PDB 正确遵循组件启用状态\n- 校验 Ingress、自动扩缩容、外部依赖和共享存储的组合配置\n- 增加 values.schema.json 和 Helm 配置契约测试并接入 CI\n- 统一 PostgreSQL Primary 与 Read Replica 的 max_connections 配置\n- 修正 Redis Sentinel 节点、依赖等待和独立密码配置\n- 允许覆盖依赖等待容器镜像,支持完整私有镜像仓库部署\n- 兼容现代与旧式 IngressCla\n[…]\n充 Sentinel、RWX 存储、TLS Cookie、PVC 保留、私有镜像和 GitOps 文档\n- 增加 Redis 数据密码与 Sentinel 密码分离的应用配置测试\n\n已通过 Helm 严格 lint、渲染场景、配置契约测试、kubeconform、后端测试套件和 Sentinel 专项配置测试。\n\nSigned-off-by: lhb6540 <lhb6540@gmail.com>",
          "is_bot": false,
          "headline": "fix(helm): 修正组件启停与依赖配置并增加 values 校验",
          "author_name": "lhb6540",
          "author_login": "LHB6540",
          "committed_at": "2026-07-15T09:19:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3b3905be63d550dcbce044f5bf86672b670835f8",
          "body": "基于当前 SkillHub 运行时契约和 Bitnami 依赖命名,更新原贡献者提交的 Helm Chart 配置。\n\n- 将 Server 正确连接到实际的 PostgreSQL 和 Redis Service 与 Secret\n- 支持依赖组件的 existingSecret 名称和自定义密码 key,避免安装时 lookup\n- 同步 S3、匿名下载、Scanner LLM、公开地址、设备认证和直接认证配置\n- 将应用版本和 Chart 版本对齐当前发布版本\n- 收紧 Chart 发布触发条件和手动版本选择逻辑\n- 增加依赖 Service、Secret 和密码 key 的 CI 语义断言\n\n已通过 Helm lint、九组渲染场景、kubeconform、工作流安全检查和后端应用测试套件。\n\nSigned-off-by: lhb6540 <lhb6540@gmail.com>",
          "is_bot": false,
          "headline": "fix(helm): 修正 Bitnami 依赖连线并同步应用配置",
          "author_name": "lhb6540",
          "author_login": "LHB6540",
          "committed_at": "2026-07-15T09:19:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e32f05b375379d887bd3766b40f993c70d39db54",
          "body": "fix(auth): guard SUPER_ADMIN role mutations",
          "is_bot": false,
          "headline": "Merge pull request #568 from iflytek/fix/admin-super-admin-role-guard",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-02T05:53:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a254d752477b3c8e7f9486cfbdc15d531fd7e4d",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "fix(auth): guard SUPER_ADMIN role mutations",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-07-01T08:23:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06cc523a0c3dc2a8079885ce6bb9eda3ee632896",
          "body": "fix(frontend): support nested preview links",
          "is_bot": false,
          "headline": "Merge pull request #557 from iflytek/fix/relative-link-nested-preview",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-30T09:29:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7cc6e758f55d6b759fc69f5f0a739a1db28c9b8",
          "body": "Fix scanner local LLM base URL handling",
          "is_bot": false,
          "headline": "Merge pull request #565 from iflytek/fix/scanner-llm-base-url",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-30T07:25:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f43c8fcbee5718b1fdba0561cc564bd858c46d76",
          "body": "fix(frontend): patch undici dependabot alerts",
          "is_bot": false,
          "headline": "Merge pull request #567 from iflytek/fix/dependabot-open-alerts-dco",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-30T06:40:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85332a22375cd016c6624d374e8c0dc4780d0852",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "chore(staging): keep dependabot fix scoped",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-30T06:04:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db8aa36f897293398c5bf7d0acc4735507050df3",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "fix(frontend): patch undici alerts and harden staging web",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-30T02:58:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf7c71ad2c3dfb795c40ba6d9901ea8b353a7268",
          "body": "Also add Python CodeQL coverage in the security workflow so repository-level script regression checks stay green when Python source exists.\n\nSigned-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "fix(scanner): backport local LLM base URL handling for #563",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-29T06:34:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0134da73b57525b84783b93a134e5943ed276f4a",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "fix(frontend): support nested preview links",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-24T08:51:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8413ee39509278ea786d280e2bf2e58aef97bffc",
          "body": "fix(auth): restore password settings access",
          "is_bot": false,
          "headline": "Merge pull request #554 from iflytek/fix/auth-password-settings",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-24T02:50:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c25f950841ecfb81f5d56635339e702e6501157b",
          "body": "…ation\n\nfeat(promotion): improve promotion review dashboard",
          "is_bot": false,
          "headline": "Merge pull request #555 from iflytek/feature/promotion-review-optimiz…",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-24T02:36:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e501be9cf865f6750eab33382ddf7a044c290e41",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "feat(promotion): improve promotion review dashboard",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-24T01:28:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "636f1edac23d8c457805739b51541e17d9e9fa9b",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "docs(auth): align auth me example with #541",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-23T05:54:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f61ce71daa998f5169e4bbe015cadead41f7f0f6",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "test(web): ISSUE-61 cover security settings real requests",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-22T09:22:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f927c12b05a24a49de410bee5363c56b6484723",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "fix(PR): default deny security password changes",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-22T06:22:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54006e72a4db90ced5e2ed6e7b4dfb309738edeb",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "fix(web): ISSUE-62 gate security settings by capability",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-22T06:00:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "665ee0499af78f3c6d026b2acfcd1ad7e7f6830b",
          "body": "Signed-off-by: dongmucat <1127093059@qq.com>",
          "is_bot": false,
          "headline": "feat(auth): add ISSUE-60 password capability field",
          "author_name": "dongmucat",
          "author_login": "dongmucat",
          "committed_at": "2026-06-22T04:40:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 19,
      "commits_last_year": 1091,
      "latest_release_at": "2026-07-30T08:25:54Z",
      "latest_release_tag": "v0.2.15",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 20,
      "days_since_latest_release": 1,
      "mean_days_between_releases": 6.9
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 100,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@astron-team/skillhub",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "skillhub",
            "ai",
            "coding-agent",
            "skills",
            "cli"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@astron-team/skillhub",
          "is_deprecated": false,
          "latest_version": "0.1.9",
          "repository_url": "https://github.com/iflytek/skillhub",
          "versions_count": 8,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 2,
          "monthly_downloads": 3072,
          "first_published_at": "2026-05-06T09:11:01.916000Z",
          "latest_published_at": "2026-07-22T09:47:01.368000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 9
        }
      ]
    },
    "popularity": {
      "forks": 702,
      "stars": 4826,
      "watchers": 55,
      "fork_history": {
        "days": [
          {
            "date": "2026-03-13",
            "count": 16
          },
          {
            "date": "2026-03-14",
            "count": 5
          },
          {
            "date": "2026-03-15",
            "count": 16
          },
          {
            "date": "2026-03-16",
            "count": 12
          },
          {
            "date": "2026-03-17",
            "count": 2
          },
          {
            "date": "2026-03-18",
            "count": 1
          },
          {
            "date": "2026-03-19",
            "count": 1
          },
          {
            "date": "2026-03-20",
            "count": 2
          },
          {
            "date": "2026-03-24",
            "count": 2
          },
          {
            "date": "2026-03-25",
            "count": 3
          },
          {
            "date": "2026-03-26",
            "count": 2
          },
          {
            "date": "2026-03-27",
            "count": 2
          },
          {
            "date": "2026-03-28",
            "count": 2
          },
          {
            "date": "2026-03-29",
            "count": 2
          },
          {
            "date": "2026-03-30",
            "count": 9
          },
          {
            "date": "2026-03-31",
            "count": 5
          },
          {
            "date": "2026-04-01",
            "count": 33
          },
          {
            "date": "2026-04-02",
            "count": 26
          },
          {
            "date": "2026-04-03",
            "count": 37
          },
          {
            "date": "2026-04-04",
            "count": 8
          },
          {
            "date": "2026-04-05",
            "count": 3
          },
          {
            "date": "2026-04-06",
            "count": 6
          },
          {
            "date": "2026-04-07",
            "count": 10
          },
          {
            "date": "2026-04-08",
            "count": 14
          },
          {
            "date": "2026-04-09",
            "count": 16
          },
          {
            "date": "2026-04-10",
            "count": 17
          },
          {
            "date": "2026-04-11",
            "count": 8
          },
          {
            "date": "2026-04-12",
            "count": 5
          },
          {
            "date": "2026-04-13",
            "count": 10
          },
          {
            "date": "2026-04-14",
            "count": 10
          },
          {
            "date": "2026-04-15",
            "count": 4
          },
          {
            "date": "2026-04-16",
            "count": 5
          },
          {
            "date": "2026-04-17",
            "count": 7
          },
          {
            "date": "2026-04-18",
            "count": 2
          },
          {
            "date": "2026-04-19",
            "count": 2
          },
          {
            "date": "2026-04-20",
            "count": 10
          },
          {
            "date": "2026-04-21",
            "count": 3
          },
          {
            "date": "2026-04-22",
            "count": 7
          },
          {
            "date": "2026-04-23",
            "count": 1
          },
          {
            "date": "2026-04-24",
            "count": 2
          },
          {
            "date": "2026-04-25",
            "count": 4
          },
          {
            "date": "2026-04-26",
            "count": 2
          },
          {
            "date": "2026-04-27",
            "count": 5
          },
          {
            "date": "2026-04-28",
            "count": 5
          },
          {
            "date": "2026-04-29",
            "count": 3
          },
          {
            "date": "2026-04-30",
            "count": 3
          },
          {
            "date": "2026-05-01",
            "count": 1
          },
          {
            "date": "2026-05-02",
            "count": 2
          },
          {
            "date": "2026-05-04",
            "count": 10
          },
          {
            "date": "2026-05-05",
            "count": 1
          },
          {
            "date": "2026-05-06",
            "count": 4
          },
          {
            "date": "2026-05-07",
            "count": 2
          },
          {
            "date": "2026-05-08",
            "count": 2
          },
          {
            "date": "2026-05-09",
            "count": 4
          },
          {
            "date": "2026-05-10",
            "count": 3
          },
          {
            "date": "2026-05-11",
            "count": 8
          },
          {
            "date": "2026-05-12",
            "count": 2
          },
          {
            "date": "2026-05-13",
            "count": 5
          },
          {
            "date": "2026-05-14",
            "count": 1
          },
          {
            "date": "2026-05-15",
            "count": 1
          },
          {
            "date": "2026-05-16",
            "count": 1
          },
          {
            "date": "2026-05-17",
            "count": 2
          },
          {
            "date": "2026-05-18",
            "count": 11
          },
          {
            "date": "2026-05-19",
            "count": 9
          },
          {
            "date": "2026-05-27",
            "count": 7
          },
          {
            "date": "2026-05-28",
            "count": 4
          },
          {
            "date": "2026-05-29",
            "count": 4
          },
          {
            "date": "2026-05-30",
            "count": 2
          },
          {
            "date": "2026-05-31",
            "count": 2
          },
          {
            "date": "2026-06-01",
            "count": 1
          },
          {
            "date": "2026-06-02",
            "count": 4
          },
          {
            "date": "2026-06-03",
            "count": 5
          },
          {
            "date": "2026-06-04",
            "count": 4
          },
          {
            "date": "2026-06-05",
            "count": 3
          },
          {
            "date": "2026-06-06",
            "count": 3
          },
          {
            "date": "2026-06-08",
            "count": 6
          },
          {
            "date": "2026-06-09",
            "count": 2
          },
          {
            "date": "2026-06-10",
            "count": 3
          },
          {
            "date": "2026-06-11",
            "count": 6
          },
          {
            "date": "2026-06-12",
            "count": 7
          },
          {
            "date": "2026-06-13",
            "count": 3
          },
          {
            "date": "2026-06-14",
            "count": 2
          },
          {
            "date": "2026-06-15",
            "count": 2
          },
          {
            "date": "2026-06-16",
            "count": 3
          },
          {
            "date": "2026-06-17",
            "count": 8
          },
          {
            "date": "2026-06-18",
            "count": 3
          },
          {
            "date": "2026-06-19",
            "count": 1
          },
          {
            "date": "2026-06-21",
            "count": 1
          },
          {
            "date": "2026-06-22",
            "count": 4
          },
          {
            "date": "2026-06-23",
            "count": 4
          },
          {
            "date": "2026-06-24",
            "count": 4
          },
          {
            "date": "2026-06-25",
            "count": 2
          },
          {
            "date": "2026-06-26",
            "count": 2
          },
          {
            "date": "2026-06-27",
            "count": 1
          },
          {
            "date": "2026-06-29",
            "count": 2
          },
          {
            "date": "2026-06-30",
            "count": 1
          },
          {
            "date": "2026-07-01",
            "count": 1
          },
          {
            "date": "2026-07-02",
            "count": 7
          },
          {
            "date": "2026-07-03",
            "count": 5
          },
          {
            "date": "2026-07-05",
            "count": 1
          },
          {
            "date": "2026-07-06",
            "count": 1
          },
          {
            "date": "2026-07-07",
            "count": 4
          },
          {
            "date": "2026-07-08",
            "count": 10
          },
          {
            "date": "2026-07-09",
            "count": 16
          },
          {
            "date": "2026-07-10",
            "count": 37
          },
          {
            "date": "2026-07-11",
            "count": 3
          },
          {
            "date": "2026-07-12",
            "count": 2
          },
          {
            "date": "2026-07-13",
            "count": 2
          },
          {
            "date": "2026-07-14",
            "count": 1
          },
          {
            "date": "2026-07-15",
            "count": 4
          },
          {
            "date": "2026-07-16",
            "count": 1
          },
          {
            "date": "2026-07-17",
            "count": 2
          },
          {
            "date": "2026-07-19",
            "count": 5
          },
          {
            "date": "2026-07-20",
            "count": 4
          },
          {
            "date": "2026-07-21",
            "count": 5
          },
          {
            "date": "2026-07-22",
            "count": 4
          },
          {
            "date": "2026-07-23",
            "count": 3
          },
          {
            "date": "2026-07-24",
            "count": 1
          },
          {
            "date": "2026-07-25",
            "count": 6
          },
          {
            "date": "2026-07-26",
            "count": 8
          },
          {
            "date": "2026-07-27",
            "count": 13
          },
          {
            "date": "2026-07-28",
            "count": 1
          },
          {
            "date": "2026-07-29",
            "count": 14
          },
          {
            "date": "2026-07-30",
            "count": 6
          },
          {
            "date": "2026-07-31",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 693,
        "total_forks": 702
      },
      "star_history": null,
      "open_issues_and_prs": 64
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": true,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "cli/tsconfig.json",
        "document/tsconfig.json",
        "web/tsconfig.json"
      ],
      "toolchain_manifests": [
        "server/pom.xml",
        "server/skillhub-app/pom.xml",
        "server/skillhub-auth/pom.xml",
        "server/skillhub-domain/pom.xml",
        "server/skillhub-infra/pom.xml",
        "server/skillhub-notification/pom.xml",
        "server/skillhub-search/pom.xml",
        "server/skillhub-storage/pom.xml"
      ],
      "largest_source_bytes": 87461,
      "source_files_sampled": 1364,
      "oversized_source_files": 3,
      "agent_instruction_files": [
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 29196
    },
    "dependencies": {
      "manifests": [
        "cli/package.json",
        "document/package.json",
        "server/pom.xml",
        "web/package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 7,
        "malicious_count": 0,
        "assessed_package": "npm:@astron-team/skillhub@0.1.9",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "maven",
        "npm"
      ],
      "dependencies": [
        {
          "name": "cac",
          "manifest": "cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.7.14"
        },
        {
          "name": "fflate",
          "manifest": "cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.8.2"
        },
        {
          "name": "prompts",
          "manifest": "cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.4.2"
        },
        {
          "name": "semver",
          "manifest": "cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.6.3"
        },
        {
          "name": "zod",
          "manifest": "cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.24.1"
        },
        {
          "name": "@docusaurus/core",
          "manifest": "document/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.9.2"
        },
        {
          "name": "@docusaurus/preset-classic",
          "manifest": "document/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.9.2"
        },
        {
          "name": "@mdx-js/react",
          "manifest": "document/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.0"
        },
        {
          "name": "clsx",
          "manifest": "document/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.0"
        },
        {
          "name": "prism-react-renderer",
          "manifest": "document/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.0"
        },
        {
          "name": "react",
          "manifest": "document/package.json",
          "ecosystem": "npm",
          "version_constraint": "^18.2.0"
        },
        {
          "name": "react-dom",
          "manifest": "document/package.json",
          "ecosystem": "npm",
          "version_constraint": "^18.2.0"
        },
        {
          "name": "com.iflytek.skillhub:skillhub-domain",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "com.iflytek.skillhub:skillhub-auth",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "com.iflytek.skillhub:skillhub-search",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "com.iflytek.skillhub:skillhub-storage",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "com.iflytek.skillhub:skillhub-infra",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "com.iflytek.skillhub:skillhub-notification",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "@radix-ui/react-dropdown-menu",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.1.16"
        },
        {
          "name": "@radix-ui/react-select",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.2.6"
        },
        {
          "name": "@tanstack/react-query",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.64.0"
        },
        {
          "name": "@tanstack/react-router",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.95.0"
        },
        {
          "name": "class-variance-authority",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.7.0"
        },
        {
          "name": "clsx",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.1.0"
        },
        {
          "name": "i18next",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^25.8.18"
        },
        {
          "name": "i18next-browser-languagedetector",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.2.1"
        },
        {
          "name": "lowlight",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.3.0"
        },
        {
          "name": "lucide-react",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.344.0"
        },
        {
          "name": "openapi-fetch",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.13.8"
        },
        {
          "name": "react",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^19.0.0"
        },
        {
          "name": "react-diff-viewer-continued",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.2.0"
        },
        {
          "name": "react-dom",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^19.0.0"
        },
        {
          "name": "react-dropzone",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^15.0.0"
        },
        {
          "name": "react-i18next",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^16.5.8"
        },
        {
          "name": "react-markdown",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^10.1.0"
        },
        {
          "name": "rehype-highlight",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.0.2"
        },
        {
          "name": "rehype-sanitize",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.0.0"
        },
        {
          "name": "remark-frontmatter",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.0.0"
        },
        {
          "name": "remark-gfm",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.1"
        },
        {
          "name": "sonner",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.7"
        },
        {
          "name": "tailwind-merge",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.2.1"
        },
        {
          "name": "unist-util-visit",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.0.0"
        },
        {
          "name": "zustand",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.0.11"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "com.iflytek.skillhub:skillhub-auth",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.iflytek.skillhub:skillhub-auth",
            "direct": true,
            "version": "0.1.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.iflytek.skillhub:skillhub-domain",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.iflytek.skillhub:skillhub-domain",
            "direct": true,
            "version": "0.1.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.iflytek.skillhub:skillhub-infra",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.iflytek.skillhub:skillhub-infra",
            "direct": true,
            "version": "0.1.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.iflytek.skillhub:skillhub-notification",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.iflytek.skillhub:skillhub-notification",
            "direct": true,
            "version": "0.1.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.iflytek.skillhub:skillhub-search",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.iflytek.skillhub:skillhub-search",
            "direct": true,
            "version": "0.1.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.iflytek.skillhub:skillhub-storage",
            "direct": true,
            "version": "0.1.0",
            "ecosystem": "maven"
          },
          {
            "name": "@docusaurus/core",
            "direct": true,
            "version": "^3.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@docusaurus/preset-classic",
            "direct": true,
            "version": "^3.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@mdx-js/react",
            "direct": true,
            "version": "^3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-dropdown-menu",
            "direct": true,
            "version": "2.1.16",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-select",
            "direct": true,
            "version": "2.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/react-query",
            "direct": true,
            "version": "5.90.21",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/react-router",
            "direct": true,
            "version": "1.166.7",
            "ecosystem": "npm"
          },
          {
            "name": "cac",
            "direct": true,
            "version": "^6.7.14",
            "ecosystem": "npm"
          },
          {
            "name": "class-variance-authority",
            "direct": true,
            "version": "0.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "clsx",
            "direct": true,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "clsx",
            "direct": true,
            "version": "^2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fflate",
            "direct": true,
            "version": "^0.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "i18next",
            "direct": true,
            "version": "25.8.18",
            "ecosystem": "npm"
          },
          {
            "name": "i18next-browser-languagedetector",
            "direct": true,
            "version": "8.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "lowlight",
            "direct": true,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "lucide-react",
            "direct": true,
            "version": "0.344.0",
            "ecosystem": "npm"
          },
          {
            "name": "openapi-fetch",
            "direct": true,
            "version": "0.13.8",
            "ecosystem": "npm"
          },
          {
            "name": "prism-react-renderer",
            "direct": true,
            "version": "^2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "prompts",
            "direct": true,
            "version": "^2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": true,
            "version": "19.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": true,
            "version": "^18.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-diff-viewer-continued",
            "direct": true,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": true,
            "version": "19.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": true,
            "version": "^18.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-dropzone",
            "direct": true,
            "version": "15.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-i18next",
            "direct": true,
            "version": "16.5.8",
            "ecosystem": "npm"
          },
          {
            "name": "react-markdown",
            "direct": true,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rehype-highlight",
            "direct": true,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "rehype-sanitize",
            "direct": true,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-frontmatter",
            "direct": true,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-gfm",
            "direct": true,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": true,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": true,
            "version": "7.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": true,
            "version": "^7.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "sonner",
            "direct": true,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "tailwind-merge",
            "direct": true,
            "version": "2.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit",
            "direct": true,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": true,
            "version": "^3.24.1",
            "ecosystem": "npm"
          },
          {
            "name": "zustand",
            "direct": true,
            "version": "5.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-databind",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.h2database:h2",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "io.github.arbing:jieba-analysis",
            "direct": false,
            "version": "1.0.3.1",
            "ecosystem": "maven"
          },
          {
            "name": "io.github.java-diff-utils:java-diff-utils",
            "direct": false,
            "version": "4.12",
            "ecosystem": "maven"
          },
          {
            "name": "io.micrometer:micrometer-registry-prometheus",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "jakarta.persistence:jakarta.persistence-api",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.assertj:assertj-core",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-core",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-database-postgresql",
            "direct": false,
            "version": "10.10.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.hibernate.orm:hibernate-core",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.junit.jupiter:junit-jupiter",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.mockito:mockito-junit-jupiter",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.postgresql:postgresql",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.redisson:redisson",
            "direct": false,
            "version": "3.51.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.springdoc:springdoc-openapi-starter-webmvc-ui",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-configuration-processor",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-devtools",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-actuator",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-data-jpa",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-data-redis",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-mail",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-oauth2-client",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-security",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-test",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-web",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-webflux",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.data:spring-data-commons",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.security:spring-security-test",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.session:spring-session-data-redis",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework:spring-context",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework:spring-tx",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.yaml:snakeyaml",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "software.amazon.awssdk:apache-client",
            "direct": false,
            "version": "2.20.26",
            "ecosystem": "maven"
          },
          {
            "name": "software.amazon.awssdk:s3",
            "direct": false,
            "version": "2.20.26",
            "ecosystem": "maven"
          },
          {
            "name": "software.amazon.awssdk:sts",
            "direct": false,
            "version": "2.20.26",
            "ecosystem": "maven"
          },
          {
            "name": "@algolia/abtesting",
            "direct": false,
            "version": "1.18.1",
            "ecosystem": "npm"
          },
          {
            "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.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-analytics",
            "direct": false,
            "version": "5.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-common",
            "direct": false,
            "version": "5.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-insights",
            "direct": false,
            "version": "5.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-personalization",
            "direct": false,
            "version": "5.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-query-suggestions",
            "direct": false,
            "version": "5.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/client-search",
            "direct": false,
            "version": "5.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/ingestion",
            "direct": false,
            "version": "1.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/monitoring",
            "direct": false,
            "version": "1.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/recommend",
            "direct": false,
            "version": "5.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/requester-browser-xhr",
            "direct": false,
            "version": "5.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/requester-fetch",
            "direct": false,
            "version": "5.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@algolia/requester-node-http",
            "direct": false,
            "version": "5.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "@alloc/quick-lru",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/css-color",
            "direct": false,
            "version": "5.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/dom-selector",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/generational-cache",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/nwsapi",
            "direct": false,
            "version": "2.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.29.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.28.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-react-jsx-self",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-react-jsx-source",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@bramus/specificity",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/color-helpers",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-calc",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-color-parser",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-parser-algorithms",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-syntax-patches-for-csstree",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-tokenizer",
            "direct": false,
            "version": "4.0.0",
            "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": "@docusaurus/module-type-aliases",
            "direct": false,
            "version": "^3.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@docusaurus/tsconfig",
            "direct": false,
            "version": "^3.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@docusaurus/types",
            "direct": false,
            "version": "^3.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/babel-plugin",
            "direct": false,
            "version": "11.13.5",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/cache",
            "direct": false,
            "version": "11.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/css",
            "direct": false,
            "version": "11.13.5",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/hash",
            "direct": false,
            "version": "0.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/memoize",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/react",
            "direct": false,
            "version": "11.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/serialize",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/sheet",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/unitless",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/use-insertion-effect-with-fallbacks",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/utils",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/weak-memoize",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.28.1",
            "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.57.1",
            "ecosystem": "npm"
          },
          {
            "name": "@exodus/bytes",
            "direct": false,
            "version": "1.15.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/react-dom",
            "direct": false,
            "version": "2.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/utils",
            "direct": false,
            "version": "0.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/config-array",
            "direct": false,
            "version": "0.13.0",
            "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.84",
            "ecosystem": "npm"
          },
          {
            "name": "@iconify/types",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/remapping",
            "direct": false,
            "version": "2.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@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": "@playwright/test",
            "direct": false,
            "version": "1.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/number",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/primitive",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-arrow",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-collection",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-compose-refs",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-context",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-direction",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-dismissable-layer",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-focus-guards",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-focus-scope",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-id",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-menu",
            "direct": false,
            "version": "2.1.16",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-popper",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-portal",
            "direct": false,
            "version": "1.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-presence",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-primitive",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-roving-focus",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-slot",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-callback-ref",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-controllable-state",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-effect-event",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-escape-keydown",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-layout-effect",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-previous",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-rect",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-use-size",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-visually-hidden",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/rect",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@redocly/ajv",
            "direct": false,
            "version": "8.11.2",
            "ecosystem": "npm"
          },
          {
            "name": "@redocly/config",
            "direct": false,
            "version": "0.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "@redocly/openapi-core",
            "direct": false,
            "version": "1.34.10",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.0-beta.27",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/core",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-javascript",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-oniguruma",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/langs",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/themes",
            "direct": false,
            "version": "2.5.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/vscode-textmate",
            "direct": false,
            "version": "10.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/history",
            "direct": false,
            "version": "1.161.4",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/query-core",
            "direct": false,
            "version": "5.90.20",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/react-store",
            "direct": false,
            "version": "0.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/router-core",
            "direct": false,
            "version": "1.166.7",
            "ecosystem": "npm"
          },
          {
            "name": "@tanstack/store",
            "direct": false,
            "version": "0.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/dom",
            "direct": false,
            "version": "10.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/react",
            "direct": false,
            "version": "16.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/aria-query",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__core",
            "direct": false,
            "version": "7.20.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__generator",
            "direct": false,
            "version": "7.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__template",
            "direct": false,
            "version": "7.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__traverse",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/bun",
            "direct": false,
            "version": "^1.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/debug",
            "direct": false,
            "version": "4.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree-jsx",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/hast",
            "direct": false,
            "version": "3.0.4",
            "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/ms",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/parse-json",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/prompts",
            "direct": false,
            "version": "^2.4.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react",
            "direct": false,
            "version": "19.2.14",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react-dom",
            "direct": false,
            "version": "19.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/semver",
            "direct": false,
            "version": "^7.5.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "2.0.11",
            "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": "7.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "^7.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "7.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "^7.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "7.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "7.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "7.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "7.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "7.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "7.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/structured-clone",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/structured-clone",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-react",
            "direct": false,
            "version": "4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-vue",
            "direct": false,
            "version": "5.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.5.34",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.5.34",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-sfc",
            "direct": false,
            "version": "3.5.34",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.5.34",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "7.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-kit",
            "direct": false,
            "version": "7.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-shared",
            "direct": false,
            "version": "7.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/reactivity",
            "direct": false,
            "version": "3.5.34",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-core",
            "direct": false,
            "version": "3.5.34",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-dom",
            "direct": false,
            "version": "3.5.34",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/server-renderer",
            "direct": false,
            "version": "3.5.34",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.5.34",
            "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": "acorn",
            "direct": false,
            "version": "8.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "7.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "algoliasearch",
            "direct": false,
            "version": "5.52.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-colors",
            "direct": false,
            "version": "4.1.3",
            "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": "ansi-styles",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "any-promise",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "anymatch",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "arg",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "aria-hidden",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "aria-query",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "array-union",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "attr-accept",
            "direct": false,
            "version": "2.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "autoprefixer",
            "direct": false,
            "version": "10.4.27",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-macros",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "bail",
            "direct": false,
            "version": "2.0.2",
            "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": "bidi-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "birpc",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase-css",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001777",
            "ecosystem": "npm"
          },
          {
            "name": "ccount",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "change-case",
            "direct": false,
            "version": "5.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities",
            "direct": false,
            "version": "2.0.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": "character-reference-invalid",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "classnames",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "colorette",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "comma-separated-tokens",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cookie-es",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "copy-anything",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "cosmiconfig",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "css-tree",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "cssesc",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "data-urls",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decimal.js",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "decode-named-character-reference",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "dequal",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "detect-node-es",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "devlop",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "didyoumean",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "8.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "dir-glob",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "dlv",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dom-accessibility-api",
            "direct": false,
            "version": "0.5.16",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.307",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex-xs",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.28.1",
            "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": "escape-string-regexp",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "8.57.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "^8.57.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react-hooks",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react-refresh",
            "direct": false,
            "version": "0.4.26",
            "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": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-util-is-identifier-name",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "extend",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "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": "fastq",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "fault",
            "direct": false,
            "version": "2.0.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-selector",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-root",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "focus-trap",
            "direct": false,
            "version": "7.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "format",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "fraction.js",
            "direct": false,
            "version": "5.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-nonce",
            "direct": false,
            "version": "1.0.1",
            "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": "globals",
            "direct": false,
            "version": "13.24.0",
            "ecosystem": "npm"
          },
          {
            "name": "globby",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "graphemer",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-is-element",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-sanitize",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-to-html",
            "direct": false,
            "version": "9.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-to-jsx-runtime",
            "direct": false,
            "version": "2.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-to-text",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-whitespace",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "highlight.js",
            "direct": false,
            "version": "11.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "hoist-non-react-statics",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "hookable",
            "direct": false,
            "version": "5.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "html-encoding-sniffer",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "html-parse-stringify",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "html-url-attributes",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "html-void-elements",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "index-to-position",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "inline-style-parser",
            "direct": false,
            "version": "0.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-alphabetical",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-alphanumerical",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-binary-path",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.16.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-decimal",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-hexadecimal",
            "direct": false,
            "version": "2.0.1",
            "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-plain-obj",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-potential-custom-element-name",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-what",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "isbot",
            "direct": false,
            "version": "5.1.36",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "1.21.7",
            "ecosystem": "npm"
          },
          {
            "name": "js-levenshtein",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsdom",
            "direct": false,
            "version": "29.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "3.1.0",
            "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": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "lilconfig",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "longest-streak",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "loose-envify",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "lz-string",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "mark.js",
            "direct": false,
            "version": "8.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-table",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-find-and-replace",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-from-markdown",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-frontmatter",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-autolink-literal",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-footnote",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-strikethrough",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-table",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-task-list-item",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-mdx-expression",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-mdx-jsx",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-mdxjs-esm",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-phrasing",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-hast",
            "direct": false,
            "version": "13.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-markdown",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdn-data",
            "direct": false,
            "version": "2.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "memoize-one",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-core-commonmark",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-frontmatter",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-autolink-literal",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-footnote",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-strikethrough",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-table",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-tagfilter",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-task-list-item",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-destination",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-label",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-space",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-title",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-whitespace",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-character",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-chunked",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-classify-character",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-combine-extensions",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-decode-numeric-character-reference",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-decode-string",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-encode",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-html-tag-name",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-normalize-identifier",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-resolve-all",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-sanitize-uri",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-subtokenize",
            "direct": false,
            "version": "2.1.0",
            "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": "minimatch",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "5.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "minisearch",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "mitt",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mz",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "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": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-hash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "oniguruma-to-es",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "openapi-typescript",
            "direct": false,
            "version": "7.13.0",
            "ecosystem": "npm"
          },
          {
            "name": "openapi-typescript-helpers",
            "direct": false,
            "version": "0.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-entities",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "8.0.1",
            "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": "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.2",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "pirates",
            "direct": false,
            "version": "4.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "playwright",
            "direct": false,
            "version": "1.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "playwright-core",
            "direct": false,
            "version": "1.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "pluralize",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-import",
            "direct": false,
            "version": "15.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-js",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-load-config",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-nested",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-selector-parser",
            "direct": false,
            "version": "6.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-value-parser",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "preact",
            "direct": false,
            "version": "10.29.2",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-format",
            "direct": false,
            "version": "27.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "prop-types",
            "direct": false,
            "version": "15.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "property-information",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "16.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "17.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "react-refresh",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-remove-scroll",
            "direct": false,
            "version": "2.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "react-remove-scroll-bar",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "react-style-singleton",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "read-cache",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "3.6.0",
            "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": "remark-parse",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-rehype",
            "direct": false,
            "version": "11.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "remark-stringify",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "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": "rollup",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.60.4",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "saxes",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "scheduler",
            "direct": false,
            "version": "0.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "search-insights",
            "direct": false,
            "version": "2.17.3",
            "ecosystem": "npm"
          },
          {
            "name": "seroval",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "seroval-plugins",
            "direct": false,
            "version": "1.5.1",
            "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": "shiki",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "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": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.1.0",
            "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": "style-to-js",
            "direct": false,
            "version": "1.1.21",
            "ecosystem": "npm"
          },
          {
            "name": "style-to-object",
            "direct": false,
            "version": "1.0.14",
            "ecosystem": "npm"
          },
          {
            "name": "stylis",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "sucrase",
            "direct": false,
            "version": "3.35.1",
            "ecosystem": "npm"
          },
          {
            "name": "superjson",
            "direct": false,
            "version": "2.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "10.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-preserve-symlinks-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "symbol-tree",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tabbable",
            "direct": false,
            "version": "6.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": false,
            "version": "3.4.19",
            "ecosystem": "npm"
          },
          {
            "name": "text-table",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "thenify",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "thenify-all",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "tiny-invariant",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "tiny-warning",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.15",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.16",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tldts",
            "direct": false,
            "version": "7.0.30",
            "ecosystem": "npm"
          },
          {
            "name": "tldts-core",
            "direct": false,
            "version": "7.0.30",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tough-cookie",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "trim-lines",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "trough",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "1.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "ts-interface-checker",
            "direct": false,
            "version": "0.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "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": "4.41.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "^5.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "~5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "unified",
            "direct": false,
            "version": "11.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-find-after",
            "direct": false,
            "version": "5.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-parents",
            "direct": false,
            "version": "6.0.2",
            "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": "uri-js-replace",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "use-callback-ref",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "use-sidecar",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "use-sync-external-store",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "vfile",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-message",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "6.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "vitepress",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "void-elements",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": false,
            "version": "3.5.34",
            "ecosystem": "npm"
          },
          {
            "name": "w3c-xmlserializer",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "16.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "xml-name-validator",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "xmlchars",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "1.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "yaml-ast-parser",
            "direct": false,
            "version": "0.0.43",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "zwitch",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 786,
        "direct_count": 50,
        "indirect_count": 736
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 16,
        "merged_prs": 303,
        "open_issues": 48,
        "closed_ratio": 0.764,
        "closed_issues": 155,
        "closed_unmerged_prs": 109
      },
      "bus_factor": 2,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "dongmucat",
          "commits": 343,
          "avatar_url": "https://avatars.githubusercontent.com/u/70678707?v=4"
        },
        {
          "type": "User",
          "login": "vsxd",
          "commits": 236,
          "avatar_url": "https://avatars.githubusercontent.com/u/28803103?v=4"
        },
        {
          "type": "User",
          "login": "yun-zhi-ztl",
          "commits": 190,
          "avatar_url": "https://avatars.githubusercontent.com/u/66589705?v=4"
        },
        {
          "type": "User",
          "login": "XiaoSeS",
          "commits": 107,
          "avatar_url": "https://avatars.githubusercontent.com/u/87064762?v=4"
        },
        {
          "type": "User",
          "login": "wowo-zZ",
          "commits": 61,
          "avatar_url": "https://avatars.githubusercontent.com/u/9653978?v=4"
        },
        {
          "type": "User",
          "login": "FenjuFu",
          "commits": 22,
          "avatar_url": "https://avatars.githubusercontent.com/u/92919259?v=4"
        },
        {
          "type": "User",
          "login": "Pipreola",
          "commits": 19,
          "avatar_url": "https://avatars.githubusercontent.com/u/30210874?v=4"
        },
        {
          "type": "User",
          "login": "tap-top",
          "commits": 13,
          "avatar_url": "https://avatars.githubusercontent.com/u/9601223?v=4"
        },
        {
          "type": "User",
          "login": "jangrui",
          "commits": 11,
          "avatar_url": "https://avatars.githubusercontent.com/u/5895682?v=4"
        },
        {
          "type": "User",
          "login": "likes1234-bro",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/93520596?v=4"
        }
      ],
      "contributors_sampled": 28,
      "top_contributor_share": 0.33
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "claim-issue-reward.yml",
        "deepwiki.yml",
        "deploy-docs.yml",
        "issue-backlog-rescore.yml",
        "issue-triage.yml",
        "pr-batch-test-deploy.yml",
        "pr-cli.yml",
        "pr-e2e.yml",
        "pr-helm-chart.yml",
        "pr-scripts.yml",
        "pr-tests.yml",
        "publish-chart.yml",
        "publish-images.yml",
        "release-cli.yml",
        "release-notes.yml",
        "security.yml",
        "statistic-member-reward.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".eslintrc.cjs"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json",
        "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": 1,
            "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": 9,
            "reason": "11 out of 12 merged PRs checked by a CI test -- score normalized to 9",
            "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": 6,
            "reason": "Found 8/12 approved changesets -- score normalized to 6",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 4 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": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 27 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": 2,
            "reason": "dependency not pinned by hash detected -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 7,
            "reason": "SAST tool detected but not run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 9,
            "reason": "security policy file 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": "56 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "1305f216468c5df4011c4eabf7ff756e2c07f578",
        "ran_at": "2026-07-31T10:42:55Z",
        "aggregate_score": 4.9,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-31T10:15:43Z",
      "oldest_open_prs": [
        {
          "number": 437,
          "created_at": "2026-05-14T13:13:00Z",
          "last_comment_at": "2026-07-29T03:08:50Z",
          "last_comment_author": "XiaoSeS"
        },
        {
          "number": 467,
          "created_at": "2026-05-28T07:03:08Z",
          "last_comment_at": "2026-07-29T04:58:57Z",
          "last_comment_author": "konglong87"
        },
        {
          "number": 561,
          "created_at": "2026-06-26T04:37:38Z",
          "last_comment_at": "2026-07-30T17:42:12Z",
          "last_comment_author": "XiaoSeS"
        },
        {
          "number": 576,
          "created_at": "2026-07-09T09:37:38Z",
          "last_comment_at": "2026-07-22T10:15:01Z",
          "last_comment_author": "Phil-OSophy-42"
        },
        {
          "number": 581,
          "created_at": "2026-07-15T02:02:23Z",
          "last_comment_at": "2026-07-23T08:27:56Z",
          "last_comment_author": "FenjuFu"
        },
        {
          "number": 619,
          "created_at": "2026-07-29T02:27:16Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 623,
          "created_at": "2026-07-29T09:44:26Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 624,
          "created_at": "2026-07-29T14:03:23Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 625,
          "created_at": "2026-07-29T19:49:28Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 630,
          "created_at": "2026-07-30T06:40:53Z",
          "last_comment_at": "2026-07-31T05:13:01Z",
          "last_comment_author": "FenjuFu"
        },
        {
          "number": 631,
          "created_at": "2026-07-30T06:40:57Z",
          "last_comment_at": "2026-07-30T06:41:05Z",
          "last_comment_author": "CLAassistant"
        },
        {
          "number": 633,
          "created_at": "2026-07-30T07:25:22Z",
          "last_comment_at": "2026-07-30T07:25:30Z",
          "last_comment_author": "CLAassistant"
        },
        {
          "number": 635,
          "created_at": "2026-07-30T07:40:52Z",
          "last_comment_at": "2026-07-31T05:16:35Z",
          "last_comment_author": "FenjuFu"
        },
        {
          "number": 636,
          "created_at": "2026-07-30T07:52:55Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 639,
          "created_at": "2026-07-30T08:05:03Z",
          "last_comment_at": "2026-07-30T08:05:11Z",
          "last_comment_author": "CLAassistant"
        },
        {
          "number": 664,
          "created_at": "2026-07-31T05:43:16Z",
          "last_comment_at": "2026-07-31T05:58:21Z",
          "last_comment_author": "XiaoSeS"
        }
      ],
      "last_merged_pr_at": "2026-07-31T09:52:26Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 247,
          "created_at": "2026-04-07T08:40:41Z",
          "last_comment_at": "2026-07-28T12:30:10Z",
          "last_comment_author": "FenjuFu"
        },
        {
          "number": 252,
          "created_at": "2026-04-07T11:41:53Z",
          "last_comment_at": "2026-05-14T04:52:43Z",
          "last_comment_author": "AIZY2025"
        },
        {
          "number": 452,
          "created_at": "2026-05-18T07:18:28Z",
          "last_comment_at": "2026-05-18T07:18:47Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 456,
          "created_at": "2026-05-19T08:10:19Z",
          "last_comment_at": "2026-07-31T01:33:23Z",
          "last_comment_author": "XiaoSeS"
        },
        {
          "number": 516,
          "created_at": "2026-06-12T09:52:33Z",
          "last_comment_at": "2026-07-01T14:52:50Z",
          "last_comment_author": "brandonfang06"
        },
        {
          "number": 517,
          "created_at": "2026-06-12T10:01:21Z",
          "last_comment_at": "2026-06-12T10:01:37Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 518,
          "created_at": "2026-06-13T01:49:48Z",
          "last_comment_at": "2026-06-13T01:50:09Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 520,
          "created_at": "2026-06-14T01:54:15Z",
          "last_comment_at": "2026-06-14T01:54:31Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 522,
          "created_at": "2026-06-15T01:57:48Z",
          "last_comment_at": "2026-06-15T01:58:05Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 528,
          "created_at": "2026-06-15T07:13:36Z",
          "last_comment_at": "2026-06-17T04:15:01Z",
          "last_comment_author": "siyubuyu"
        },
        {
          "number": 540,
          "created_at": "2026-06-18T02:01:12Z",
          "last_comment_at": "2026-06-18T02:01:29Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 556,
          "created_at": "2026-06-24T01:53:26Z",
          "last_comment_at": "2026-07-28T19:04:32Z",
          "last_comment_author": "XiaoSeS"
        },
        {
          "number": 571,
          "created_at": "2026-07-06T03:33:33Z",
          "last_comment_at": "2026-07-06T03:33:46Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 579,
          "created_at": "2026-07-13T04:22:34Z",
          "last_comment_at": "2026-07-13T04:22:52Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 580,
          "created_at": "2026-07-14T12:55:29Z",
          "last_comment_at": "2026-07-28T19:22:20Z",
          "last_comment_author": "XiaoSeS"
        },
        {
          "number": 583,
          "created_at": "2026-07-16T08:52:26Z",
          "last_comment_at": "2026-07-28T18:39:26Z",
          "last_comment_author": "XiaoSeS"
        },
        {
          "number": 587,
          "created_at": "2026-07-20T04:29:22Z",
          "last_comment_at": "2026-07-20T04:29:39Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 589,
          "created_at": "2026-07-21T06:48:30Z",
          "last_comment_at": "2026-07-21T06:48:48Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 597,
          "created_at": "2026-07-22T10:37:06Z",
          "last_comment_at": "2026-07-31T05:43:43Z",
          "last_comment_author": "XiaoSeS"
        },
        {
          "number": 602,
          "created_at": "2026-07-23T09:12:46Z",
          "last_comment_at": "2026-07-31T01:49:55Z",
          "last_comment_author": "andylzming"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/iflytek/skillhub",
    "host": "github.com",
    "name": "skillhub",
    "owner": "iflytek"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "exceptional",
      "name": "Overall health",
      "note": "The weighted overall 79 is calibrated to 93 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 79,
            "calibrated": 93,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 93,
      "inputs": {
        "security": 59,
        "vitality": 83,
        "community": 84,
        "governance": 76,
        "calibration": "2026-08-02",
        "engineering": 89,
        "ai_readiness": 81,
        "weighted_overall_raw": 79
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 83,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "commits_last_year": 1091,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 20
            },
            "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": "20/52 weeks with commits",
                "points": 13.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 20
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "1091 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 1091
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 27 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": 19,
              "latest_release_tag": "v0.2.15",
              "releases_from_tags": false,
              "days_since_latest_release": 1,
              "mean_days_between_releases": 6.9
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "19 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 19
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~6.9 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 6.9
                    }
                  }
                ],
                "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": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 84,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "exceptional",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 93,
            "inputs": {
              "forks": 702,
              "stars": 4826,
              "watchers": 55,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "4,826 stars",
                "points": 59.8,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 4826
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "702 forks",
                "points": 23.7,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 702
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "55 watchers",
                "points": 9.6,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 55
                    }
                  }
                ],
                "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": null,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "readme_badge_services": [],
              "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 (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.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
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 58,
            "inputs": {
              "packages": [
                "@astron-team/skillhub"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 3072
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "3,072 downloads/month across npm",
                "points": 46.5,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 3072,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 76,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 28,
              "top_contributor_share": 0.33
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 33% of commits",
                "points": 15.1,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 33
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "28 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 28
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 4 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "newcomer_pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 73,
            "inputs": {
              "merged_prs": 303,
              "open_issues": 48,
              "closed_issues": 155,
              "prs_merged_7d": null,
              "prs_decided_7d": null,
              "prs_merged_30d": null,
              "prs_decided_30d": null,
              "issue_closed_ratio": 0.764,
              "closed_unmerged_prs": 109,
              "first_time_authors_30d": null,
              "first_time_prs_merged_30d": null,
              "first_time_prs_decided_30d": null
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "76% of issues closed",
                "points": 32.1,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 76
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "303/412 decided PRs merged",
                "points": 22.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 303,
                      "decided": 412
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "no first-time contributor's PR decided in 30d",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_newcomer_prs",
                    "params": {
                      "days": 30
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 8/12 approved changesets -- score normalized to 6",
                "points": 9,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "followers": 562,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "iflytek",
              "public_repos": 65,
              "account_age_days": 3410
            },
            "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": "562 followers of iflytek",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 562,
                      "login": "iflytek"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "65 public repos, account ~9 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 65
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 9
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "exceptional",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@astron-team/skillhub"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 9
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 9 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 9
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "8 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 8
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 89,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "17 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 17
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc.cjs",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.cjs"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "11 out of 12 merged PRs checked by a CI test -- score normalized to 9",
                "points": 18,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "exceptional",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "openclaw",
                "openclaw-skills",
                "skill",
                "iflytek-astron",
                "skill-hub",
                "skill-manager",
                "skills",
                "agent-framework",
                "ai-orchestration",
                "audit-log",
                "enterprise-ai",
                "rbac",
                "skill-management",
                "skill-registry",
                "ai-agent",
                "ai-infrastructure",
                "version-control",
                "ai-governance"
              ],
              "has_wiki": true,
              "homepage": "https://skill.xfyun.cn",
              "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://skill.xfyun.cn",
                "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": "18 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 18
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 59,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "weak",
            "name": "Security posture",
            "note": null,
            "notes": [],
            "value": 49,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 18,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 0,
              "scorecard_aggregate": 4.9
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "11 out of 12 merged PRs checked by a CI test -- score normalized to 9",
                "points": 2.2,
                "status": "partial",
                "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/12 approved changesets -- score normalized to 6",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 4 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": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 27 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 2",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool detected but not run on all commits",
                "points": 3.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 4.5,
                "status": "partial",
                "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": "56 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 npm:@astron-team/skillhub@0.1.9 runtime dependency closure — what installing the published package pulls in — 7 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": "npm:@astron-team/skillhub@0.1.9",
                  "assessed": 7
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 7,
              "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": 7,
              "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": 6
            },
            "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": 81,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.98,
              "agent_instruction_files": [
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 29196
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "98 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 98,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json",
                "pnpm-lock.yaml"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "cli/tsconfig.json",
                "document/tsconfig.json",
                "web/tsconfig.json"
              ],
              "agent_commit_share": 0.02,
              "toolchain_manifests": [
                "server/pom.xml",
                "server/skillhub-app/pom.xml",
                "server/skillhub-auth/pom.xml",
                "server/skillhub-domain/pom.xml",
                "server/skillhub-infra/pom.xml",
                "server/skillhub-notification/pom.xml",
                "server/skillhub-search/pom.xml",
                "server/skillhub-storage/pom.xml"
              ],
              "dependency_bot_commit_share": 0
            },
            "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": ".eslintrc.cjs",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.cjs"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "cli/tsconfig.json, document/tsconfig.json, web/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "cli/tsconfig.json, document/tsconfig.json, web/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "2 of the last 100 commits agent-authored or agent-credited",
                "points": 4,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 2,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 2",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "exceptional",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "Java",
              "largest_source_bytes": 87461,
              "source_files_sampled": 1364,
              "oversized_source_files": 3
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Java (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Java"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "3/1364 source files over 60KB",
                "points": 54.9,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 1364,
                      "oversized": 3
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "moderate",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": true,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
      }
    ],
    "classification": {
      "labels": [
        "cli",
        "library",
        "web-ui"
      ],
      "scores": {
        "cli": 6,
        "web-ui": 4,
        "library": 6,
        "framework": 2,
        "mcp-server": 3,
        "network-service": 2
      },
      "primary": "cli",
      "evidence": [
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:npm",
          "weight": 6
        },
        {
          "tier": "dependencies",
          "label": "cli",
          "source": "dep:cac",
          "weight": 4
        },
        {
          "tier": "dependencies",
          "label": "web-ui",
          "source": "dep:react-dom",
          "weight": 4
        },
        {
          "tier": "structure",
          "label": "mcp-server",
          "source": "mcp_signal",
          "weight": 3
        },
        {
          "tier": "tags",
          "label": "cli",
          "source": "tag:cli",
          "weight": 2
        },
        {
          "tier": "tags",
          "label": "framework",
          "source": "tag:agent-framework",
          "weight": 2
        },
        {
          "tier": "description",
          "label": "network-service",
          "source": "description:network-service",
          "weight": 2
        }
      ],
      "artifacts": [],
      "confidence": "medium",
      "host_extension": false,
      "runs_as_process": true,
      "consumed_by_code": true
    },
    "metrics_version": "2.3.1"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-31T10:43:23.715625Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/i/iflytek/skillhub.svg",
  "full_name": "iflytek/skillhub",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

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

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

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