Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.13.0 · 2026-07-25 22:39 UTC

Whth / fabricatio

Fabricatio is a Python library designed for building applications that leverage Large Language Models (LLMs) using an event-based agent structure. It utilizes Handlebars for templating and provides a robust framework for managing tasks, workflows, and toolboxes, enabling developers to create intelligent and efficient applications.

Python · RustMIT★ 8 estrellas⑂ 2 forksdesde feb 2025Ver en GitHub ↗

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

65
global / 100
Moderado

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala de 1 a 100. El resultado global parte de su media; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe el límite 49 (En riesgo). Preparación para IA queda fuera.

65
Excelente85-100Ejemplar; cumple prácticamente todos los criterios evaluados
Bueno70-84Saludable; carencias menores
Moderado50-69Aceptable con carencias notables; se recomienda revisión
En riesgo30-49Debilidades significativas; su adopción exige cautela
Crítico1-29Problemas 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.

Titularidad

WhthCuenta personal
3 seguidores33 repositorios públicosdesde ago 2021

Este repositorio pertenece a una cuenta personal. Un proyecto con un único propietario conlleva más riesgo de continuidad que uno respaldado por una organización.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
PyPIfabricatio0.32.3-260hace 31 díasaiagentsmulti-agentllmpyo3

Métricas por categoría

Vitalidad

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

92Excelente · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
30.5/36Cadencia de commits — 44/52 semanas con commits
18/18Volumen de commits — 1265 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year1265
human_commit_share1
days_since_last_push0
active_weeks_last_year44
Cómo se puntúa
27/27Publica versiones — 100 versiones publicadas
36/36Recencia de las versiones — última versión hace 0 días
27/27Cadencia de publicación — una versión cada ~4,1 días
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Datos de entrada utilizados
releases_count100
latest_release_tagv0.33.0-dev5
releases_from_tagsno
days_since_latest_release0
mean_days_between_releases4,1

Comunidad y Adopción

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

51Moderado · 18% del índice global
Cómo se puntúa
13.7/60Estrellas — 8 estrellas
0/25Forks — 2 forks
1.7/15Observadores — 3 observadores
Datos de entrada utilizados
forks2
stars8
watchers3
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (MIT)
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
has_contributing
has_issue_templateno
has_code_of_conduct
has_pull_request_template

Sostenibilidad y Gobernanza

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

53Moderado · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
0/22.5Distribución de commits — el principal contribuyente firma el 100% de los commits
2.7/13.5Amplitud de contribuyentes — 2 contribuyentes
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Datos de entrada utilizados
bus_factor1
contributors_sampled2
top_contributor_share0,999
Cómo se puntúa
0/46.8Resolución de issues — sin issues o sin datos
38.2/38.3Aceptación de PR — 15/15 PR decididos fusionados
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs15
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Excluidos de la puntuación (sin datos o no aplicable): Resolución de issues. Los pesos restantes se han renormalizado.
Cómo se puntúa
10/30Respaldo de la propiedad — cuenta personal (usuario)
0/20Dominio verificado — no aplicable a cuentas de usuario
4.3/25Alcance del propietario — 3 seguidores de Whth
21.1/25Trayectoria — 33 repos públicos, cuenta de ~4 años
Datos de entrada utilizados
followers3
owner_typeUser
is_verified
owner_loginWhth
public_repos33
account_age_days1815
Excluidos de la puntuación (sin datos o no aplicable): Dominio verificado. Los pesos restantes se han renormalizado.
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en pypi
35/35Recencia de publicación — última publicación hace 31 días
20/20Historial de versiones — 260 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagesfabricatio
ecosystemspypi
any_deprecatedno
min_days_since_publish31

Calidad de Ingeniería

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

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

Documentación

90Excelente
Cómo se puntúa
30/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://pypi.org/project/fabricatio/
10/10Descripción del repositorio
10/10Topics — 7 topics
0/10Wiki
Datos de entrada utilizados
topicsagentic-ai, llm, workflow, ai, framework, harness-framework, multi-agent
has_wikino
homepagehttps://pypi.org/project/fabricatio/
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?

49En riesgo · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — sin datos
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — sin datos
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 12 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate3,6
Excluidos de la puntuación (sin datos o no aplicable): ci_tests, packaging. Los pesos restantes se han renormalizado.
Cómo se puntúa
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_packages14
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Excluidos de la puntuación (sin datos o no aplicable): Sin avisos pendientes. Los pesos restantes se han renormalizado. Se cotejó el cierre de dependencias en tiempo de ejecución de pypi:fabricatio@0.32.3 —lo que arrastra la instalación del paquete publicado—: 14 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? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.

55Moderado · 0% del índice global
Cómo se puntúa
0/45Instrucciones para agentes — sin CLAUDE.md / AGENTS.md / reglas de editor
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 100 de 100 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
18/18Arranque con un solo comando — Justfile, docs/Makefile
22/22Pruebas automatizadas
0/11Configuración de lint / formato
11/11Verificación estática de tipos — packages/fabricatio-actions/python/fabricatio_actions/py.typed, packages/fabricatio-agent/python/fabricatio_agent/py.typed, packages/fabricatio-anki/python/fabricatio_anki/py.typed, packages/fabricatio-capabilities/python/fabricatio_capabilities/py.typed, packages/fabricatio-capable/python/fabricatio_capable/py.typed, packages/fabricatio-character/python/fabricatio_character/py.typed, packages/fabricatio-checkpoint/python/fabricatio_checkpoint/py.typed, packages/fabricatio-comfyui/python/fabricatio_comfyui/py.typed, packages/fabricatio-core/python/fabricatio_core/py.typed, packages/fabricatio-diff/python/fabricatio_diff/py.typed, packages/fabricatio-digest/python/fabricatio_digest/py.typed, packages/fabricatio-improve/python/fabricatio_improve/py.typed, packages/fabricatio-judge/python/fabricatio_judge/py.typed, packages/fabricatio-lancedb/python/fabricatio_lancedb/py.typed, packages/fabricatio-locale/python/fabricatio_locale/py.typed, packages/fabricatio-memory/python/fabricatio_memory/py.typed, packages/fabricatio-milvus/python/fabricatio_milvus/py.typed, packages/fabricatio-mock/python/fabricatio_mock/py.typed, packages/fabricatio-novel/python/fabricatio_novel/py.typed, packages/fabricatio-plot/python/fabricatio_plot/py.typed, packages/fabricatio-question/python/fabricatio_question/py.typed, packages/fabricatio-rag/python/fabricatio_rag/py.typed, packages/fabricatio-rule/python/fabricatio_rule/py.typed, packages/fabricatio-sandbox/python/fabricatio_sandbox/py.typed, packages/fabricatio-skill/python/fabricatio_skill/py.typed, packages/fabricatio-tagging/python/fabricatio_tagging/py.typed, packages/fabricatio-team/python/fabricatio_team/py.typed, packages/fabricatio-tei/python/fabricatio_tei/py.typed, packages/fabricatio-thinking/python/fabricatio_thinking/py.typed, packages/fabricatio-tool/python/fabricatio_tool/py.typed, packages/fabricatio-translate/python/fabricatio_translate/py.typed, packages/fabricatio-typst/python/fabricatio_typst/py.typed, packages/fabricatio-webui/frontend/tsconfig.json, packages/fabricatio-webui/python/fabricatio_webui/py.typed, packages/fabricatio-workspace/python/fabricatio_workspace/py.typed, packages/fabricatio-yue/python/fabricatio_yue/py.typed, python/fabricatio/py.typed
10/10Entorno reproducible — Dockerfile, lockfile
0/10Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100
0/8Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Datos de entrada utilizados
has_nixno
has_tests
lockfilespnpm-lock.yaml
has_dockerfile
typed_languageno
bootstrap_filesJustfile, docs/Makefile
has_devcontainerno
has_linter_configno
typecheck_configspackages/fabricatio-actions/python/fabricatio_actions/py.typed, packages/fabricatio-agent/python/fabricatio_agent/py.typed, packages/fabricatio-anki/python/fabricatio_anki/py.typed, packages/fabricatio-capabilities/python/fabricatio_capabilities/py.typed, packages/fabricatio-capable/python/fabricatio_capable/py.typed, packages/fabricatio-character/python/fabricatio_character/py.typed, packages/fabricatio-checkpoint/python/fabricatio_checkpoint/py.typed, packages/fabricatio-comfyui/python/fabricatio_comfyui/py.typed, packages/fabricatio-core/python/fabricatio_core/py.typed, packages/fabricatio-diff/python/fabricatio_diff/py.typed, packages/fabricatio-digest/python/fabricatio_digest/py.typed, packages/fabricatio-improve/python/fabricatio_improve/py.typed, packages/fabricatio-judge/python/fabricatio_judge/py.typed, packages/fabricatio-lancedb/python/fabricatio_lancedb/py.typed, packages/fabricatio-locale/python/fabricatio_locale/py.typed, packages/fabricatio-memory/python/fabricatio_memory/py.typed, packages/fabricatio-milvus/python/fabricatio_milvus/py.typed, packages/fabricatio-mock/python/fabricatio_mock/py.typed, packages/fabricatio-novel/python/fabricatio_novel/py.typed, packages/fabricatio-plot/python/fabricatio_plot/py.typed, packages/fabricatio-question/python/fabricatio_question/py.typed, packages/fabricatio-rag/python/fabricatio_rag/py.typed, packages/fabricatio-rule/python/fabricatio_rule/py.typed, packages/fabricatio-sandbox/python/fabricatio_sandbox/py.typed, packages/fabricatio-skill/python/fabricatio_skill/py.typed, packages/fabricatio-tagging/python/fabricatio_tagging/py.typed, packages/fabricatio-team/python/fabricatio_team/py.typed, packages/fabricatio-tei/python/fabricatio_tei/py.typed, packages/fabricatio-thinking/python/fabricatio_thinking/py.typed, packages/fabricatio-tool/python/fabricatio_tool/py.typed, packages/fabricatio-translate/python/fabricatio_translate/py.typed, packages/fabricatio-typst/python/fabricatio_typst/py.typed, packages/fabricatio-webui/frontend/tsconfig.json, packages/fabricatio-webui/python/fabricatio_webui/py.typed, packages/fabricatio-workspace/python/fabricatio_workspace/py.typed, packages/fabricatio-yue/python/fabricatio_yue/py.typed, python/fabricatio/py.typed
agent_commit_share0
toolchain_manifestsCargo.toml, crates/deck_loader/Cargo.toml, crates/error-mapping/Cargo.toml, crates/fabricatio-config/Cargo.toml, crates/fabricatio-constants/Cargo.toml, crates/fabricatio-logger/Cargo.toml, crates/fabricatio-router/Cargo.toml, crates/fabricatio-stubgen/Cargo.toml, crates/macro-utils/Cargo.toml, crates/mcp-manager/Cargo.toml, crates/scanner/Cargo.toml, crates/signify/Cargo.toml, crates/tex-convertor/Cargo.toml, crates/thryd/Cargo.toml, crates/utils/Cargo.toml, packages/fabricatio-agent/Cargo.toml, packages/fabricatio-anki/Cargo.toml, packages/fabricatio-checkpoint/Cargo.toml, packages/fabricatio-core/Cargo.toml, packages/fabricatio-diff/Cargo.toml, packages/fabricatio-lancedb/Cargo.toml, packages/fabricatio-locale/Cargo.toml, packages/fabricatio-memory/Cargo.toml, packages/fabricatio-novel/Cargo.toml, packages/fabricatio-sandbox/Cargo.toml, packages/fabricatio-skill/Cargo.toml, packages/fabricatio-tei/Cargo.toml, packages/fabricatio-thinking/Cargo.toml, packages/fabricatio-tool/Cargo.toml, packages/fabricatio-typst/Cargo.toml, packages/fabricatio-webui/Cargo.toml, packages/fabricatio-workspace/Cargo.toml
dependency_bot_commit_share0
Cómo se puntúa
27/45Código verificable por tipos — Python con configuración de verificación de tipos (packages/fabricatio-actions/python/fabricatio_actions/py.typed, packages/fabricatio-agent/python/fabricatio_agent/py.typed, packages/fabricatio-anki/python/fabricatio_anki/py.typed, packages/fabricatio-capabilities/python/fabricatio_capabilities/py.typed, packages/fabricatio-capable/python/fabricatio_capable/py.typed, packages/fabricatio-character/python/fabricatio_character/py.typed, packages/fabricatio-checkpoint/python/fabricatio_checkpoint/py.typed, packages/fabricatio-comfyui/python/fabricatio_comfyui/py.typed, packages/fabricatio-core/python/fabricatio_core/py.typed, packages/fabricatio-diff/python/fabricatio_diff/py.typed, packages/fabricatio-digest/python/fabricatio_digest/py.typed, packages/fabricatio-improve/python/fabricatio_improve/py.typed, packages/fabricatio-judge/python/fabricatio_judge/py.typed, packages/fabricatio-lancedb/python/fabricatio_lancedb/py.typed, packages/fabricatio-locale/python/fabricatio_locale/py.typed, packages/fabricatio-memory/python/fabricatio_memory/py.typed, packages/fabricatio-milvus/python/fabricatio_milvus/py.typed, packages/fabricatio-mock/python/fabricatio_mock/py.typed, packages/fabricatio-novel/python/fabricatio_novel/py.typed, packages/fabricatio-plot/python/fabricatio_plot/py.typed, packages/fabricatio-question/python/fabricatio_question/py.typed, packages/fabricatio-rag/python/fabricatio_rag/py.typed, packages/fabricatio-rule/python/fabricatio_rule/py.typed, packages/fabricatio-sandbox/python/fabricatio_sandbox/py.typed, packages/fabricatio-skill/python/fabricatio_skill/py.typed, packages/fabricatio-tagging/python/fabricatio_tagging/py.typed, packages/fabricatio-team/python/fabricatio_team/py.typed, packages/fabricatio-tei/python/fabricatio_tei/py.typed, packages/fabricatio-thinking/python/fabricatio_thinking/py.typed, packages/fabricatio-tool/python/fabricatio_tool/py.typed, packages/fabricatio-translate/python/fabricatio_translate/py.typed, packages/fabricatio-typst/python/fabricatio_typst/py.typed, packages/fabricatio-webui/frontend/tsconfig.json, packages/fabricatio-webui/python/fabricatio_webui/py.typed, packages/fabricatio-workspace/python/fabricatio_workspace/py.typed, packages/fabricatio-yue/python/fabricatio_yue/py.typed, python/fabricatio/py.typed)
54.9/55Tamaños de archivo manejables — 1/645 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languagePython
largest_source_bytes68.031
source_files_sampled645
oversized_source_files1
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
0/20Servidor MCP
40/40Ejemplos ejecutables — examples
Datos de entrada utilizados
example_dirsexamples
has_mcp_signalno
api_schema_files

Datos clave

8estrellas de GitHub
2contribuidores
1265commits en los últimos 12 meses
0días desde el último push
100versiones publicadas
1factor bus
0issues abiertas
crates.io, PyPIecosistemas de paquetes

Advertencias de recopilación de datos

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • Could not fetch crates package 'fabricatio' from its registry

Más detalle

Historial de estrellas y forks 0 ★ / 2 ⇿
0Estrellas
2Forks
45Versiones

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.

111222212025-042025-092026-03
Mayor 0Menor 5Parche 21
OpenSSF Scorecard 3.6 / 10
3.6agregado

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

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
n/dCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
n/dPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities12 existing vulnerabilities detected
Dependencias directas 18
RegistroPaqueteRestricción de versiónManifiesto
crates.iopyo30.29.0Cargo.toml
crates.ioreqwest0.13.4Cargo.toml
crates.iotar0.4.46Cargo.toml
crates.ioflate21.1.9Cargo.toml
crates.ioclap4.6.1Cargo.toml
crates.iocolored3.1.1Cargo.toml
crates.iochrono0.4.45Cargo.toml
crates.ioindicatif0.18.6Cargo.toml
crates.ioglob0.3.3Cargo.toml
crates.iooctocrab0.53.1Cargo.toml
crates.ioonce_cell1.21.4Cargo.toml
crates.iothiserror2.0.18Cargo.toml
crates.iotokio1.52.3Cargo.toml
crates.iohuman-units0.5.3Cargo.toml
crates.iowalkdir2.5.0Cargo.toml
crates.iofabricatio-constantsCargo.toml
crates.iorustls0.23Cargo.toml
PyPIfabricatio-corepyproject.toml
Todas las dependencias 594

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

RegistroPaqueteVersiónRelación
crates.iochronodirecta
crates.ioclapdirecta
crates.iocoloreddirecta
crates.ioflate2directa
crates.ioglobdirecta
crates.iohuman-unitsdirecta
crates.ioindicatifdirecta
crates.iooctocrabdirecta
crates.ioonce_celldirecta
crates.iopyo3directa
crates.ioreqwestdirecta
crates.iorustlsdirecta
crates.iotardirecta
crates.iothiserrordirecta
crates.iotokiodirecta
crates.iowalkdirdirecta
crates.ioarrow-arrayindirecta
crates.ioarrow-schemaindirecta
crates.ioasync-openaiindirecta
crates.ioasync-traitindirecta
crates.ioaxumindirecta
crates.iobase64indirecta
crates.iobiblatexindirecta
crates.ioblake3indirecta
crates.iocachedindirecta
crates.iocfg-ifindirecta
crates.iocriterionindirecta
crates.iocsvindirecta
crates.iodashmapindirecta
crates.iodirectories-nextindirecta
crates.iodotenvyindirecta
crates.ioepub-builderindirecta
crates.ioeventsource-streamindirecta
crates.iofigmentindirecta
crates.iofuturesindirecta
crates.iofutures-utilindirecta
crates.iogenanki-rs-revindirecta
crates.iogit2indirecta
crates.iohandlebarsindirecta
crates.ioheckindirecta
crates.ioheedindirecta
crates.iohttpindirecta
crates.ioignoreindirecta
crates.ioindocindirecta
crates.ioinferindirecta
crates.iolancedbindirecta
crates.iollm_jsonindirecta
crates.iomime_guessindirecta
crates.iomokaindirecta
crates.ionucleo-matcherindirecta
crates.iopep508_rsindirecta
crates.iopolibindirecta
crates.iopostcardindirecta
crates.iopyo3-async-runtimesindirecta
crates.iopyo3-build-configindirecta
crates.iopyo3-stub-genindirecta
crates.iopythonizeindirecta
crates.ioquoteindirecta
crates.iorayonindirecta
crates.ioregexindirecta
crates.iorho-hashlineindirecta
crates.iormcpindirecta
crates.iorustpython-astindirecta
crates.iorustpython-parserindirecta
crates.iosanitize-filenameindirecta
crates.iosecrecyindirecta
crates.ioserdeindirecta
crates.ioserde_jsonindirecta
crates.ioserde_yaml2indirecta
crates.iosimilarindirecta
crates.iostrsimindirecta
crates.iostrumindirecta
crates.iostrum_macrosindirecta
crates.iosynindirecta
crates.iotantivyindirecta
crates.iotempfileindirecta
crates.iotex2typst-rsindirecta
crates.iotiktoken-rsindirecta
crates.iotonicindirecta
crates.iotower-httpindirecta
crates.iotracingindirecta
crates.iotracing-appenderindirecta
crates.iotracing-subscriberindirecta
crates.iounicode-segmentationindirecta
crates.iourlindirecta
crates.iouuidindirecta
crates.iovalidatorindirecta
crates.iovfsindirecta
crates.iowhichindirecta
crates.iowhichlangindirecta
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.7indirecta
npm@babel/compat-data7.29.7indirecta
npm@babel/core7.28.5indirecta
npm@babel/generator7.29.7indirecta
npm@babel/generator8.0.0-rc.6indirecta
npm@babel/helper-annotate-as-pure7.29.7indirecta
npm@babel/helper-compilation-targets7.29.7indirecta
npm@babel/helper-create-class-features-plugin7.29.7indirecta
npm@babel/helper-globals7.29.7indirecta
npm@babel/helper-member-expression-to-functions7.29.7indirecta
npm@babel/helper-module-imports7.29.7indirecta
npm@babel/helper-module-transforms7.29.7indirecta
npm@babel/helper-optimise-call-expression7.29.7indirecta
npm@babel/helper-plugin-utils7.29.7indirecta
npm@babel/helper-replace-supers7.29.7indirecta
npm@babel/helper-skip-transparent-expression-wrappers7.29.7indirecta
npm@babel/helper-string-parser7.29.7indirecta
npm@babel/helper-string-parser8.0.0-rc.6indirecta
npm@babel/helper-validator-identifier7.29.7indirecta
npm@babel/helper-validator-identifier8.0.0-rc.6indirecta
npm@babel/helper-validator-option7.29.7indirecta
npm@babel/helpers7.29.7indirecta
npm@babel/parser7.29.7indirecta
npm@babel/parser8.0.0-rc.6indirecta
npm@babel/plugin-proposal-decorators7.29.7indirecta
npm@babel/plugin-syntax-decorators7.29.7indirecta
npm@babel/plugin-syntax-import-attributes7.29.7indirecta
npm@babel/plugin-syntax-import-meta7.10.4indirecta
npm@babel/plugin-syntax-jsx7.29.7indirecta
npm@babel/plugin-syntax-typescript7.29.7indirecta
npm@babel/plugin-transform-typescript7.29.7indirecta
npm@babel/template7.29.7indirecta
npm@babel/traverse7.29.7indirecta
npm@babel/types7.29.7indirecta
npm@babel/types8.0.0-rc.6indirecta
npm@bramus/specificity2.4.2indirecta
npm@csstools/color-helpers6.0.2indirecta
npm@csstools/css-calc3.2.1indirecta
npm@csstools/css-color-parser4.1.3indirecta
npm@csstools/css-parser-algorithms4.0.0indirecta
npm@csstools/css-syntax-patches-for-csstree1.1.5indirecta
npm@csstools/css-tokenizer4.0.0indirecta
npm@emnapi/core1.10.0indirecta
npm@emnapi/runtime1.10.0indirecta
npm@emnapi/wasi-threads1.2.1indirecta
npm@eslint-community/eslint-utils4.9.1indirecta
npm@eslint-community/regexpp4.12.2indirecta
npm@eslint/config-array0.23.5indirecta
npm@eslint/config-helpers0.6.0indirecta
npm@eslint/core1.2.1indirecta
npm@eslint/object-schema3.0.5indirecta
npm@eslint/plugin-kit0.7.2indirecta
npm@exodus/bytes1.15.1indirecta
npm@humanfs/core0.19.2indirecta
npm@humanfs/node0.16.8indirecta
npm@humanfs/types0.15.0indirecta
npm@humanwhocodes/module-importer1.0.1indirecta
npm@humanwhocodes/retry0.4.3indirecta
npm@isaacs/cliui8.0.2indirecta
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@lucide/vue1.21.0indirecta
npm@napi-rs/wasm-runtime1.1.5indirecta
npm@nodelib/fs.scandir2.1.5indirecta
npm@nodelib/fs.stat2.0.5indirecta
npm@nodelib/fs.walk1.2.8indirecta
npm@one-ini/wasm0.1.1indirecta
npm@oxc-project/types0.133.0indirecta
npm@pkgjs/parseargs0.11.0indirecta
npm@pkgr/core0.3.6indirecta
npm@polka/url1.0.0-next.29indirecta
npm@rolldown/binding-android-arm641.0.3indirecta
npm@rolldown/binding-darwin-arm641.0.3indirecta
npm@rolldown/binding-darwin-x641.0.3indirecta
npm@rolldown/binding-freebsd-x641.0.3indirecta
npm@rolldown/binding-linux-arm-gnueabihf1.0.3indirecta
npm@rolldown/binding-linux-arm64-gnu1.0.3indirecta
npm@rolldown/binding-linux-arm64-musl1.0.3indirecta
npm@rolldown/binding-linux-ppc64-gnu1.0.3indirecta
npm@rolldown/binding-linux-s390x-gnu1.0.3indirecta
npm@rolldown/binding-linux-x64-gnu1.0.3indirecta
npm@rolldown/binding-linux-x64-musl1.0.3indirecta
npm@rolldown/binding-openharmony-arm641.0.3indirecta
npm@rolldown/binding-wasm32-wasi1.0.3indirecta
npm@rolldown/binding-win32-arm64-msvc1.0.3indirecta
npm@rolldown/binding-win32-x64-msvc1.0.3indirecta
npm@rolldown/pluginutils1.0.1indirecta
npm@standard-schema/spec1.1.0indirecta
npm@tsconfig/node2424.0.4indirecta
npm@tybys/wasm-util0.10.2indirecta
npm@types/chai5.2.3indirecta
npm@types/deep-eql4.0.2indirecta
npm@types/esrecurse4.3.1indirecta
npm@types/estree1.0.9indirecta
npm@types/jsdom28.0.3indirecta
npm@types/jsesc2.5.1indirecta
npm@types/json-schema7.0.15indirecta
npm@types/node24.10.4indirecta
npm@types/node25.9.3indirecta
npm@types/tough-cookie4.0.5indirecta
npm@types/web-bluetooth0.0.18indirecta
npm@typescript-eslint/eslint-plugin8.61.0indirecta
npm@typescript-eslint/parser8.61.0indirecta
npm@typescript-eslint/project-service8.61.0indirecta
npm@typescript-eslint/scope-manager8.61.0indirecta
npm@typescript-eslint/tsconfig-utils8.61.0indirecta
npm@typescript-eslint/type-utils8.61.0indirecta
npm@typescript-eslint/types8.61.0indirecta
npm@typescript-eslint/typescript-estree8.61.0indirecta
npm@typescript-eslint/utils8.61.0indirecta
npm@typescript-eslint/visitor-keys8.61.0indirecta
npm@vitejs/plugin-vue6.0.7indirecta
npm@vitest/eslint-plugin1.6.20indirecta
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@volar/language-core2.4.28indirecta
npm@volar/source-map2.4.28indirecta
npm@volar/typescript2.4.28indirecta
npm@vue-flow/background1.3.2indirecta
npm@vue-flow/controls1.1.3indirecta
npm@vue-flow/core1.48.2indirecta
npm@vue-flow/minimap1.5.4indirecta
npm@vue-macros/common3.1.2indirecta
npm@vue/babel-helper-vue-transform-on1.5.0indirecta
npm@vue/babel-plugin-jsx1.5.0indirecta
npm@vue/babel-plugin-resolve-type1.5.0indirecta
npm@vue/compiler-core3.5.26indirecta
npm@vue/compiler-core3.5.38indirecta
npm@vue/compiler-dom3.5.26indirecta
npm@vue/compiler-dom3.5.38indirecta
npm@vue/compiler-sfc3.5.26indirecta
npm@vue/compiler-sfc3.5.38indirecta
npm@vue/compiler-ssr3.5.26indirecta
npm@vue/compiler-ssr3.5.38indirecta
npm@vue/devtools-api7.7.9indirecta
npm@vue/devtools-api8.1.2indirecta
npm@vue/devtools-core8.1.2indirecta
npm@vue/devtools-kit7.7.9indirecta
npm@vue/devtools-kit8.1.2indirecta
npm@vue/devtools-shared7.7.9indirecta
npm@vue/devtools-shared8.1.2indirecta
npm@vue/eslint-config-prettier10.2.0indirecta
npm@vue/eslint-config-typescript14.8.0indirecta
npm@vue/language-core3.3.5indirecta
npm@vue/reactivity3.5.38indirecta
npm@vue/runtime-core3.5.38indirecta
npm@vue/runtime-dom3.5.38indirecta
npm@vue/server-renderer3.5.38indirecta
npm@vue/shared3.5.26indirecta
npm@vue/shared3.5.38indirecta
npm@vue/test-utils2.4.11indirecta
npm@vue/tsconfig0.9.1indirecta
npm@vueuse/core10.5.0indirecta
npm@vueuse/metadata10.5.0indirecta
npm@vueuse/shared10.5.0indirecta
npmabbrev2.0.0indirecta
npmacorn8.17.0indirecta
npmacorn-jsx5.3.2indirecta
npmajv6.15.0indirecta
npmalien-signals3.2.1indirecta
npmansi-regex5.0.1indirecta
npmansi-regex6.2.2indirecta
npmansi-styles4.3.0indirecta
npmansi-styles6.2.3indirecta
npmansis4.3.1indirecta
npmassertion-error2.0.1indirecta
npmast-kit2.1.2indirecta
npmast-kit2.2.0indirecta
npmast-walker-scope0.9.0indirecta
npmbalanced-match1.0.2indirecta
npmbalanced-match4.0.4indirecta
npmbaseline-browser-mapping2.10.36indirecta
npmbidi-js1.0.3indirecta
npmbirpc2.9.0indirecta
npmbirpc4.0.0indirecta
npmboolbase1.0.0indirecta
npmbrace-expansion2.1.1indirecta
npmbrace-expansion5.0.6indirecta
npmbraces3.0.3indirecta
npmbrowserslist4.28.2indirecta
npmbundle-name4.1.0indirecta
npmcaniuse-lite1.0.30001799indirecta
npmchai6.2.2indirecta
npmchokidar5.0.0indirecta
npmcolor-convert2.0.1indirecta
npmcolor-name1.1.4indirecta
npmcommander10.0.1indirecta
npmconfbox0.1.8indirecta
npmconfbox0.2.4indirecta
npmconfig-chain1.1.13indirecta
npmconvert-source-map2.0.0indirecta
npmcopy-anything4.0.5indirecta
npmcross-spawn7.0.6indirecta
npmcss-tree3.2.1indirecta
npmcssesc3.0.0indirecta
npmcsstype3.2.3indirecta
npmd3-color3.1.0indirecta
npmd3-dispatch3.0.1indirecta
npmd3-drag3.0.0indirecta
npmd3-ease3.0.1indirecta
npmd3-interpolate3.0.1indirecta
npmd3-selection3.0.0indirecta
npmd3-timer3.0.1indirecta
npmd3-transition3.0.1indirecta
npmd3-zoom3.0.0indirecta
npmdata-urls7.0.0indirecta
npmdebug4.4.3indirecta
npmdecimal.js10.6.0indirecta
npmdeep-is0.1.4indirecta
npmdefault-browser5.5.0indirecta
npmdefault-browser-id5.0.1indirecta
npmdefine-lazy-prop3.0.0indirecta
npmdetect-libc2.1.2indirecta
npmeastasianwidth0.2.0indirecta
npmeditorconfig1.0.7indirecta
npmelectron-to-chromium1.5.372indirecta
npmemoji-regex8.0.0indirecta
npmemoji-regex9.2.2indirecta
npmentities6.0.1indirecta
npmentities7.0.1indirecta
npmentities8.0.0indirecta
npmerror-stack-parser-es1.0.5indirecta
npmes-module-lexer2.1.0indirecta
npmescalade3.2.0indirecta
npmescape-string-regexp4.0.0indirecta
npmeslint10.5.0indirecta
npmeslint-config-prettier10.1.8indirecta
npmeslint-plugin-prettier5.5.6indirecta
npmeslint-plugin-vue10.9.2indirecta
npmeslint-scope9.1.2indirecta
npmeslint-visitor-keys3.4.3indirecta
npmeslint-visitor-keys5.0.1indirecta
npmespree11.2.0indirecta
npmesquery1.7.0indirecta
npmesrecurse4.3.0indirecta
npmestraverse5.3.0indirecta
npmestree-walker2.0.2indirecta
npmestree-walker3.0.3indirecta
npmesutils2.0.3indirecta
npmexpect-type1.3.0indirecta
npmexsolve1.0.8indirecta
npmfast-deep-equal3.1.3indirecta
npmfast-diff1.3.0indirecta
npmfast-glob3.3.3indirecta
npmfast-json-stable-stringify2.1.0indirecta
npmfast-levenshtein2.0.6indirecta
npmfastq1.20.1indirecta
npmfdir6.5.0indirecta
npmfile-entry-cache8.0.0indirecta
npmfill-range7.1.1indirecta
npmfind-up5.0.0indirecta
npmflat-cache4.0.1indirecta
npmflatted3.4.2indirecta
npmforeground-child3.3.1indirecta
npmfsevents2.3.3indirecta
npmgensync1.0.0-beta.2indirecta
npmglob10.5.0indirecta
npmglob-parent5.1.2indirecta
npmglob-parent6.0.2indirecta
npmhookable5.5.3indirecta
npmhtml-encoding-sniffer6.0.0indirecta
npmignore5.3.2indirecta
npmignore7.0.5indirecta
npmimurmurhash0.1.4indirecta
npmini1.3.8indirecta
npmis-docker3.0.0indirecta
npmis-extglob2.1.1indirecta
npmis-fullwidth-code-point3.0.0indirecta
npmis-glob4.0.3indirecta
npmis-in-ssh1.0.0indirecta
npmis-inside-container1.0.0indirecta
npmis-number7.0.0indirecta
npmis-potential-custom-element-name1.0.1indirecta
npmis-what5.5.0indirecta
npmis-wsl3.1.1indirecta
npmisexe2.0.0indirecta
npmisexe4.0.0indirecta
npmjackspeak3.4.3indirecta
npmjiti2.7.0indirecta
npmjs-beautify1.15.4indirecta
npmjs-cookie3.0.8indirecta
npmjs-tokens4.0.0indirecta
npmjsdom29.1.1indirecta
npmjsesc3.1.0indirecta
npmjson-buffer3.0.1indirecta
npmjson-parse-even-better-errors6.0.0indirecta
npmjson-schema-traverse0.4.1indirecta
npmjson-stable-stringify-without-jsonify1.0.1indirecta
npmjson52.2.3indirecta
npmkeyv4.5.4indirecta
npmkolorist1.8.0indirecta
npmlevn0.4.1indirecta
npmlightningcss1.32.0indirecta
npmlightningcss-android-arm641.32.0indirecta
npmlightningcss-darwin-arm641.32.0indirecta
npmlightningcss-darwin-x641.32.0indirecta
npmlightningcss-freebsd-x641.32.0indirecta
npmlightningcss-linux-arm-gnueabihf1.32.0indirecta
npmlightningcss-linux-arm64-gnu1.32.0indirecta
npmlightningcss-linux-arm64-musl1.32.0indirecta
npmlightningcss-linux-x64-gnu1.32.0indirecta
npmlightningcss-linux-x64-musl1.32.0indirecta
npmlightningcss-win32-arm64-msvc1.32.0indirecta
npmlightningcss-win32-x64-msvc1.32.0indirecta
npmlocal-pkg1.2.1indirecta
npmlocate-path6.0.0indirecta
npmlru-cache10.4.3indirecta
npmlru-cache11.5.1indirecta
npmlru-cache5.1.1indirecta
npmmagic-string0.30.21indirecta
npmmagic-string-ast1.0.2indirecta
npmmdn-data2.27.1indirecta
npmmemorystream0.3.1indirecta
npmmerge21.4.1indirecta
npmmicromatch4.0.8indirecta
npmminimatch10.2.5indirecta
npmminimatch9.0.9indirecta
npmminipass7.1.3indirecta
npmmitt3.0.1indirecta
npmmlly1.8.2indirecta
npmmrmime2.0.1indirecta
npmms2.1.3indirecta
npmmuggle-string0.4.1indirecta
npmnanoid3.3.12indirecta
npmnatural-compare1.4.0indirecta
npmnode-releases2.0.47indirecta
npmnopt7.2.1indirecta
npmnpm-normalize-package-bin6.0.0indirecta
npmnpm-run-all29.0.2indirecta
npmnth-check2.1.1indirecta
npmobug2.1.1indirecta
npmohash2.0.11indirecta
npmopen11.0.0indirecta
npmoptionator0.9.4indirecta
npmp-limit3.1.0indirecta
npmp-locate5.0.0indirecta
npmpackage-json-from-dist1.0.1indirecta
npmparse58.0.0indirecta
npmparse58.0.1indirecta
npmpath-browserify1.0.1indirecta
npmpath-exists4.0.0indirecta
npmpath-key3.1.1indirecta
npmpath-scurry1.11.1indirecta
npmpathe2.0.3indirecta
npmperfect-debounce1.0.0indirecta
npmperfect-debounce2.1.0indirecta
npmpicocolors1.1.1indirecta
npmpicomatch2.3.2indirecta
npmpicomatch4.0.4indirecta
npmpidtree1.0.0indirecta
npmpinia3.0.4indirecta
npmpkg-types1.3.1indirecta
npmpkg-types2.3.1indirecta
npmpostcss8.5.13indirecta
npmpostcss8.5.15indirecta
npmpostcss-selector-parser7.1.4indirecta
npmpowershell-utils0.1.0indirecta
npmprelude-ls1.2.1indirecta
npmprettier3.8.4indirecta
npmprettier-linter-helpers1.0.1indirecta
npmproto-list1.2.4indirecta
npmpunycode2.3.1indirecta
npmquansync0.2.11indirecta
npmqueue-microtask1.2.3indirecta
npmread-package-json-fast6.0.0indirecta
npmreaddirp5.0.0indirecta
npmrequire-from-string2.0.2indirecta
npmreusify1.1.0indirecta
npmrfdc1.4.1indirecta
npmrolldown1.0.3indirecta
npmrun-applescript7.1.0indirecta
npmrun-parallel1.2.0indirecta
npmsaxes6.0.0indirecta
npmscule1.3.0indirecta
npmsemver6.3.1indirecta
npmsemver7.8.4indirecta
npmshebang-command2.0.0indirecta
npmshebang-regex3.0.0indirecta
npmshell-quote1.8.4indirecta
npmsiginfo2.0.0indirecta
npmsignal-exit4.1.0indirecta
npmsirv3.0.2indirecta
npmsource-map-js1.2.1indirecta
npmspeakingurl14.0.1indirecta
npmstackback0.0.2indirecta
npmstd-env4.1.0indirecta
npmstring-width4.2.3indirecta
npmstring-width5.1.2indirecta
npmstrip-ansi6.0.1indirecta
npmstrip-ansi7.2.0indirecta
npmsuperjson2.2.6indirecta
npmsymbol-tree3.2.4indirecta
npmsynckit0.11.13indirecta
npmtinybench2.9.0indirecta
npmtinyexec1.2.4indirecta
npmtinyglobby0.2.16indirecta
npmtinyglobby0.2.17indirecta
npmtinyrainbow3.1.0indirecta
npmtldts7.4.2indirecta
npmtldts-core7.4.2indirecta
npmto-regex-range5.0.1indirecta
npmtotalist3.0.1indirecta
npmtough-cookie6.0.1indirecta
npmtr466.0.0indirecta
npmts-api-utils2.5.0indirecta
npmtslib2.8.1indirecta
npmtype-check0.4.0indirecta
npmtypescript6.0.3indirecta
npmtypescript-eslint8.61.0indirecta
npmufo1.6.4indirecta
npmundici7.27.2indirecta
npmundici-types7.16.0indirecta
npmundici-types7.24.6indirecta
npmundici-types7.27.2indirecta
npmunplugin3.0.0indirecta
npmunplugin-utils0.3.1indirecta
npmupdate-browserslist-db1.2.3indirecta
npmuri-js4.4.1indirecta
npmutil-deprecate1.0.2indirecta
npmvite8.0.16indirecta
npmvite-dev-rpc2.0.0indirecta
npmvite-hot-client2.2.0indirecta
npmvite-plugin-inspect11.4.1indirecta
npmvite-plugin-vue-devtools8.1.2indirecta
npmvite-plugin-vue-inspector6.0.0indirecta
npmvitest4.1.8indirecta
npmvscode-uri3.1.0indirecta
npmvue3.5.38indirecta
npmvue-component-type-helpers3.3.4indirecta
npmvue-demi0.14.10indirecta
npmvue-eslint-parser10.4.1indirecta
npmvue-router5.1.0indirecta
npmvue-tsc3.3.5indirecta
npmw3c-xmlserializer5.0.0indirecta
npmwebidl-conversions8.0.1indirecta
npmwebpack-virtual-modules0.6.2indirecta
npmwhatwg-mimetype5.0.0indirecta
npmwhatwg-url16.0.1indirecta
npmwhich2.0.2indirecta
npmwhich7.0.0indirecta
npmwhy-is-node-running2.3.0indirecta
npmword-wrap1.2.5indirecta
npmwrap-ansi7.0.0indirecta
npmwrap-ansi8.1.0indirecta
npmwsl-utils0.3.1indirecta
npmxml-name-validator4.0.0indirecta
npmxml-name-validator5.0.0indirecta
npmxmlchars2.2.0indirecta
npmyallist3.1.1indirecta
npmyaml2.9.0indirecta
npmyocto-queue0.1.0indirecta
PyPIasyncioindirecta
PyPIasyncstdlibindirecta
PyPIcoverallsindirecta
PyPIfabricatio-capabilitiesindirecta
PyPIfabricatio-mockindirecta
PyPIfabricatio-toolindirecta
PyPIhttpxindirecta
PyPImatplotlibindirecta
PyPImaturinindirecta
PyPImore-itertoolsindirecta
PyPImyst-parserindirecta
PyPInumpyindirecta
PyPIopenpyxlindirecta
PyPIorjsonindirecta
PyPIpandasindirecta
PyPIpipindirecta
PyPIpyarrowindirecta
PyPIpydanticindirecta
PyPIpymilvusindirecta
PyPIpyrightindirecta
PyPIpytestindirecta
PyPIpytest-asyncioindirecta
PyPIpytest-covindirecta
PyPIpytest-mockindirecta
PyPIquestionaryindirecta
PyPIrichindirecta
PyPIruffindirecta
PyPIrust-justindirecta
PyPIsphinxindirecta
PyPIsphinx-autoapiindirecta
PyPIsphinx-autodoc-typehintsindirecta
PyPIsphinx-copybuttonindirecta
PyPIsphinx-designindirecta
PyPIsphinx-intlindirecta
PyPIsphinx-rtd-themeindirecta
PyPIsphinx-togglebuttonindirecta
PyPIsphinxcontrib-mermaidindirecta
PyPItyperindirecta
PyPItypstindirecta
PyPIuvindirecta
PyPIviztracerindirecta
Avisos de dependencias 0

Instalar pypi:fabricatio@0.32.3 arrastra 14 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": [
        "agentic-ai",
        "llm",
        "workflow",
        "ai",
        "framework",
        "harness-framework",
        "multi-agent"
      ],
      "is_fork": false,
      "size_kb": 7335,
      "has_wiki": false,
      "homepage": "https://pypi.org/project/fabricatio/",
      "languages": {
        "CSS": 3979,
        "Vue": 119764,
        "HTML": 336,
        "Just": 6320,
        "Rust": 748024,
        "Python": 1809508,
        "Dockerfile": 286,
        "Handlebars": 71697,
        "TypeScript": 35626
      },
      "pushed_at": "2026-07-25T22:15:33Z",
      "created_at": "2025-02-08T19:49:34Z",
      "owner_type": "User",
      "updated_at": "2026-07-25T22:15:22Z",
      "description": "Fabricatio is a Python library designed for building applications that leverage Large Language Models (LLMs) using an event-based agent structure. It utilizes Handlebars for templating and provides a robust framework for managing tasks, workflows, and toolboxes, enabling developers to create intelligent and efficient applications. ",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "Python",
      "significant_languages": [
        "Python",
        "Rust"
      ]
    },
    "owner": {
      "blog": null,
      "name": null,
      "type": "User",
      "login": "Whth",
      "company": null,
      "location": null,
      "followers": 3,
      "avatar_url": "https://avatars.githubusercontent.com/u/88489697?v=4",
      "created_at": "2021-08-05T11:10:03Z",
      "is_verified": null,
      "public_repos": 33,
      "account_age_days": 1815
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.33.0-dev5",
          "kind": "prerelease",
          "published_at": "2026-07-25T22:15:33Z"
        },
        {
          "tag": "v0.33.0-dev4",
          "kind": "prerelease",
          "published_at": "2026-07-24T15:04:55Z"
        },
        {
          "tag": "v0.33.0-dev3",
          "kind": "prerelease",
          "published_at": "2026-07-22T16:35:29Z"
        },
        {
          "tag": "v0.33.0-dev2",
          "kind": "prerelease",
          "published_at": "2026-07-18T09:50:12Z"
        },
        {
          "tag": "v0.33.0-dev1",
          "kind": "prerelease",
          "published_at": "2026-07-17T16:58:50Z"
        },
        {
          "tag": "v0.33.0-dev0",
          "kind": "prerelease",
          "published_at": "2026-07-05T16:03:38Z"
        },
        {
          "tag": "v0.32.3",
          "kind": "patch",
          "published_at": "2026-06-24T17:19:40Z"
        },
        {
          "tag": "v0.32.2",
          "kind": "patch",
          "published_at": "2026-06-22T17:24:50Z"
        },
        {
          "tag": "v0.32.1",
          "kind": "patch",
          "published_at": "2026-06-19T17:47:54Z"
        },
        {
          "tag": "v0.32.0",
          "kind": "minor",
          "published_at": "2026-06-19T11:16:44Z"
        },
        {
          "tag": "v0.32.0-dev8",
          "kind": "prerelease",
          "published_at": "2026-06-19T04:30:22Z"
        },
        {
          "tag": "v0.32.0-dev7",
          "kind": "prerelease",
          "published_at": "2026-06-18T17:24:29Z"
        },
        {
          "tag": "v0.32.0-dev6",
          "kind": "prerelease",
          "published_at": "2026-06-17T16:29:01Z"
        },
        {
          "tag": "v0.32.0-dev5",
          "kind": "prerelease",
          "published_at": "2026-06-17T15:06:04Z"
        },
        {
          "tag": "v0.32.0-dev4",
          "kind": "prerelease",
          "published_at": "2026-06-17T12:18:17Z"
        },
        {
          "tag": "v0.32.0-dev3",
          "kind": "prerelease",
          "published_at": "2026-06-13T18:31:03Z"
        },
        {
          "tag": "v0.32.0-dev2",
          "kind": "prerelease",
          "published_at": "2026-06-09T17:52:09Z"
        },
        {
          "tag": "v0.32.0-dev1",
          "kind": "prerelease",
          "published_at": "2026-06-08T17:29:06Z"
        },
        {
          "tag": "v0.32.0-dev0",
          "kind": "prerelease",
          "published_at": "2026-06-07T17:20:34Z"
        },
        {
          "tag": "v0.31.3",
          "kind": "patch",
          "published_at": "2026-06-03T17:57:16Z"
        },
        {
          "tag": "v0.31.2-dev3",
          "kind": "prerelease",
          "published_at": "2026-06-01T17:34:12Z"
        },
        {
          "tag": "v0.31.2-dev2",
          "kind": "prerelease",
          "published_at": "2026-05-30T20:08:09Z"
        },
        {
          "tag": "v0.31.2-dev1",
          "kind": "prerelease",
          "published_at": "2026-05-29T17:01:26Z"
        },
        {
          "tag": "v0.31.2-dev0",
          "kind": "prerelease",
          "published_at": "2026-05-25T17:28:17Z"
        },
        {
          "tag": "v0.31.0-dev3",
          "kind": "prerelease",
          "published_at": "2026-05-22T20:32:28Z"
        },
        {
          "tag": "v0.31.0-dev2",
          "kind": "prerelease",
          "published_at": "2026-05-19T17:56:05Z"
        },
        {
          "tag": "v0.31.0-dev1",
          "kind": "prerelease",
          "published_at": "2026-05-18T17:57:39Z"
        },
        {
          "tag": "v0.31.0-dev0",
          "kind": "prerelease",
          "published_at": "2026-05-17T17:29:28Z"
        },
        {
          "tag": "v0.30.4",
          "kind": "patch",
          "published_at": "2026-05-17T11:36:06Z"
        },
        {
          "tag": "v0.30.3",
          "kind": "patch",
          "published_at": "2026-05-17T01:10:22Z"
        },
        {
          "tag": "v0.30.2",
          "kind": "patch",
          "published_at": "2026-05-14T15:08:25Z"
        },
        {
          "tag": "v0.30.1",
          "kind": "patch",
          "published_at": "2026-05-12T18:20:53Z"
        },
        {
          "tag": "v0.30.0",
          "kind": "minor",
          "published_at": "2026-05-06T17:07:40Z"
        },
        {
          "tag": "v0.29.2",
          "kind": "patch",
          "published_at": "2026-05-04T21:38:26Z"
        },
        {
          "tag": "v0.29.1",
          "kind": "patch",
          "published_at": "2026-05-04T10:50:44Z"
        },
        {
          "tag": "v0.29.0",
          "kind": "minor",
          "published_at": "2026-05-01T09:48:05Z"
        },
        {
          "tag": "v0.29.0-dev2",
          "kind": "prerelease",
          "published_at": "2026-05-01T08:08:26Z"
        },
        {
          "tag": "v0.29.0-dev1",
          "kind": "prerelease",
          "published_at": "2026-04-28T18:20:16Z"
        },
        {
          "tag": "v0.29.0-dev0",
          "kind": "prerelease",
          "published_at": "2026-04-26T17:38:05Z"
        },
        {
          "tag": "v0.28.0",
          "kind": "minor",
          "published_at": "2026-04-24T17:10:11Z"
        },
        {
          "tag": "v0.28.0-dev0",
          "kind": "prerelease",
          "published_at": "2026-04-22T16:58:55Z"
        },
        {
          "tag": "v0.27.1",
          "kind": "patch",
          "published_at": "2026-04-05T17:06:51Z"
        },
        {
          "tag": "v0.27.0",
          "kind": "minor",
          "published_at": "2026-04-04T16:32:49Z"
        },
        {
          "tag": "v0.26.3",
          "kind": "patch",
          "published_at": "2026-03-28T17:44:57Z"
        },
        {
          "tag": "v0.26.2",
          "kind": "patch",
          "published_at": "2026-03-27T15:47:50Z"
        },
        {
          "tag": "v0.26.1",
          "kind": "patch",
          "published_at": "2026-03-26T17:56:48Z"
        },
        {
          "tag": "v0.26.0",
          "kind": "minor",
          "published_at": "2026-03-25T17:22:39Z"
        },
        {
          "tag": "v0.26.0-dev7",
          "kind": "prerelease",
          "published_at": "2026-03-25T16:03:53Z"
        },
        {
          "tag": "v0.26.0-dev6",
          "kind": "prerelease",
          "published_at": "2026-03-25T14:54:57Z"
        },
        {
          "tag": "v0.26.0-dev5",
          "kind": "prerelease",
          "published_at": "2026-03-25T14:32:13Z"
        },
        {
          "tag": "v0.26.0-dev4",
          "kind": "prerelease",
          "published_at": "2026-03-25T14:19:40Z"
        },
        {
          "tag": "v0.26.0-dev3",
          "kind": "prerelease",
          "published_at": "2026-03-24T17:11:10Z"
        },
        {
          "tag": "v0.26.0-dev2",
          "kind": "prerelease",
          "published_at": "2026-03-23T17:18:46Z"
        },
        {
          "tag": "v0.26.0-dev1",
          "kind": "prerelease",
          "published_at": "2026-03-22T14:46:09Z"
        },
        {
          "tag": "v0.26.0-dev0",
          "kind": "prerelease",
          "published_at": "2026-03-21T17:19:48Z"
        },
        {
          "tag": "v0.25.0-dev0",
          "kind": "prerelease",
          "published_at": "2026-01-25T16:26:45Z"
        },
        {
          "tag": "v0.24.2",
          "kind": "patch",
          "published_at": "2026-01-08T16:47:47Z"
        },
        {
          "tag": "v0.24.1",
          "kind": "patch",
          "published_at": "2026-01-03T20:01:54Z"
        },
        {
          "tag": "v0.24.0",
          "kind": "minor",
          "published_at": "2026-01-01T10:03:07Z"
        },
        {
          "tag": "v0.24.0-dev0",
          "kind": "prerelease",
          "published_at": "2026-01-01T09:19:24Z"
        },
        {
          "tag": "v0.23.1",
          "kind": "patch",
          "published_at": "2025-12-29T10:57:21Z"
        },
        {
          "tag": "v0.23.1-dev5",
          "kind": "prerelease",
          "published_at": "2025-12-29T09:49:18Z"
        },
        {
          "tag": "v0.23.1-dev4",
          "kind": "prerelease",
          "published_at": "2025-12-29T08:56:33Z"
        },
        {
          "tag": "v0.23.1-dev3",
          "kind": "prerelease",
          "published_at": "2025-12-28T18:05:40Z"
        },
        {
          "tag": "v0.23.1-dev2",
          "kind": "prerelease",
          "published_at": "2025-12-28T14:58:42Z"
        },
        {
          "tag": "v0.23.1-dev1",
          "kind": "prerelease",
          "published_at": "2025-12-26T04:05:45Z"
        },
        {
          "tag": "v0.23.1-dev0",
          "kind": "prerelease",
          "published_at": "2025-12-26T03:28:55Z"
        },
        {
          "tag": "v0.23.0",
          "kind": "minor",
          "published_at": "2025-12-25T13:38:42Z"
        },
        {
          "tag": "v0.22.3-dev5",
          "kind": "prerelease",
          "published_at": "2025-12-24T18:06:32Z"
        },
        {
          "tag": "v0.22.3-dev4",
          "kind": "prerelease",
          "published_at": "2025-12-24T11:52:56Z"
        },
        {
          "tag": "v0.22.3-dev3",
          "kind": "prerelease",
          "published_at": "2025-12-24T08:31:59Z"
        },
        {
          "tag": "v0.22.3-dev2",
          "kind": "prerelease",
          "published_at": "2025-12-24T08:04:05Z"
        },
        {
          "tag": "v0.22.3-dev1",
          "kind": "prerelease",
          "published_at": "2025-12-24T07:50:50Z"
        },
        {
          "tag": "v0.22.3-dev0",
          "kind": "prerelease",
          "published_at": "2025-12-23T18:20:43Z"
        },
        {
          "tag": "v0.22.2",
          "kind": "patch",
          "published_at": "2025-12-22T18:00:26Z"
        },
        {
          "tag": "v0.22.1",
          "kind": "patch",
          "published_at": "2025-12-22T11:50:02Z"
        },
        {
          "tag": "v0.22.0",
          "kind": "minor",
          "published_at": "2025-12-17T19:05:05Z"
        },
        {
          "tag": "v0.21.4-dev1",
          "kind": "prerelease",
          "published_at": "2025-12-17T18:57:37Z"
        },
        {
          "tag": "v0.21.4-dev0",
          "kind": "prerelease",
          "published_at": "2025-12-14T07:16:14Z"
        },
        {
          "tag": "v0.21.3",
          "kind": "patch",
          "published_at": "2025-12-09T19:21:31Z"
        },
        {
          "tag": "v0.21.2",
          "kind": "patch",
          "published_at": "2025-12-09T19:16:18Z"
        },
        {
          "tag": "v0.21.1",
          "kind": "patch",
          "published_at": "2025-11-27T14:00:38Z"
        },
        {
          "tag": "v0.21.0",
          "kind": "minor",
          "published_at": "2025-11-18T08:42:24Z"
        },
        {
          "tag": "v0.20.10",
          "kind": "patch",
          "published_at": "2025-11-13T13:28:59Z"
        },
        {
          "tag": "v0.20.10-dev0",
          "kind": "prerelease",
          "published_at": "2025-11-13T09:05:01Z"
        },
        {
          "tag": "v0.20.9-dev0",
          "kind": "prerelease",
          "published_at": "2025-11-13T08:40:05Z"
        },
        {
          "tag": "v0.20.8",
          "kind": "patch",
          "published_at": "2025-11-12T20:10:44Z"
        },
        {
          "tag": "v0.20.6",
          "kind": "patch",
          "published_at": "2025-10-09T15:23:23Z"
        },
        {
          "tag": "v0.20.5",
          "kind": "patch",
          "published_at": "2025-09-28T13:06:08Z"
        },
        {
          "tag": "v0.20.4",
          "kind": "patch",
          "published_at": "2025-09-27T06:31:01Z"
        },
        {
          "tag": "v0.20.3",
          "kind": "patch",
          "published_at": "2025-09-27T05:03:38Z"
        },
        {
          "tag": "v0.20.2",
          "kind": "patch",
          "published_at": "2025-09-27T04:39:46Z"
        },
        {
          "tag": "v0.20.1",
          "kind": "patch",
          "published_at": "2025-09-24T11:11:34Z"
        },
        {
          "tag": "v0.20.0",
          "kind": "minor",
          "published_at": "2025-09-24T11:00:05Z"
        },
        {
          "tag": "v0.19.8",
          "kind": "patch",
          "published_at": "2025-09-07T04:32:34Z"
        },
        {
          "tag": "v0.19.7",
          "kind": "patch",
          "published_at": "2025-08-15T11:08:17Z"
        },
        {
          "tag": "v0.19.6",
          "kind": "patch",
          "published_at": "2025-08-14T12:17:46Z"
        },
        {
          "tag": "v0.19.5",
          "kind": "patch",
          "published_at": "2025-08-14T11:10:25Z"
        },
        {
          "tag": "v0.19.5-dev0",
          "kind": "prerelease",
          "published_at": "2025-08-13T20:58:13Z"
        },
        {
          "tag": "v0.19.4",
          "kind": "patch",
          "published_at": "2025-08-09T19:11:35Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "38594a5a99a64e3ad2e1e1d98d8ee54d919f1e0f",
          "body": "- Update project version from 0.33.0-dev4 to 0.33.0-dev5 in pyproject.toml",
          "is_bot": false,
          "headline": "chore(release): bump version to 0.33.0-dev5",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-25T22:15:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b4937df6615534e20b5df3d1016527b69fbaaa3",
          "body": "…queries\n\n- Changed default parameter k from 8 to 6 in last_paragraph function\n- Fixed slice operation from paragraphs[-k] to paragraphs[-k:] to return multiple paragraphs\n- Added _fetch_query helper function in tests to mirror production query building logic\n- Updated test cases to use _fetch_query\n[…]\nches instead of exact matches\n- Added requirement parameters to test queries for proper reranking simulation\n- Updated chapter_requirement.hbs template with clearer instructions for chapter continuity",
          "is_bot": false,
          "headline": "fix(utils): correct last_paragraph function behavior and update test …",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-25T22:05:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8fc33181763c9e9fac7da7f656fd739a7f0348fd",
          "body": "…ching\n\n- Add asyncio import for concurrent operations\n- Import Scene model for type annotations\n- Replace sequential loop with concurrent task execution\n- Create _inject_script helper function for chapter-level injection\n- Create _inject_scene helper function for scene-level injection\n- Use asyncio.gather to run all fetch operations concurrently\n- Maintain original functionality while improving performance\n- Update package version from 0.11.1 to 0.11.2",
          "is_bot": false,
          "headline": "perf(novel_rag): optimize writing style injection with concurrent fet…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-25T21:51:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "732371f5b1f7fe2842e6d55a192098ac1015eddb",
          "body": "…aphs\n\n- Fixed last_paragraph function to return last k paragraphs instead of just the last one\n- Added parameter k with default value 8 to control number of paragraphs returned\n- Updated function logic to join multiple paragraphs with newlines\n- Corrected typo in template guidance about not copying paragraphs to chapter start",
          "is_bot": false,
          "headline": "fix(utils): correct last_paragraph function to return multiple paragr…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-25T21:17:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8879f492cd7d1e8998c65ccde7c77c2e540f12cc",
          "body": "…ation\n\n- Import chunked_batch_call utility function in usages.py\n- Add max_batch_emb_size parameter to EmbeddingKwargs model\n- Implement chunked batch processing for embedding calls using asyncio.gather\n- Replace direct embedding call with chunked_batch_call wrapper\n- Set default max_batch_emb_size to 10 for embedding operations\n- Update project version to 0.10.5 in pyproject.toml",
          "is_bot": false,
          "headline": "feat(embeddings): add batch processing capability for embedding gener…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-25T20:56:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a96973cc737d7035ca4b0c2c9f7cf69fc68be505",
          "body": "- Removed unnecessary List type annotation from search results\n- Fixed document model conversion to properly apply from_raw method to flattened results\n- Updated package version from 0.3.2 to 0.3.3",
          "is_bot": false,
          "headline": "fix(lancedb): correct document model conversion in search results",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-25T20:55:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f8d2376e5179456cac5b08994365dd1062f0376",
          "body": "…tion\n\n- Remove use_refined_query and refined_query_count convenience overrides\n- Simplify WritingStyleFetchConfig to use explicit config or default only\n- Remove override_kwargs utility function dependency\n- Clean up command line options for query refinement in rag commands\n- Remove unused RetrieveWritingStyles and InjectWritingStyleToScript actions\n- Update version to 0.11.1 in pyproject.toml",
          "is_bot": false,
          "headline": "refactor(novel): remove query refinement features from RAG implementa…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-25T20:25:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1fec61b6203e36b5eb83e682c6c96f2cba53f3ff",
          "body": "- Added rust-toolchain.toml to specify nightly toolchain version\n- Set toolchain channel to nightly-2026-07-06 for consistent builds\n- Ensures all developers use the same Rust compiler version",
          "is_bot": false,
          "headline": "chore(toolchain): add rust toolchain configuration",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-25T20:15:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "39aeabe3d785f6ea52ed1af699cc04534444838e",
          "body": "…ontinuity\n\n- Remove deprecated use_reranker flag and related configurations\n- Rename writing_style_query to writing_style_requirement for clarity\n- Add previous_chapter_tail to maintain narrative continuity between chapters\n- Introduce last_paragraph utility for extracting final paragraph of prior \n[…]\n names\n- Remove unused kwargs types and template configurations\n- Enhance chapter generation with rolling context including last paragraph\n- Add comprehensive tests for last_paragraph utility function",
          "is_bot": false,
          "headline": "refactor(novel): update RAG and mental state handling with improved c…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-25T20:14:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "969a89bd7dece644e897e80445de0c9e2fed6ef6",
          "body": null,
          "is_bot": false,
          "headline": "fix(core): forbid to send empty rerank query",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-24T15:04:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b82dbd7cd0f995384c29822b6d9bd28ec4e9284f",
          "body": "- Import BoundedSemaphore from threading module\n- Create global COMPILE_SEM semaphore with limit of 3\n- Wrap maturin develop command execution with semaphore lock\n- Ensure only 3 concurrent compilation processes at maximum\n- Prevent resource exhaustion during parallel builds\n- Maintain existing build success handling logic",
          "is_bot": false,
          "headline": "refactor(build): add thread safety to maturin compile operations",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-23T16:58:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "325c17fba20a26ca7f000a7730cd13e3cbc57dc4",
          "body": "…etion\n\n- Replace abstract RAG testing items with fabricatio-anki image support features\n- Mark character system completion as wired into novel chapter generation\n- Consolidate extensive mental model engine implementation details into summary\n- Add personality archetypes and evaluation framework as remaining tasks\n- Include mental novel generation integration with completed capabilities listed\n- Remove judge integration items from roadmap scope",
          "is_bot": false,
          "headline": "refactor(docs): update project roadmap with mental model engine compl…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-22T16:34:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "466b67d8ccde6372d2fe4786fa46758e8f8da370",
          "body": "- Remove placeholder based multiple-agents edits from todo list\n- Update character system completion status to completed\n- Mark batch character generation and validation as completed\n- Mark mental model implementation as completed\n- Adjust task hierarchy for character relationship tracking section\n- Update checklist items to reflect current development progress",
          "is_bot": false,
          "headline": "docs(readme): update project roadmap and task completion status",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-22T16:19:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5529350603769a7e9a3766ebff6b0e5c634c60c8",
          "body": "- Move FrameAspect StrEnum from fabricatio_novel to fabricatio_comfyui workflow module\n- Add comprehensive test suite for FrameAspect enum values and methods\n- Implement ratio property and to_dimensions method for aspect calculations\n- Update RESOLUTION_SELECTOR_ASPECT_RATIOS to use FrameAspect enum\n[…]\nel package\n- Bump versions across packages including fabricatio-comfyui (0.3.4->0.3.5)\n- Bump fabricatio-novel version from 0.10.5 to 0.10.6\n- Bump main project version from 0.33.0-dev2 to 0.33.0-dev3",
          "is_bot": false,
          "headline": "refactor(workflow): move FrameAspect enum from novel to workflow module",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-22T16:08:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b8913509f1c1c1e43cfa807bd4dc9e32d2700ca7",
          "body": "…ector\n\n- Introduce RESOLUTION_SELECTOR_ASPECT_RATIOS constant with valid aspect ratio values\n- Add validation in set_chart_proportion to check aspect_ratio against allowed values\n- Update docstrings to reference the new validation requirement\n- Include ValueError exception for invalid aspect_ratio \n[…]\nlidation test between FrameAspect and ResolutionSelector enums\n\nchore(release): bump package versions\n\n- Increment fabricatio-comfyui from 0.3.3 to 0.3.4\n- Increment fabricatio-novel from 10.4 to 10.5",
          "is_bot": false,
          "headline": "feat(workflow): add aspect ratio validation for ComfyUI ResolutionSel…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-21T17:11:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4f6af461825e91716e132326fca7d07a56460765",
          "body": "…lculations\n\n- Add math.sqrt import for dimension calculations\n- Move megapixel to dimension logic from capability helper into FrameAspect enum\n- Calculate width and height based on aspect ratio and megapixels\n- Apply 8-pixel alignment for ComfyUI compatibility\n- Enforce 64-pixel minimum on both axe\n[…]\nts to use new enum method instead of helper function\n- Rename test class from TestMegapixelsToDimensions to TestFrameAspectDimensions\n- Fix assertion formatting in workflow test for better readability",
          "is_bot": false,
          "headline": "feat(illustration): add FrameAspect.to_dimensions method for pixel ca…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-19T17:50:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8447bb256a3df70c1e3ce0e26a6b35ab983429d9",
          "body": "…trationConstrain model",
          "is_bot": false,
          "headline": "feat(novel): type illustration constrain via FrameAspect enum + Illus…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-19T17:41:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13845db8f580a8b3b694c4ab6f80a2b54bb20dec",
          "body": "- Introduce global_writing_constraint field to Draft model for novel-wide rules\n- Add global writing constraints to novel capability prompt template\n- Include global constraints in novel mental state capability context\n- Initialize global_writing_constraint in all test cases with empty string\n- Upda\n[…]\nint usage for POV, tone, and structural consistency\n- Ensure chapter writers honor global constraints as hard requirements\n- Separate novel-level rules from chapter-specific overrides in documentation",
          "is_bot": false,
          "headline": "feat(novel): add global writing constraints for consistent novel styling",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-19T10:10:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "aecc938669f18038a0fb39b8c62a73b6537ab63b",
          "body": "- Added change_default and no_default utility functions in fabricatio_core.utils\n- Replaced all override_kwargs(kwargs, default=None) calls with no_default(kwargs)\n- Updated imports across multiple files to include the new no_default function\n- Simplified default parameter handling by using the new no_default utility\n- Maintained same functionality while improving code clarity and type safety\n- Removed redundant override_kwargs usage throughout the codebase",
          "is_bot": false,
          "headline": "refactor(utils): replace override_kwargs with no_default function",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-19T09:37:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c56b1edb4cff95e31b794284543fea4205a90e7",
          "body": "- Add effort field to fabricatio-config CompletionConfig with validation\n- Update fabricatio-router to include effort in completion request signatures\n- Add effort parameter to thryd OpenAI model implementation with fallback handling\n- Include effort in generic model parameters and configuration res\n[…]\ntio-core router usage functions and overloads\n- Bump fabricatio-config from 0.4.3 to 0.4.4 and thryd from 0.7.1 to 0.7.2\n- Create new fabricatio-router crate with proper dependencies and version 0.1.3",
          "is_bot": false,
          "headline": "feat(config): add reasoning effort parameter support across components",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-18T09:49:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "18856e9f6aa3db96c40ccf74841cbce0904bf890",
          "body": "- Configure project metadata including name, version, description, and authors\n- Set up dependencies and optional dependency groups for various features\n- Integrate maturin build system for Rust-Python bindings\n- Configure development tools including ruff, pytest, and pyright\n- Define workspace memb\n[…]\nices for uv package manager\n- Set up comprehensive linting and formatting rules with ruff\n- Configure testing options and asyncio settings\n- Establish dependency groups for dev and documentation tools",
          "is_bot": false,
          "headline": "chore(project): add pyproject.toml configuration for fabricatio package",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-18T08:21:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a0aba26d020508a70d0a2d1631d690084aa7b62c",
          "body": "- Add comment explaining asyncio.gather concurrency behavior with dummy mock\n- Implement content-based matching instead of order-based matching for test results\n- Create mapping dictionary to match results by issue_to_judge field\n- Update test loop to use expected issue_to_judge as lookup key\n- Maintain existing assertion logic while ensuring deterministic test execution\n- Address LIFO response queue ordering issues under concurrent access",
          "is_bot": false,
          "headline": "fix(tests): resolve non-deterministic test failures in capable module",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-18T08:21:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7c1bfb2b6c863e55b2a45c498945efe055f4aeb",
          "body": "…classes\n\n- Reorder imports in configs.rs for better organization\n- Add is_agent_variant function to validate agent variants in constants\n- Introduce Not operator import for boolean operations\n- Refactor resolve_llm_variant to return cloned strings instead of references\n- Add comprehensive generic m\n[…]\nnfig, and related subclasses\n- Implement fallback and hold-to mechanisms for configuration hierarchies\n- Add JSON schema generation and validation utilities\n- Update package version from 0.1 to 0.10.2",
          "is_bot": false,
          "headline": "feat(config): enhance agent variant resolution and add generic model …",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-18T08:01:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1e6d4daf8d27fc992752e00d7b120ed2707b0de9",
          "body": "- Added pyproject.toml with project metadata and dependencies\n- Removed fallback_kwargs import from fabricatio_core.utils\n- Removed fallback_kwargs usage in AdvancedJudge.judge method\n- Configured build system with hatchling for wheel distribution\n- Set up dependency groups for development including pytest and mock\n- Added multiple PyPI mirrors for faster package installation",
          "is_bot": false,
          "headline": "feat(judge): add pyproject.toml configuration and remove fallback kwargs",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-18T06:31:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a00c820d5d36ea0a650345812ebe25db22b97bd",
          "body": "- Added documentation for the 'send_to' parameter in the novel capability module\n- Removed unnecessary blank line in the test module that was causing formatting issues\n- Improved code clarity by adding missing type information for the send_to parameter",
          "is_bot": false,
          "headline": "docs(novel): update docstring with missing parameter documentation",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-17T17:41:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c6ed9b632a629711526423daf6cbe50449aadbe",
          "body": "- Introduce writing_constrain field to draft model with detailed documentation\n- Add writing_constrain parameter to novel capability prompt generation\n- Include writing_constrain in novel mental state prompt template\n- Create dedicated template block for chapter writing constraints enforcement\n- Update novel draft requirement template to generate per-chapter constraints\n- Define comprehensive constraint categories including style, must-include, must-avoid, and structural limits",
          "is_bot": false,
          "headline": "feat(novel): add per-chapter writing constraints feature",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-17T17:38:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b5ac7c0a95bb563a1a60ac3d834679779c832ce3",
          "body": "…tion\n\n- Add _first_checkpoint helper to fetch available checkpoints from live server\n- Implement _requires_checkpoint decorator for conditional test execution\n- Create _fresh_client utility for proper per-test event loop management\n- Replace hardcoded checkpoint names with dynamic detection in integration tests\n- Update test clients to use fresh instances instead of cached ones\n- Add proper cleanup with client connection pool closure\n- Remove redundant assertion for all_images length",
          "is_bot": false,
          "headline": "test(comfyui): update integration tests with dynamic checkpoint detec…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-17T16:57:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "95b2ec320478691a0f4329a196c3981b7e1b8ee0",
          "body": "- Remove unused send_to parameter from character composition methods\n- Add EvidentlyJudge class with evidence-based judging functionality\n- Implement VoteJudge class with LLM-based voting and threshold evaluation\n- Add concurrent execution for multiple judgments using asyncio.gather\n- Introduce VoteLLMConfig for specifying voting models and thresholds\n- Replace uuid.uuid7 with uuid.uuid4 in test files for compatibility\n- Implement resolve_pass method for weighted vote calculation logic",
          "is_bot": false,
          "headline": "feat(judge): add advanced judging capabilities with voting mechanism",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-17T16:37:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d69f2dab1396636c1607db62b8eebf9bd3f4ca0",
          "body": "- Updated project version in pyproject.toml from 0.33.0-dev0 to 0.33.0-dev1",
          "is_bot": false,
          "headline": "chore(version): bump development version from 0.33.0-dev0 to 0.33.0-dev1",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-16T17:20:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1c7e33f77e93a883826a3611effd1d28c42fc5a",
          "body": "- Fixed missing comma in keyword arguments for aask_validate call\n- Ensured proper unpacking of kwargs in the method invocation\n\nfeat(novel): enhance writing style imitation with QA documentation\n\n- Updated global prompt to include writing style QA documentation requirement\n- Modified script-level p\n[…]\n-level prompting for consistent writing style application\n- Integrated QA documentation injection at both script and scene levels\n- Improved quality assurance through better style guidance propagation",
          "is_bot": false,
          "headline": "fix(core): correct keyword argument passing in propose capability",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-16T17:19:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a58c7833c57a8f589f2003d4de5174265c2e7215",
          "body": "…load support\n\n- Implemented CharacterCompose class inheriting from Propose and ABC\n- Added compose_characters method with four overloads for different input types\n- Support for single character requirement string input\n- Support for multiple character requirements via list input\n- Implementation ha\n[…]\n with SMOL target routing\n- Improved resource allocation by directing specific operations to appropriate LLM instances\n- Maintained existing functionality while adding targeted processing capabilities",
          "is_bot": false,
          "headline": "feat(character): add character composition capability with multi-over…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-15T17:23:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a725a20e47d639eb615fd40623e0ffeb3338531c",
          "body": null,
          "is_bot": false,
          "headline": "feat: enforce the send_to to fabricatio-judge",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-14T17:54:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1c48d83fdb94e9113339d3c9fc53e0826beb2ec",
          "body": null,
          "is_bot": false,
          "headline": "feat: enforce the send_to to fabricatio-core",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-14T17:54:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "edcc3e2f22e6bfd248598cc7721343213e4537b0",
          "body": null,
          "is_bot": false,
          "headline": "chore: docstirng for the constants",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-14T17:53:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c8761af850297a9b6e201b65e367580edf5ce9eb",
          "body": "- Removed AgentVariant enum and strum dependency from fabricatio-config\n- Added agent_variant string constants to fabricatio-constants\n- Updated resolve_llm_variant to accept string parameter instead of enum\n- Modified configure_llm_variant to validate string input with PyValueError\n- Updated Python\n[…]\ntubs to remove AgentVariant and add constant exports\n- Changed image parameters in router functions to accept optional byte lists\n- Updated router usage structs to handle optional image data correctly",
          "is_bot": false,
          "headline": "refactor(config): replace AgentVariant enum with string constants",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-14T16:51:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "97b69320b733c59c2a3b508e888fe5d571451577",
          "body": "…functions\n\n- Replace basic Mapping[str, Any] with TypedDict and Unpack for better type safety\n- Add proper generic type parameters to override_kwargs and fallback_kwargs functions\n- Update import statements to include TypedDict, Unpack, and cast from typing module\n- Import ValidateKwargs from models.kwargs_types for enhanced type checking\n- Change agent parameter to send_to in advanced judge capability call\n- Update AgentVariant usage to call to_str() method for string conversion",
          "is_bot": false,
          "headline": "refactor(utils): update type hints and parameter handling in utility …",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-13T16:56:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c980f50d22ae303d1ca31e27b90769e1100b054c",
          "body": "…eatures\n\n- Fixed line wrapping issues in Python execution bridge task description\n- Improved formatting of real-time LLM token streaming task\n- Enhanced readability of VirtualFS implementation details\n- Updated cognitive engine and personality modeling task descriptions\n- Reformatted TTS package in\n[…]\nons\n- Improved structure of session replay and workflow continuation features\n- Enhanced multimodal LLM support documentation\n- Added completed task for variant-based LLM selection and standardization",
          "is_bot": false,
          "headline": "docs(readme): update documentation with improved formatting and new f…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-13T16:48:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0cf5c60521486cd488a94b67dd90a64b8431844b",
          "body": "- Add Display and EnumString derives to AgentVariant enum\n- Implement to_str and create_from_str methods for string conversion\n- Update resolve_llm_variant to accept Option<AgentVariant> parameter\n- Add strum dependency for enum string conversions\n- Bump fabricatio-config version to 0.4.3\n- Remove unused agent field from LLMKwargs in Python bindings\n- Update Python generic model to use new AgentVariant string conversion\n- Generate comprehensive Python stubs for rust modules",
          "is_bot": false,
          "headline": "feat(config): enhance AgentVariant enum with string conversion methods",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-13T16:43:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5eb99661098b88153918a83837f2aa574bd491a8",
          "body": "- Add configure_llm_variant function to set different agent variants\n- Support Tiny, Smol, Task, Slow, and Plan agent types\n- Allow optional target parameter for each variant\n- Update Python type stubs with new method signature\n- Bump fabricatio-core version from 0.9.1 to 0.10.0\n- Bump fabricatio-judge version from 0.1.13 to 0.2.0\n- Reorder imports in advanced_judge.py for consistency",
          "is_bot": false,
          "headline": "feat(config): add LLM variant configuration method",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-12T16:41:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a500be385ba1ebaf9a63475841c0861034ce278",
          "body": "- Add overload method for propose function to support multiple return types\n- Import AgentVariant from rust module for agent selection\n- Import fallback_kwargs utility function for parameter handling\n- Modify judge method to use fallback_kwargs with Tiny agent variant\n- Update imports to include new utility functions and types",
          "is_bot": false,
          "headline": "feat(judge): enhance judge capability with agent variant selection",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-12T16:27:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1cff80134535c68332ff3bdf6789bb632f9200ba",
          "body": "- Make AgentVariant enum public in Rust configuration module\n- Import AgentVariant in Python generic models module\n- Add agent parameter to LLMKwargs with conditional send_to resolution\n- Include AgentVariant in RouteKwargs and LLMKwargs type definitions\n- Register AgentVariant class in Python module initialization\n- Implement resolve_llm_variant method for agent-based routing logic",
          "is_bot": false,
          "headline": "feat(config): expose AgentVariant enum to Python bindings",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-12T16:14:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f0e6883fc6c80a8f706afe8b586dc613b07c0562",
          "body": "…lution\n\n- Introduce Agent struct with named slots for different model types (tiny, smol, task, slow, plan)\n- Add AgentVariant enum to represent configurable model roles and task profiles\n- Include agent field in Config struct with corresponding getter for Python bindings\n- Implement resolve_llm_var\n[…]\n class definitions\n- Change image parameter type from List[bytes] to Sequence[bytes] across all relevant methods\n- Set default value for images parameter to empty list instead of None in async methods",
          "is_bot": false,
          "headline": "feat(config): add agent configuration support with model variant reso…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-12T15:56:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "22757937abbb53e0d9713a44f74c32c8c01a3588",
          "body": "- Removed TestCLIRefinedQueryFlags class and its methods\n- Added _long_opts_for helper function to get CLI options by subcommand\n- Replaced CLI integration tests with utility function for option assertions\n- Removed dependency on terminal width and Rich truncation behavior\n- Centralized CLI option extraction logic for better test maintainability\n- Preserved assertion functionality while improving test reliability",
          "is_bot": false,
          "headline": "refactor(tests): replace CLI flag tests with helper function",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-12T14:39:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a98dbac4387b46839d6bf9ebf4ef9361fdd58f1b",
          "body": "- Add mandatory writing style imitation prompt to global context\n- Ensure style guidance is applied before script-level document injection\n- Maintain existing multi-query fetching and document processing logic\n- Preserve debug logging for chapter-based style injection tracking",
          "is_bot": false,
          "headline": "feat(novel_rag): inject writing style guidance before script processing",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-12T14:37:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7dd40df5657f8e0cacaeef8685200cfbff041813",
          "body": null,
          "is_bot": false,
          "headline": "chore: fix tests",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-08T17:46:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99eb830f8ac8ccba0785e2a30d2fa9d70e157778",
          "body": "…ache\n\nThree root causes were addressed in test_enrich.py:\n\n1. Pydantic v2 metaclass blocks class-level access on declared fields,\n   so `StoreEnrichedTexts.output_key == \"stored_count\"` raised\n   AttributeError. Read default from model_fields[\"output_key\"].default.\n\n2. Pydantic v2 disallows arbitra\n[…]\ne and TestStoreEnrichedTextsEnrichPatched\ngroups exercise only the enrich → storage contract; previously they\nrelied on precise_chunk's None-splits fallback when the LLM mock\nreturned non-int content.",
          "is_bot": false,
          "headline": "test(novel): fix StoreEnrichedTexts execute tests for Pydantic v2 + c…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-08T15:28:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "798ab9a46a136e6e4225d205b8ad59d465e8e10a",
          "body": "- Removed unnecessary raw field access when extracting text content\n- Changed from v.raw.as_text() to direct v.as_text() method call\n- Maintained same functionality while improving code readability\n- Reduced redundant field navigation in the mapping operation",
          "is_bot": false,
          "headline": "refactor(mcp): simplify text extraction in content processing",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-07T15:40:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e04e8820c221e8aa035bedbb269ef743bd42c51f",
          "body": "- Updated mcp-manager from version 0.1.4 to 0.1.5 with rmcp dependency upgrade from 1.7.0 to 2.1.0\n- Updated thryd from version 0.7.0 to 0.7.1 with async-openai dependency from 0.41.0 to 0.41.1\n- Updated handlebars in fabricatio-core from 6.4.1 to 6.4.2\n- Updated lancedb in fabricatio-lancedb from 0\n[…]\nr, git2, pythonize, and others\n- Added new macro-utils crate for procedural macro utilities\n- Added new fabricatio-memory crate for memory management with tantivy, moka, and serialization dependencies",
          "is_bot": false,
          "headline": "chore(deps): update dependencies and add new crates",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-06T16:48:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "621e4027e4f779b77afa3684796738584679cb3f",
          "body": "- Updated project version from 0.32.3 to 0.33.0-dev0 in pyproject.toml",
          "is_bot": false,
          "headline": "chore(version): bump version to 0.33.0-dev0",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-05T16:02:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4341b41ca0e7b84d0d865b30eaeba063c48331ff",
          "body": "- Updated version from 0.4.0 to 0.4.1 in pyproject.toml\n- Removed unnecessary line breaks in novel_rag.py method signature\n- Simplified WritingStyleFetchConfig instantiation logic\n- Consolidated multiline string formatting in log messages",
          "is_bot": false,
          "headline": "chore(version): bump fabricatio-webui version to 0.4.1",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-05T16:01:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "538c8bbf2ff05f4be7e2c3a9a764b4cbd2e51688",
          "body": "…ingsDrawer\n\n- EditorToolbar: cast $event.target to HTMLInputElement in @focus so\n  vue-tsc accepts .select() (avoids TS18047 null and TS2339 EventTarget).\n- SettingsDrawer: move navigator/localStorage access out of the template\n  into script-setup refs and handlers (gridSnap, autosave, maxHistory\n  + copyServerUrl / on*Change). vue-tsc type-checks template expressions\n  against the component proxy, so DOM globals must be reached from\n  script-setup scope where they resolve correctly.",
          "is_bot": false,
          "headline": "fix(webui-frontend): resolve vue-tsc errors in EditorToolbar and Sett…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-05T15:50:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f7252e1b30a4ca3dccb917a4a7fc24b1b3236ab",
          "body": "- Implement Skill YAML/JSON schema with loader and directory scanner\n- Integrate skills into Role with validation and example files\n- Add comprehensive tests for skill system functionality\n- Update README to reflect completed skill system features\n\nrefactor(memory): improve memory implementation\n\n- \n[…]\n standalone fabricatio-router crate\n\n- Move Router from fabricatio-core to dedicated router crate\n- Implement concurrent safe Thryd router usage\n- Update build workflow to use Justfile for consistency",
          "is_bot": false,
          "headline": "feat(skills): complete texts-based skill system implementation",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-05T12:24:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "25ce9fc5e651ea00ed5032d1bf791ab441f83f6f",
          "body": "…d JSON files\n\n- Introduce LoadNovelFromPersistent action to load novels from disk\n- Add 'i' CLI command for illustrating from persisted novel files\n- Create IllustrateLoadedNovelWorkflow for load-then-illustrate pipeline\n- Update CLI documentation to include new 'i' command option\n- Bump package version from 0.1 to 0.10.2",
          "is_bot": false,
          "headline": "feat(illustration): add capability to illustrate novels from persiste…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-05T12:24:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1c79ad9b547dbc6d00a069b9e29f99c620e7fb1a",
          "body": "…ration UI\n\n- Add ExecutionPanel component with real-time execution monitoring\n- Implement WebSocket subscription for live execution updates\n- Create FabricatioNode component with status indicators and streaming preview\n- Add NodeConfigPanel for detailed node configuration and editing\n- Implement ex\n[…]\necution states (queued, running, done, error)\n- Create responsive layout with collapsible sections\n- Add error handling and display capabilities\n- Implement proper TypeScript typing for all components",
          "is_bot": false,
          "headline": "feat(workflow): add comprehensive workflow execution and node configu…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-05T11:42:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4c2e510d83e3ff1e68bc84747aa692326db7bf9a",
          "body": "…finitions\n\n- Replace inline command implementations with import-based registration system\n- Add comprehensive module documentation explaining command structure and layout\n- Remove duplicate helper functions and command logic from main CLI file\n- Streamline imports and reduce file size from 1484 lines to 36 lines\n- Maintain existing command functionality through separate command modules\n- Update module docstring to reflect new architecture with command submodules",
          "is_bot": false,
          "headline": "refactor(cli): simplify CLI entry point by removing inline command de…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-05T11:41:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9340ad8f3ee8ca26b3d12e8fc1e69b6e848293da",
          "body": null,
          "is_bot": false,
          "headline": "chore(novel): bump version to 0.10.0",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-03T17:35:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9046fad20388d8f5fdd0ee30acb1138b0f700ae",
          "body": null,
          "is_bot": false,
          "headline": "test(novel): add tests for refined-query RAG wiring",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-03T17:35:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16e14a62b0df4bace5730ec6ee852df520ae98b4",
          "body": null,
          "is_bot": false,
          "headline": "style(novel): drop stray blank line in novel_enrich workflow",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-03T17:35:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6299f7aaf3871ca2e0c0e480288a667a6f78eca3",
          "body": null,
          "is_bot": false,
          "headline": "feat(novel): add --use-refined-query flags to wr/wrm/wri commands",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-03T17:34:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fad161fd2b717c1e87e266f5bf95691cc94a6778",
          "body": null,
          "is_bot": false,
          "headline": "feat(novel): expose refinement convenience fields on RAG action",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-03T17:34:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b822d9c0a05df537ca2a3957284c577eb118f23",
          "body": "…leToScript actions",
          "is_bot": false,
          "headline": "refactor(novel): remove unused RetrieveWritingStyles/InjectWritingSty…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-03T17:33:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2643c1c317dafc3871201f9e63b2a39c11fbbc1c",
          "body": null,
          "is_bot": false,
          "headline": "feat(novel): add refined-query and multi-query fetch to NovelComposeRAG",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-03T17:30:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54a8612641f5d89d34fe1a4eb8c51315c1cdf09a",
          "body": null,
          "is_bot": false,
          "headline": "feat(novel): expose writing_style_query on NovelRAGKwargs",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-03T17:30:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be7ee2853166ae805d8483fb6a6e9feb29400a90",
          "body": null,
          "is_bot": false,
          "headline": "feat(novel): add WritingStyleFetchConfig refined-query fields",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-03T17:29:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2894cb420260b2f98262eac818da80a9619a5ee7",
          "body": null,
          "is_bot": false,
          "headline": "chore(novel): bump version to 0.9.0",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:08:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "583ddb9197d9190adfb87113c50372f24797213d",
          "body": "…ichedTexts",
          "is_bot": false,
          "headline": "test(novel): add integration tests for enrich capability and StoreEnr…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:08:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6ad824b4148e9bba7aed7ecd18f2ce38138d211",
          "body": "… CLI command",
          "is_bot": false,
          "headline": "feat(novel): add StoreEnrichedTexts action, workflow, and enrich-refs…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:08:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c660e2ab091b714b76c359a64adc20c0a2c8248",
          "body": "…odel, and NovelConfig",
          "is_bot": false,
          "headline": "feat(novel): add EnrichChunkTextNovel capability, enriched document m…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:08:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68287ff73784200c801bf7f7f1f42ad8132e10b5",
          "body": null,
          "is_bot": false,
          "headline": "chore(diff): bump version to 0.4.0",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:07:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0fcea8105648d86267e9fb19a1ac0c811601b0fa",
          "body": null,
          "is_bot": false,
          "headline": "test(diff): add tests for HashlineEdit capability",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:07:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e867d3ab3c630cb8b8e4f9a0221fe46ef4cd27f7",
          "body": null,
          "is_bot": false,
          "headline": "feat(diff): add HashlineEdit capability with LLM self-correcting loop",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:07:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99d570e20c43491c00d62234f61e35d22fb2c517",
          "body": "…iffConfig",
          "is_bot": false,
          "headline": "feat(diff): add hashline_diff and hashline_judge template fields to D…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:07:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d2e3acef95adbb36115af4ce9cd32c8307ff0e1",
          "body": "…er exports",
          "is_bot": false,
          "headline": "feat(diff): add HashLineType vocabulary and per-pair ContentBlockPars…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:07:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a1e896291dfb8597bf082573cc846dcc44304cb0",
          "body": null,
          "is_bot": false,
          "headline": "chore(rag): bump version to 0.6.0",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:07:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3bf5245a2fc31ae2f704b9ecd700e318811cca6",
          "body": "…nkText",
          "is_bot": false,
          "headline": "test(rag): add tests for PreciseChunkText, CleanCorpus, and EnrichChu…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:06:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57df0911e679d9024585e096c2020d015b0b1f86",
          "body": null,
          "is_bot": false,
          "headline": "feat(rag): add EnrichChunkText capability for LLM-generated QA pairs",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:06:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "22617a0c44488ab6a338324dd9bb6a33b18e05fe",
          "body": "…giene",
          "is_bot": false,
          "headline": "feat(rag): add CleanCorpus capability and action for pre-embedding hy…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:06:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "48557f54cf277df1d1a341e2d37f21d6df85995e",
          "body": "…chunking",
          "is_bot": false,
          "headline": "feat(rag): add PreciseChunkText capability and action for LLM-guided …",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:05:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c75a9ba4015f2b85726869e7161740d9bb283f04",
          "body": "…rich_qa",
          "is_bot": false,
          "headline": "feat(rag): add QAModel and template settings for precise_chunk and en…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:05:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7bae940b2aacf453bbec24f183150cb62c2e0630",
          "body": "…a, enriched_as_prompt",
          "is_bot": false,
          "headline": "feat(templates): add rag prompt templates for precise_chunk, enrich_q…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T17:05:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f69fea0f72680bd5a5de22b4655f74e97bac94d8",
          "body": "- Generate comprehensive type annotations for all exported symbols\n- Include detailed docstrings for classes and methods\n- Add proper type hints for function parameters and return values\n- Define type variables and generic constraints\n- Document all configuration structures and their properties\n- Sp\n[…]\nsync return types for coroutine functions\n- Add overload signatures for polymorphic methods\n- Include enum definitions and constant declarations\n- Provide proper typing for callback and event handlers",
          "is_bot": false,
          "headline": "feat(python): add Python type stubs for Rust bindings",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-07-02T16:37:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a0cf81585a286d20f591aa1d031cbe940afd24a5",
          "body": "- Update fabricatio-diff from version 0.2.11 to 0.3.0\n- Update fabricatio-rag from version 0.4.3 to 0.5.0\n- Add chunk dependency group with fabricatio-diff\n- Add clean dependency group with fabricatio-diff\n- Maintain existing dev and rag dependencies unchanged",
          "is_bot": false,
          "headline": "chore(version): bump package versions and add chunk/clean dependencies",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-29T17:43:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af990767a1c0467f438bfb0b2a0993da33fc9cfe",
          "body": null,
          "is_bot": false,
          "headline": "chore(comfyui,novel): bump versions to 0.3.3 and 0.8.4",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-27T15:41:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ac1eeb607f30cfe05adef6c43e08abc145d90c3",
          "body": "…on config\n\nBundle workflow_template, budget, language, guideline, prompt_guideline,\ncomfyui_timeout into a single dataclass. Replace positional params with\nopts: IllustrationOptions in illustrate_novel and supporting methods.\nAdd comfyui_base_url to IllustrationContext.",
          "is_bot": false,
          "headline": "refactor(novel): extract IllustrationOptions dataclass for illustrati…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-27T15:41:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d58716ce44b80faa5ddb89673ba0a9a8605508e",
          "body": "…mands\n\nExpose -cb / --comfyui-base-url on wi, wmi, wri, wrmi commands,\ndefaulting to NOVEL_COMFYUI_BASE_URL env var.",
          "is_bot": false,
          "headline": "feat(novel): add --comfyui-base-url option to all illustrated CLI com…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-27T15:39:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da53fdfd43baa4ec2e5f0983fe800a67d5b7a6b8",
          "body": "…tions\n\nIllustrateNovel now accepts IllustrationOptions and comfyui_base_url,\npassing them to the capability layer.",
          "is_bot": false,
          "headline": "feat(novel): wire IllustrationOptions and comfyui_base_url through ac…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-27T15:39:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a85ce46464875998e1e9727135aafbd9513a40d",
          "body": null,
          "is_bot": false,
          "headline": "fix(comfyui): update test for download_dirs → download_dir rename",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-27T15:39:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c29844138ffecce47d661a891a39071e4b9df403",
          "body": "Unify single/batch generate API: GenerateKwargs.download_dir now\naccepts str | Path | list[str | Path | None]. Drop Unpack pattern\nin favor of explicit keyword-only parameters.",
          "is_bot": false,
          "headline": "refactor(comfyui): merge GenerateBatchKwargs into GenerateKwargs",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-27T15:39:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "277b55a07926d2f46b73414dcd1d65ba275c7768",
          "body": null,
          "is_bot": false,
          "headline": "chore(novel): bump version to 0.8.3",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-26T13:39:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8e2c96addbdb0677d0cba7d4430f0b26badc12c",
          "body": null,
          "is_bot": false,
          "headline": "refactor(novel): parallelize scene-level RAG fetches with asyncio.gather",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-26T13:39:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d45dcbb3fc3a314e32053f3754d34b6bab347f2b",
          "body": null,
          "is_bot": false,
          "headline": "feat(novel): add Scene.bulk_append method for batch prompt injection",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-26T13:39:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f064ff690d9f0bef951c1e63098f4631a137f2d8",
          "body": "…tionary mapping\n\n- Changed characters_present from List[str] to Dict[str, str] for detailed acting scripts\n- Updated field documentation to reflect character name to script mapping\n- Modified handlebars template to render character-script pairs as \"name(script)\"\n- Adjusted template logic to iterate over dictionary key-value pairs instead of simple list",
          "is_bot": false,
          "headline": "refactor(scripting): update character presence model from list to dic…",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-26T13:17:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bc85214367b7d90f28a78eb0907e5a6a82dbdfd",
          "body": null,
          "is_bot": false,
          "headline": "chore(novel): bump version to 0.8.2",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-26T13:00:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aceccbb09a6be3c655a4a1a2bf55046f187c86e3",
          "body": null,
          "is_bot": false,
          "headline": "feat(novel): add --reranker flag to RAG CLI commands",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-26T13:00:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09382adcd3ab647cedf615819af00c066820b996",
          "body": null,
          "is_bot": false,
          "headline": "feat(novel): wire use_reranker through RAG and mental RAG actions",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-26T13:00:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b1a7d4f974058937d3b4a4509246e5bb8fed381",
          "body": null,
          "is_bot": false,
          "headline": "refactor(novel): inherit NovelComposeRAG in mental RAG capability",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-26T13:00:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "95a70132b672d9db430020b4f6ab1a3bcdb53e01",
          "body": null,
          "is_bot": false,
          "headline": "feat(novel): add fetch_and_rerank method with mutation fix",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-26T13:00:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e38484b799acfba785165a59a623639185c278bb",
          "body": null,
          "is_bot": false,
          "headline": "feat(novel): add reranker configuration and kwargs support",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-26T13:00:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8309a1bfcec1ab0ccfc498f2a677d9f586e856f8",
          "body": null,
          "is_bot": false,
          "headline": "chore(novel): bump version to 0.8.1",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-25T17:39:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03f8f78a004e4897bb22b0aa9dd26aacbed547a5",
          "body": "Update render_script.hbs to display location, when, purpose, mood\nas a pipe-separated header and characters_present as a cast line\nbefore each scene's narrative content.",
          "is_bot": false,
          "headline": "feat(novel): render 5W2H scene metadata in script template",
          "author_name": "Whth",
          "author_login": "Whth",
          "committed_at": "2026-06-25T17:39:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 1265,
      "latest_release_at": "2026-07-25T22:15:33Z",
      "latest_release_tag": "v0.33.0-dev5",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 44,
      "days_since_latest_release": 0,
      "mean_days_between_releases": 4.1
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 85,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "fabricatio",
          "exists": true,
          "license": null,
          "keywords": [
            "ai",
            "agents",
            "multi-agent",
            "llm",
            "pyo3",
            "Framework :: AsyncIO",
            "Framework :: Pydantic :: 2",
            "License :: OSI Approved :: MIT License",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13",
            "Programming Language :: Python :: 3.14",
            "Programming Language :: Python :: Implementation :: CPython",
            "Programming Language :: Rust",
            "Typing :: Typed"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/fabricatio/",
          "is_deprecated": false,
          "latest_version": "0.32.3",
          "repository_url": "https://github.com/Whth/fabricatio",
          "versions_count": 260,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2025-02-09T15:58:12.007807Z",
          "latest_published_at": "2026-06-24T18:00:18.618100Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 31
        }
      ]
    },
    "popularity": {
      "forks": 2,
      "stars": 8,
      "watchers": 3,
      "fork_history": {
        "days": [
          {
            "date": "2025-04-10",
            "count": 1
          },
          {
            "date": "2026-03-13",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 2,
        "total_forks": 2
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Justfile",
        "docs/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "packages/fabricatio-actions/python/fabricatio_actions/py.typed",
        "packages/fabricatio-agent/python/fabricatio_agent/py.typed",
        "packages/fabricatio-anki/python/fabricatio_anki/py.typed",
        "packages/fabricatio-capabilities/python/fabricatio_capabilities/py.typed",
        "packages/fabricatio-capable/python/fabricatio_capable/py.typed",
        "packages/fabricatio-character/python/fabricatio_character/py.typed",
        "packages/fabricatio-checkpoint/python/fabricatio_checkpoint/py.typed",
        "packages/fabricatio-comfyui/python/fabricatio_comfyui/py.typed",
        "packages/fabricatio-core/python/fabricatio_core/py.typed",
        "packages/fabricatio-diff/python/fabricatio_diff/py.typed",
        "packages/fabricatio-digest/python/fabricatio_digest/py.typed",
        "packages/fabricatio-improve/python/fabricatio_improve/py.typed",
        "packages/fabricatio-judge/python/fabricatio_judge/py.typed",
        "packages/fabricatio-lancedb/python/fabricatio_lancedb/py.typed",
        "packages/fabricatio-locale/python/fabricatio_locale/py.typed",
        "packages/fabricatio-memory/python/fabricatio_memory/py.typed",
        "packages/fabricatio-milvus/python/fabricatio_milvus/py.typed",
        "packages/fabricatio-mock/python/fabricatio_mock/py.typed",
        "packages/fabricatio-novel/python/fabricatio_novel/py.typed",
        "packages/fabricatio-plot/python/fabricatio_plot/py.typed",
        "packages/fabricatio-question/python/fabricatio_question/py.typed",
        "packages/fabricatio-rag/python/fabricatio_rag/py.typed",
        "packages/fabricatio-rule/python/fabricatio_rule/py.typed",
        "packages/fabricatio-sandbox/python/fabricatio_sandbox/py.typed",
        "packages/fabricatio-skill/python/fabricatio_skill/py.typed",
        "packages/fabricatio-tagging/python/fabricatio_tagging/py.typed",
        "packages/fabricatio-team/python/fabricatio_team/py.typed",
        "packages/fabricatio-tei/python/fabricatio_tei/py.typed",
        "packages/fabricatio-thinking/python/fabricatio_thinking/py.typed",
        "packages/fabricatio-tool/python/fabricatio_tool/py.typed",
        "packages/fabricatio-translate/python/fabricatio_translate/py.typed",
        "packages/fabricatio-typst/python/fabricatio_typst/py.typed",
        "packages/fabricatio-webui/frontend/tsconfig.json",
        "packages/fabricatio-webui/python/fabricatio_webui/py.typed",
        "packages/fabricatio-workspace/python/fabricatio_workspace/py.typed",
        "packages/fabricatio-yue/python/fabricatio_yue/py.typed",
        "python/fabricatio/py.typed"
      ],
      "toolchain_manifests": [
        "Cargo.toml",
        "crates/deck_loader/Cargo.toml",
        "crates/error-mapping/Cargo.toml",
        "crates/fabricatio-config/Cargo.toml",
        "crates/fabricatio-constants/Cargo.toml",
        "crates/fabricatio-logger/Cargo.toml",
        "crates/fabricatio-router/Cargo.toml",
        "crates/fabricatio-stubgen/Cargo.toml",
        "crates/macro-utils/Cargo.toml",
        "crates/mcp-manager/Cargo.toml",
        "crates/scanner/Cargo.toml",
        "crates/signify/Cargo.toml",
        "crates/tex-convertor/Cargo.toml",
        "crates/thryd/Cargo.toml",
        "crates/utils/Cargo.toml",
        "packages/fabricatio-agent/Cargo.toml",
        "packages/fabricatio-anki/Cargo.toml",
        "packages/fabricatio-checkpoint/Cargo.toml",
        "packages/fabricatio-core/Cargo.toml",
        "packages/fabricatio-diff/Cargo.toml",
        "packages/fabricatio-lancedb/Cargo.toml",
        "packages/fabricatio-locale/Cargo.toml",
        "packages/fabricatio-memory/Cargo.toml",
        "packages/fabricatio-novel/Cargo.toml",
        "packages/fabricatio-sandbox/Cargo.toml",
        "packages/fabricatio-skill/Cargo.toml",
        "packages/fabricatio-tei/Cargo.toml",
        "packages/fabricatio-thinking/Cargo.toml",
        "packages/fabricatio-tool/Cargo.toml",
        "packages/fabricatio-typst/Cargo.toml",
        "packages/fabricatio-webui/Cargo.toml",
        "packages/fabricatio-workspace/Cargo.toml"
      ],
      "largest_source_bytes": 68031,
      "source_files_sampled": 645,
      "oversized_source_files": 1,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "Cargo.toml",
        "pyproject.toml"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 14,
        "malicious_count": 0,
        "assessed_package": "pypi:fabricatio@0.32.3",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "crates",
        "pypi"
      ],
      "dependencies": [
        {
          "name": "pyo3",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.29.0"
        },
        {
          "name": "reqwest",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.13.4"
        },
        {
          "name": "tar",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4.46"
        },
        {
          "name": "flate2",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.1.9"
        },
        {
          "name": "clap",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "4.6.1"
        },
        {
          "name": "colored",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "3.1.1"
        },
        {
          "name": "chrono",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4.45"
        },
        {
          "name": "indicatif",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.18.6"
        },
        {
          "name": "glob",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.3.3"
        },
        {
          "name": "octocrab",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.53.1"
        },
        {
          "name": "once_cell",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.21.4"
        },
        {
          "name": "thiserror",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "2.0.18"
        },
        {
          "name": "tokio",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.52.3"
        },
        {
          "name": "human-units",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.5.3"
        },
        {
          "name": "walkdir",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "2.5.0"
        },
        {
          "name": "fabricatio-constants",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "rustls",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.23"
        },
        {
          "name": "fabricatio-core",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "chrono",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "clap",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "colored",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "flate2",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "glob",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "human-units",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "indicatif",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "octocrab",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "once_cell",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "pyo3",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "reqwest",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rustls",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tar",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "thiserror",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tokio",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "walkdir",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "arrow-array",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "arrow-schema",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-openai",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-trait",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "axum",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "base64",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "biblatex",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "blake3",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "cached",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "cfg-if",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "criterion",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "csv",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "dashmap",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "directories-next",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "dotenvy",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "epub-builder",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "eventsource-stream",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "figment",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "futures",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "futures-util",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "genanki-rs-rev",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "git2",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "handlebars",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "heck",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "heed",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "http",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "indoc",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "infer",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "lancedb",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "llm_json",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "mime_guess",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "moka",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "nucleo-matcher",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "pep508_rs",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "polib",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "postcard",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-async-runtimes",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-build-config",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "pyo3-stub-gen",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "pythonize",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "quote",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rayon",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "regex",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rho-hashline",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rmcp",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rustpython-ast",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rustpython-parser",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "sanitize-filename",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "secrecy",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serde",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serde_json",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serde_yaml2",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "similar",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "strsim",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "strum",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "strum_macros",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "syn",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tantivy",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tempfile",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tex2typst-rs",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tiktoken-rs",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tonic",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tower-http",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tracing",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tracing-appender",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tracing-subscriber",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "unicode-segmentation",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "url",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "validator",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "vfs",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "which",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "whichlang",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "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.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.28.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "8.0.0-rc.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-annotate-as-pure",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-create-class-features-plugin",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-member-expression-to-functions",
            "direct": false,
            "version": "7.29.7",
            "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-optimise-call-expression",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-replace-supers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-skip-transparent-expression-wrappers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "8.0.0-rc.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "8.0.0-rc.6",
            "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.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "8.0.0-rc.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-decorators",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-decorators",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-import-attributes",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-import-meta",
            "direct": false,
            "version": "7.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-jsx",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-typescript",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-typescript",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "8.0.0-rc.6",
            "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.1",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-color-parser",
            "direct": false,
            "version": "4.1.3",
            "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.5",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-tokenizer",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.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/config-array",
            "direct": false,
            "version": "0.23.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "@exodus/bytes",
            "direct": false,
            "version": "1.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/core",
            "direct": false,
            "version": "0.19.2",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/node",
            "direct": false,
            "version": "0.16.8",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/types",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "8.0.2",
            "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": "@lucide/vue",
            "direct": false,
            "version": "1.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.5",
            "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": "@one-ini/wasm",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.133.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgjs/parseargs",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgr/core",
            "direct": false,
            "version": "0.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "@polka/url",
            "direct": false,
            "version": "1.0.0-next.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node24",
            "direct": false,
            "version": "24.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/esrecurse",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsdom",
            "direct": false,
            "version": "28.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsesc",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "24.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "25.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/tough-cookie",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/web-bluetooth",
            "direct": false,
            "version": "0.0.18",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "8.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "8.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "8.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "8.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-vue",
            "direct": false,
            "version": "6.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/eslint-plugin",
            "direct": false,
            "version": "1.6.20",
            "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": "@volar/language-core",
            "direct": false,
            "version": "2.4.28",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/source-map",
            "direct": false,
            "version": "2.4.28",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/typescript",
            "direct": false,
            "version": "2.4.28",
            "ecosystem": "npm"
          },
          {
            "name": "@vue-flow/background",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue-flow/controls",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@vue-flow/core",
            "direct": false,
            "version": "1.48.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue-flow/minimap",
            "direct": false,
            "version": "1.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue-macros/common",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/babel-helper-vue-transform-on",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/babel-plugin-jsx",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/babel-plugin-resolve-type",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.5.26",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.5.26",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-sfc",
            "direct": false,
            "version": "3.5.26",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-sfc",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.5.26",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "7.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-core",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-kit",
            "direct": false,
            "version": "7.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-kit",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-shared",
            "direct": false,
            "version": "7.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-shared",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/eslint-config-prettier",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/eslint-config-typescript",
            "direct": false,
            "version": "14.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/language-core",
            "direct": false,
            "version": "3.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/reactivity",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-core",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-dom",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/server-renderer",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.5.26",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/test-utils",
            "direct": false,
            "version": "2.4.11",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/tsconfig",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/core",
            "direct": false,
            "version": "10.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/metadata",
            "direct": false,
            "version": "10.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/shared",
            "direct": false,
            "version": "10.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "abbrev",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "alien-signals",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "ansis",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ast-kit",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "ast-kit",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ast-walker-scope",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.36",
            "ecosystem": "npm"
          },
          {
            "name": "bidi-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "birpc",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "birpc",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "boolbase",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.2",
            "ecosystem": "npm"
          },
          {
            "name": "bundle-name",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001799",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "10.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "config-chain",
            "direct": false,
            "version": "1.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "copy-anything",
            "direct": false,
            "version": "4.0.5",
            "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": "d3-color",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dispatch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-drag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-ease",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-interpolate",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-selection",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-timer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-transition",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-zoom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "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": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "default-browser",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "default-browser-id",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "define-lazy-prop",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "eastasianwidth",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "editorconfig",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.372",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "error-stack-parser-es",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "10.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-prettier",
            "direct": false,
            "version": "10.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-prettier",
            "direct": false,
            "version": "5.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-vue",
            "direct": false,
            "version": "10.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "9.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "11.2.0",
            "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-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": "exsolve",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-diff",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-glob",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "10.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hookable",
            "direct": false,
            "version": "5.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "html-encoding-sniffer",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "7.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "is-docker",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-in-ssh",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-inside-container",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.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": "is-wsl",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-beautify",
            "direct": false,
            "version": "1.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "js-cookie",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.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": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "kolorist",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "local-pkg",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "10.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string-ast",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdn-data",
            "direct": false,
            "version": "2.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "memorystream",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mitt",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mlly",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "mrmime",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "muggle-string",
            "direct": false,
            "version": "0.4.1",
            "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.47",
            "ecosystem": "npm"
          },
          {
            "name": "nopt",
            "direct": false,
            "version": "7.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "npm-normalize-package-bin",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-all2",
            "direct": false,
            "version": "9.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "nth-check",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ohash",
            "direct": false,
            "version": "2.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "open",
            "direct": false,
            "version": "11.0.0",
            "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": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-browserify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "perfect-debounce",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "perfect-debounce",
            "direct": false,
            "version": "2.1.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": "pidtree",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pinia",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.13",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-selector-parser",
            "direct": false,
            "version": "7.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "powershell-utils",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "prettier-linter-helpers",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "proto-list",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "quansync",
            "direct": false,
            "version": "0.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "read-package-json-fast",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "run-applescript",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "saxes",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "scule",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.4",
            "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": "shell-quote",
            "direct": false,
            "version": "1.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "sirv",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "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": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "superjson",
            "direct": false,
            "version": "2.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "symbol-tree",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "synckit",
            "direct": false,
            "version": "0.11.13",
            "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.16",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tldts",
            "direct": false,
            "version": "7.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "tldts-core",
            "direct": false,
            "version": "7.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "totalist",
            "direct": false,
            "version": "3.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": "ts-api-utils",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript-eslint",
            "direct": false,
            "version": "8.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "ufo",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "7.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.24.6",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin-utils",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "vite-dev-rpc",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite-hot-client",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-inspect",
            "direct": false,
            "version": "11.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-vue-devtools",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-vue-inspector",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-uri",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": false,
            "version": "3.5.38",
            "ecosystem": "npm"
          },
          {
            "name": "vue-component-type-helpers",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "vue-demi",
            "direct": false,
            "version": "0.14.10",
            "ecosystem": "npm"
          },
          {
            "name": "vue-eslint-parser",
            "direct": false,
            "version": "10.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "vue-router",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue-tsc",
            "direct": false,
            "version": "3.3.5",
            "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": "webpack-virtual-modules",
            "direct": false,
            "version": "0.6.2",
            "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": "which",
            "direct": false,
            "version": "7.0.0",
            "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": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "wsl-utils",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "xml-name-validator",
            "direct": false,
            "version": "4.0.0",
            "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": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "asyncio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "asyncstdlib",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "coveralls",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "fabricatio-capabilities",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "fabricatio-mock",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "fabricatio-tool",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "matplotlib",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "maturin",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "more-itertools",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "myst-parser",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "openpyxl",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "orjson",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pip",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyarrow",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pymilvus",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pyright",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-asyncio",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-cov",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-mock",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "questionary",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ruff",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "rust-just",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-autoapi",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-autodoc-typehints",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-copybutton",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-design",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-intl",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-rtd-theme",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-togglebutton",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-mermaid",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "typer",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "typst",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "uv",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "viztracer",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 594,
        "direct_count": 16,
        "indirect_count": 578
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 15,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "Whth",
          "commits": 3155,
          "avatar_url": "https://avatars.githubusercontent.com/u/88489697?v=4"
        },
        {
          "type": "User",
          "login": "nianzisi",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/46019961?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.999
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build-package.yaml",
        "ruff.yaml",
        "tests.yaml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": true,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "pnpm-lock.yaml"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 0 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": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "12 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "38594a5a99a64e3ad2e1e1d98d8ee54d919f1e0f",
        "ran_at": "2026-07-25T22:39:07Z",
        "aggregate_score": 3.6,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-25T22:16:04Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-05-25T17:30:47Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Whth/fabricatio",
    "host": "github.com",
    "name": "fabricatio",
    "owner": "Whth"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 65,
      "inputs": {
        "security": 49,
        "vitality": 92,
        "community": 51,
        "governance": 53,
        "engineering": 77
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 92,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 94,
            "inputs": {
              "commits_last_year": 1265,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 44
            },
            "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": "44/52 weeks with commits",
                "points": 30.5,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 44
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "1265 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 1265
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v0.33.0-dev5",
              "releases_from_tags": false,
              "days_since_latest_release": 0,
              "mean_days_between_releases": 4.1
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~4.1 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 4.1
                    }
                  }
                ],
                "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": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 51,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 15,
            "inputs": {
              "forks": 2,
              "stars": 8,
              "watchers": 3,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "8 stars",
                "points": 13.7,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 8
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "2 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "3 watchers",
                "points": 1.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "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 (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 53,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 12,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.999
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 100% of commits",
                "points": 0,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "2 contributors",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 72,
            "inputs": {
              "merged_prs": 15,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "15/15 decided PRs merged",
                "points": 38.2,
                "status": "met",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 15,
                      "decided": 15
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 44,
            "inputs": {
              "followers": 3,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "Whth",
              "public_repos": 33,
              "account_age_days": 1815
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "3 followers of Whth",
                "points": 4.3,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 3,
                      "login": "Whth"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "33 public repos, account ~4 yr old",
                "points": 21.1,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 33
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 4
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "fabricatio"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 31
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 31 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 31
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "260 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 260
                    }
                  }
                ],
                "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": "good",
        "name": "Engineering Quality",
        "value": 77,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 68,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "3 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [
                "agentic-ai",
                "llm",
                "workflow",
                "ai",
                "framework",
                "harness-framework",
                "multi-agent"
              ],
              "has_wiki": false,
              "homepage": "https://pypi.org/project/fabricatio/",
              "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://pypi.org/project/fabricatio/",
                "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": "7 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 49,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 36,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 3.6
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 0 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 not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "12 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:fabricatio@0.32.3 runtime dependency closure — what installing the published package pulls in — 14 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "pypi:fabricatio@0.32.3",
                  "assessed": 14
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 14,
              "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": "excellent",
            "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": 14,
              "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
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 55,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "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": "100 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 100,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "pnpm-lock.yaml"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [
                "Justfile",
                "docs/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "packages/fabricatio-actions/python/fabricatio_actions/py.typed",
                "packages/fabricatio-agent/python/fabricatio_agent/py.typed",
                "packages/fabricatio-anki/python/fabricatio_anki/py.typed",
                "packages/fabricatio-capabilities/python/fabricatio_capabilities/py.typed",
                "packages/fabricatio-capable/python/fabricatio_capable/py.typed",
                "packages/fabricatio-character/python/fabricatio_character/py.typed",
                "packages/fabricatio-checkpoint/python/fabricatio_checkpoint/py.typed",
                "packages/fabricatio-comfyui/python/fabricatio_comfyui/py.typed",
                "packages/fabricatio-core/python/fabricatio_core/py.typed",
                "packages/fabricatio-diff/python/fabricatio_diff/py.typed",
                "packages/fabricatio-digest/python/fabricatio_digest/py.typed",
                "packages/fabricatio-improve/python/fabricatio_improve/py.typed",
                "packages/fabricatio-judge/python/fabricatio_judge/py.typed",
                "packages/fabricatio-lancedb/python/fabricatio_lancedb/py.typed",
                "packages/fabricatio-locale/python/fabricatio_locale/py.typed",
                "packages/fabricatio-memory/python/fabricatio_memory/py.typed",
                "packages/fabricatio-milvus/python/fabricatio_milvus/py.typed",
                "packages/fabricatio-mock/python/fabricatio_mock/py.typed",
                "packages/fabricatio-novel/python/fabricatio_novel/py.typed",
                "packages/fabricatio-plot/python/fabricatio_plot/py.typed",
                "packages/fabricatio-question/python/fabricatio_question/py.typed",
                "packages/fabricatio-rag/python/fabricatio_rag/py.typed",
                "packages/fabricatio-rule/python/fabricatio_rule/py.typed",
                "packages/fabricatio-sandbox/python/fabricatio_sandbox/py.typed",
                "packages/fabricatio-skill/python/fabricatio_skill/py.typed",
                "packages/fabricatio-tagging/python/fabricatio_tagging/py.typed",
                "packages/fabricatio-team/python/fabricatio_team/py.typed",
                "packages/fabricatio-tei/python/fabricatio_tei/py.typed",
                "packages/fabricatio-thinking/python/fabricatio_thinking/py.typed",
                "packages/fabricatio-tool/python/fabricatio_tool/py.typed",
                "packages/fabricatio-translate/python/fabricatio_translate/py.typed",
                "packages/fabricatio-typst/python/fabricatio_typst/py.typed",
                "packages/fabricatio-webui/frontend/tsconfig.json",
                "packages/fabricatio-webui/python/fabricatio_webui/py.typed",
                "packages/fabricatio-workspace/python/fabricatio_workspace/py.typed",
                "packages/fabricatio-yue/python/fabricatio_yue/py.typed",
                "python/fabricatio/py.typed"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "Cargo.toml",
                "crates/deck_loader/Cargo.toml",
                "crates/error-mapping/Cargo.toml",
                "crates/fabricatio-config/Cargo.toml",
                "crates/fabricatio-constants/Cargo.toml",
                "crates/fabricatio-logger/Cargo.toml",
                "crates/fabricatio-router/Cargo.toml",
                "crates/fabricatio-stubgen/Cargo.toml",
                "crates/macro-utils/Cargo.toml",
                "crates/mcp-manager/Cargo.toml",
                "crates/scanner/Cargo.toml",
                "crates/signify/Cargo.toml",
                "crates/tex-convertor/Cargo.toml",
                "crates/thryd/Cargo.toml",
                "crates/utils/Cargo.toml",
                "packages/fabricatio-agent/Cargo.toml",
                "packages/fabricatio-anki/Cargo.toml",
                "packages/fabricatio-checkpoint/Cargo.toml",
                "packages/fabricatio-core/Cargo.toml",
                "packages/fabricatio-diff/Cargo.toml",
                "packages/fabricatio-lancedb/Cargo.toml",
                "packages/fabricatio-locale/Cargo.toml",
                "packages/fabricatio-memory/Cargo.toml",
                "packages/fabricatio-novel/Cargo.toml",
                "packages/fabricatio-sandbox/Cargo.toml",
                "packages/fabricatio-skill/Cargo.toml",
                "packages/fabricatio-tei/Cargo.toml",
                "packages/fabricatio-thinking/Cargo.toml",
                "packages/fabricatio-tool/Cargo.toml",
                "packages/fabricatio-typst/Cargo.toml",
                "packages/fabricatio-webui/Cargo.toml",
                "packages/fabricatio-workspace/Cargo.toml"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Justfile, docs/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Justfile, docs/Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "packages/fabricatio-actions/python/fabricatio_actions/py.typed, packages/fabricatio-agent/python/fabricatio_agent/py.typed, packages/fabricatio-anki/python/fabricatio_anki/py.typed, packages/fabricatio-capabilities/python/fabricatio_capabilities/py.typed, packages/fabricatio-capable/python/fabricatio_capable/py.typed, packages/fabricatio-character/python/fabricatio_character/py.typed, packages/fabricatio-checkpoint/python/fabricatio_checkpoint/py.typed, packages/fabricatio-comfyui/python/fabricatio_comfyui/py.typed, packages/fabricatio-core/python/fabricatio_core/py.typed, packages/fabricatio-diff/python/fabricatio_diff/py.typed, packages/fabricatio-digest/python/fabricatio_digest/py.typed, packages/fabricatio-improve/python/fabricatio_improve/py.typed, packages/fabricatio-judge/python/fabricatio_judge/py.typed, packages/fabricatio-lancedb/python/fabricatio_lancedb/py.typed, packages/fabricatio-locale/python/fabricatio_locale/py.typed, packages/fabricatio-memory/python/fabricatio_memory/py.typed, packages/fabricatio-milvus/python/fabricatio_milvus/py.typed, packages/fabricatio-mock/python/fabricatio_mock/py.typed, packages/fabricatio-novel/python/fabricatio_novel/py.typed, packages/fabricatio-plot/python/fabricatio_plot/py.typed, packages/fabricatio-question/python/fabricatio_question/py.typed, packages/fabricatio-rag/python/fabricatio_rag/py.typed, packages/fabricatio-rule/python/fabricatio_rule/py.typed, packages/fabricatio-sandbox/python/fabricatio_sandbox/py.typed, packages/fabricatio-skill/python/fabricatio_skill/py.typed, packages/fabricatio-tagging/python/fabricatio_tagging/py.typed, packages/fabricatio-team/python/fabricatio_team/py.typed, packages/fabricatio-tei/python/fabricatio_tei/py.typed, packages/fabricatio-thinking/python/fabricatio_thinking/py.typed, packages/fabricatio-tool/python/fabricatio_tool/py.typed, packages/fabricatio-translate/python/fabricatio_translate/py.typed, packages/fabricatio-typst/python/fabricatio_typst/py.typed, packages/fabricatio-webui/frontend/tsconfig.json, packages/fabricatio-webui/python/fabricatio_webui/py.typed, packages/fabricatio-workspace/python/fabricatio_workspace/py.typed, packages/fabricatio-yue/python/fabricatio_yue/py.typed, python/fabricatio/py.typed",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "packages/fabricatio-actions/python/fabricatio_actions/py.typed, packages/fabricatio-agent/python/fabricatio_agent/py.typed, packages/fabricatio-anki/python/fabricatio_anki/py.typed, packages/fabricatio-capabilities/python/fabricatio_capabilities/py.typed, packages/fabricatio-capable/python/fabricatio_capable/py.typed, packages/fabricatio-character/python/fabricatio_character/py.typed, packages/fabricatio-checkpoint/python/fabricatio_checkpoint/py.typed, packages/fabricatio-comfyui/python/fabricatio_comfyui/py.typed, packages/fabricatio-core/python/fabricatio_core/py.typed, packages/fabricatio-diff/python/fabricatio_diff/py.typed, packages/fabricatio-digest/python/fabricatio_digest/py.typed, packages/fabricatio-improve/python/fabricatio_improve/py.typed, packages/fabricatio-judge/python/fabricatio_judge/py.typed, packages/fabricatio-lancedb/python/fabricatio_lancedb/py.typed, packages/fabricatio-locale/python/fabricatio_locale/py.typed, packages/fabricatio-memory/python/fabricatio_memory/py.typed, packages/fabricatio-milvus/python/fabricatio_milvus/py.typed, packages/fabricatio-mock/python/fabricatio_mock/py.typed, packages/fabricatio-novel/python/fabricatio_novel/py.typed, packages/fabricatio-plot/python/fabricatio_plot/py.typed, packages/fabricatio-question/python/fabricatio_question/py.typed, packages/fabricatio-rag/python/fabricatio_rag/py.typed, packages/fabricatio-rule/python/fabricatio_rule/py.typed, packages/fabricatio-sandbox/python/fabricatio_sandbox/py.typed, packages/fabricatio-skill/python/fabricatio_skill/py.typed, packages/fabricatio-tagging/python/fabricatio_tagging/py.typed, packages/fabricatio-team/python/fabricatio_team/py.typed, packages/fabricatio-tei/python/fabricatio_tei/py.typed, packages/fabricatio-thinking/python/fabricatio_thinking/py.typed, packages/fabricatio-tool/python/fabricatio_tool/py.typed, packages/fabricatio-translate/python/fabricatio_translate/py.typed, packages/fabricatio-typst/python/fabricatio_typst/py.typed, packages/fabricatio-webui/frontend/tsconfig.json, packages/fabricatio-webui/python/fabricatio_webui/py.typed, packages/fabricatio-workspace/python/fabricatio_workspace/py.typed, packages/fabricatio-yue/python/fabricatio_yue/py.typed, python/fabricatio/py.typed"
                    }
                  }
                ],
                "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": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "good",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 68031,
              "source_files_sampled": 645,
              "oversized_source_files": 1
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python with type-check config (packages/fabricatio-actions/python/fabricatio_actions/py.typed, packages/fabricatio-agent/python/fabricatio_agent/py.typed, packages/fabricatio-anki/python/fabricatio_anki/py.typed, packages/fabricatio-capabilities/python/fabricatio_capabilities/py.typed, packages/fabricatio-capable/python/fabricatio_capable/py.typed, packages/fabricatio-character/python/fabricatio_character/py.typed, packages/fabricatio-checkpoint/python/fabricatio_checkpoint/py.typed, packages/fabricatio-comfyui/python/fabricatio_comfyui/py.typed, packages/fabricatio-core/python/fabricatio_core/py.typed, packages/fabricatio-diff/python/fabricatio_diff/py.typed, packages/fabricatio-digest/python/fabricatio_digest/py.typed, packages/fabricatio-improve/python/fabricatio_improve/py.typed, packages/fabricatio-judge/python/fabricatio_judge/py.typed, packages/fabricatio-lancedb/python/fabricatio_lancedb/py.typed, packages/fabricatio-locale/python/fabricatio_locale/py.typed, packages/fabricatio-memory/python/fabricatio_memory/py.typed, packages/fabricatio-milvus/python/fabricatio_milvus/py.typed, packages/fabricatio-mock/python/fabricatio_mock/py.typed, packages/fabricatio-novel/python/fabricatio_novel/py.typed, packages/fabricatio-plot/python/fabricatio_plot/py.typed, packages/fabricatio-question/python/fabricatio_question/py.typed, packages/fabricatio-rag/python/fabricatio_rag/py.typed, packages/fabricatio-rule/python/fabricatio_rule/py.typed, packages/fabricatio-sandbox/python/fabricatio_sandbox/py.typed, packages/fabricatio-skill/python/fabricatio_skill/py.typed, packages/fabricatio-tagging/python/fabricatio_tagging/py.typed, packages/fabricatio-team/python/fabricatio_team/py.typed, packages/fabricatio-tei/python/fabricatio_tei/py.typed, packages/fabricatio-thinking/python/fabricatio_thinking/py.typed, packages/fabricatio-tool/python/fabricatio_tool/py.typed, packages/fabricatio-translate/python/fabricatio_translate/py.typed, packages/fabricatio-typst/python/fabricatio_typst/py.typed, packages/fabricatio-webui/frontend/tsconfig.json, packages/fabricatio-webui/python/fabricatio_webui/py.typed, packages/fabricatio-workspace/python/fabricatio_workspace/py.typed, packages/fabricatio-yue/python/fabricatio_yue/py.typed, python/fabricatio/py.typed)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "packages/fabricatio-actions/python/fabricatio_actions/py.typed, packages/fabricatio-agent/python/fabricatio_agent/py.typed, packages/fabricatio-anki/python/fabricatio_anki/py.typed, packages/fabricatio-capabilities/python/fabricatio_capabilities/py.typed, packages/fabricatio-capable/python/fabricatio_capable/py.typed, packages/fabricatio-character/python/fabricatio_character/py.typed, packages/fabricatio-checkpoint/python/fabricatio_checkpoint/py.typed, packages/fabricatio-comfyui/python/fabricatio_comfyui/py.typed, packages/fabricatio-core/python/fabricatio_core/py.typed, packages/fabricatio-diff/python/fabricatio_diff/py.typed, packages/fabricatio-digest/python/fabricatio_digest/py.typed, packages/fabricatio-improve/python/fabricatio_improve/py.typed, packages/fabricatio-judge/python/fabricatio_judge/py.typed, packages/fabricatio-lancedb/python/fabricatio_lancedb/py.typed, packages/fabricatio-locale/python/fabricatio_locale/py.typed, packages/fabricatio-memory/python/fabricatio_memory/py.typed, packages/fabricatio-milvus/python/fabricatio_milvus/py.typed, packages/fabricatio-mock/python/fabricatio_mock/py.typed, packages/fabricatio-novel/python/fabricatio_novel/py.typed, packages/fabricatio-plot/python/fabricatio_plot/py.typed, packages/fabricatio-question/python/fabricatio_question/py.typed, packages/fabricatio-rag/python/fabricatio_rag/py.typed, packages/fabricatio-rule/python/fabricatio_rule/py.typed, packages/fabricatio-sandbox/python/fabricatio_sandbox/py.typed, packages/fabricatio-skill/python/fabricatio_skill/py.typed, packages/fabricatio-tagging/python/fabricatio_tagging/py.typed, packages/fabricatio-team/python/fabricatio_team/py.typed, packages/fabricatio-tei/python/fabricatio_tei/py.typed, packages/fabricatio-thinking/python/fabricatio_thinking/py.typed, packages/fabricatio-tool/python/fabricatio_tool/py.typed, packages/fabricatio-translate/python/fabricatio_translate/py.typed, packages/fabricatio-typst/python/fabricatio_typst/py.typed, packages/fabricatio-webui/frontend/tsconfig.json, packages/fabricatio-webui/python/fabricatio_webui/py.typed, packages/fabricatio-workspace/python/fabricatio_workspace/py.typed, packages/fabricatio-yue/python/fabricatio_yue/py.typed, python/fabricatio/py.typed",
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "1/645 source files over 60KB",
                "points": 54.9,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 645,
                      "oversized": 1
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "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": 0,
                "status": "missed",
                "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? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "Could not fetch crates package 'fabricatio' from its registry"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-25T22:39:15.486317Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/w/Whth/fabricatio.svg",
  "full_name": "Whth/fabricatio",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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