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

webgme / webgme-engine

WebGME server and Client API without a GUI

JavaScriptMIT★ 12 estrellas⑂ 11 forksdesde ago 2017Ver en GitHub ↗

webgme/webgme-engine 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 Engineering Quality (78/100) y la más baja, Community & Adoption (44/100). Se actualizó por última vez hace 1 día. 2 personas concentran 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

WebGMEOrganización
15 seguidores45 repositorios públicosdesde oct 2011

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

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
npmwebgme-engine2.32.0470248hace 5 díaswebgmegmemetamodelingcooperativemodelingdomain

Métricas por categoría

Vitalidad

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

74Bueno · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 1 días
7.6/36Cadencia de commits — 11/52 semanas con commits
13/18Volumen de commits — 27 commits en el último año
10/10OpenSSF Scorecard: Maintained — 21 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year27
human_commit_share0,87
days_since_last_push1
active_weeks_last_year11
Cómo se puntúa
27/27Publica versiones — 48 versiones publicadas
36/36Recencia de las versiones — última versión hace 5 días
12.6/27Cadencia de publicación — una versión cada ~223,9 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count48
latest_release_tagv2.32.0
releases_from_tagsno
days_since_latest_release5
mean_days_between_releases223,9
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

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

44En riesgo · 18% del índice global
Cómo se puntúa
16.9/60Estrellas — 12 estrellas
8.3/25Forks — 11 forks
3.3/15Observadores — 5 observadores
Datos de entrada utilizados
forks11
stars12
watchers5
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)
0/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno
Cómo se puntúa
49/80Descargas mensuales — 4702 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packageswebgme-engine
dependents
ecosystemsnpm
total_downloads
monthly_downloads4702
Excluidos de la puntuación (sin datos o no aplicable): Dependientes en el registro. Los pesos restantes se han renormalizado.

Sostenibilidad y Gobernanza

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

72Bueno · 24% del índice global
Cómo se puntúa
25.2/54Factor bus — la mitad de los commits recae en 2 contribuyente(s)
14.2/22.5Distribución de commits — el principal contribuyente firma el 37% de los commits
13.5/13.5Amplitud de contribuyentes — 13 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 8 contributing companies or organizations
Datos de entrada utilizados
bus_factor2
contributors_sampled13
top_contributor_share0,368
Cómo se puntúa
34.6/46.8Resolución de issues — 74% de issues cerradas
30.3/38.3Aceptación de PR — 193/244 PR decididos fusionados
6/15OpenSSF Scorecard: Code-Review — Found 12/28 approved changesets -- score normalized to 4
Datos de entrada utilizados
merged_prs193
open_issues32
closed_issues91
issue_closed_ratio0,74
closed_unmerged_prs51
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
8.7/25Alcance del propietario — 15 seguidores de webgme
24.1/25Trayectoria — 45 repos públicos, cuenta de ~14 años
Datos de entrada utilizados
followers15
owner_typeOrganization
is_verified
owner_loginwebgme
public_repos45
account_age_days5406
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en npm
35/35Recencia de publicación — última publicación hace 5 días
20/20Historial de versiones — 48 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packageswebgme-engine
ecosystemsnpm
any_deprecatedno
min_days_since_publish5

Calidad de Ingeniería

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

78Bueno · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 2 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter — .eslintrc.json
0/9.6Hooks de pre-commit
0/6.4.editorconfig
16/20OpenSSF Scorecard: CI-Tests — 14 out of 17 merged PRs checked by a CI test -- score normalized to 8
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_config
has_precommit_configno
Cómo se puntúa
30/30README
25/25Directorio de documentación
0/15Sitio de documentación / página del proyecto
10/10Descripción del repositorio
0/10Topics
10/10Wiki
Datos de entrada utilizados
topics
has_wiki
homepage
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?

47En riesgo · 16% del índice global
Cómo se puntúa
6/7.5Binary-Artifacts — binaries present in source code
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2/2.5CI-Tests — 14 out of 17 merged PRs checked by a CI test -- score normalized to 8
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
3/7.5Code-Review — Found 12/28 approved changesets -- score normalized to 4
2.5/2.5Contributors — project has 8 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
7.5/7.5Maintained — 21 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — sin datos
0.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 14 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate4,5
Excluidos de la puntuación (sin datos o no aplicable): packaging, signed_releases. Los pesos restantes se han renormalizado.
Cómo se puntúa
24.6/35Dependencias directas libres de avisos conocidos — 1 afectados: aws-sdk 2.1693.0 (low 3.7)
5.9/25Dependencias indirectas libres de avisos conocidos — 5 afectados: brace-expansion 1.1.16 (high 7.5), brace-expansion 2.1.2 (high 7.5), elliptic 6.6.1 (high 7.3), +2 más
25/40Sin avisos pendientes — 4 paquete(s) con avisos sin atender más allá de 90 días; el más antiguo publicado hace 1626 días
Datos de entrada utilizados
sourceosv
advisories7
affected_packages6
assessed_packages472
unassessed_packages0
affected_by_severityhigh 4, moderate 1, low 1
direct_affected_packages1
Se cotejó el cierre de dependencias en tiempo de ejecución de npm:webgme-engine@2.32.0 —lo que arrastra la instalación del paquete publicado—: 472 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.

46En riesgo · 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)
27.6/40Historial de commits legible — 45 de 87 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,517
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
0/18Arranque con un solo comando
22/22Pruebas automatizadas
11/11Configuración de lint / formato — .eslintrc.json
0/11Verificación estática de tipos
10/10Entorno reproducible — lockfile
8/10Práctica demostrada con agentes — 4 de los últimos 100 commits con autoría o crédito de agente
8/8Mantenimiento automatizado — 13 de los últimos 100 commits son actualizaciones automáticas de dependencias
1/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
Datos de entrada utilizados
has_nixno
has_tests
lockfilespackage-lock.json
has_dockerfileno
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_config
typecheck_configs
agent_commit_share0,04
toolchain_manifests
dependency_bot_commit_share0,13
Cómo se puntúa
0/45Código verificable por tipos — JavaScript sin configuración de verificación de tipos
52.1/55Tamaños de archivo manejables — 22/412 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageJavaScript
largest_source_bytes218.108
source_files_sampled412
oversized_source_files22
Cómo se puntúa
40/40Esquema de API (OpenAPI/GraphQL/proto) — src/server/api/webgme-api-v1.raml, src/server/api/webgme-api.raml
0/20Servidor MCP
0/40Ejemplos ejecutables
Datos de entrada utilizados
example_dirs
has_mcp_signalno
api_schema_filessrc/server/api/webgme-api-v1.raml, src/server/api/webgme-api.raml

Datos clave

12estrellas de GitHub
13contribuidores
27commits en los últimos 12 meses
1días desde el último push
48versiones publicadas
2factor bus
32issues abiertas
npmecosistemas de paquetes

Advertencias de recopilación de datos

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

Más detalle

Historial de estrellas y forks 0 ★ / 11 ⇿
0Estrellas
11Forks
36Versiones

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.

0246810121112018-012022-012026-01
Mayor 0Menor 10Parche 26

Cada punto abarca 8 días.

OpenSSF Scorecard 4.5 / 10
4.5agregado

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-26 00:26 UTC

8Binary-Artifactsbinaries present in source code
0Branch-Protectionbranch protection not enabled on development/release branches
8CI-Tests14 out of 17 merged PRs checked by a CI test -- score normalized to 8
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
4Code-ReviewFound 12/28 approved changesets -- score normalized to 4
10Contributorsproject has 8 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained21 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10
n/dPackagingpackaging workflow not detected
1Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 1
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/dSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities14 existing vulnerabilities detected
Dependencias directas 43
RegistroPaqueteRestricción de versiónManifiesto
npm@azure/msal-node^5.1.5package.json
npm@redocly/cli^2.30.3package.json
npm@socket.io/redis-adapter^8.3.0package.json
npmadm-zip^0.6.0package.json
npmagentkeepalive^4.5.0package.json
npmarchiver^7package.json
npmaws-sdk^2.1693.0package.json
npmbcryptjs^3package.json
npmbody-parser^2package.json
npmbrowserify^17.0.0package.json
npmbuffer-equal-constant-time^1.0.1package.json
npmchance^1.1.11package.json
npmcommander^14.0.3package.json
npmcompression^1.7.4package.json
npmcontent-disposition^2package.json
npmcookie-parser^1.4.6package.json
npmcors^2.8.5package.json
npmdebug^4.3.4package.json
npmejs^6package.json
npmexpress^4.18.2package.json
npmimport-fresh^3.3.0package.json
npmjose^6.2.3package.json
npmjsdoc^4.0.2package.json
npmjsonwebtoken^9.0.2package.json
npmmethod-override^3.0.0package.json
npmmime^4.1.0package.json
npmmongo-uri^0.1.2package.json
npmmongodb^7package.json
npmncp^2.0.0package.json
npmnodemailer^9package.json
npmpug^3.0.0package.json
npmq^1.5.1package.json
npmredis^5.12.1package.json
npmrequirejs^2.3.6package.json
npmrequirejs-text^2.0.16package.json
npmsocket.io^4package.json
npmsocket.io-client^4package.json
npmsuperagent^10.3.0package.json
npmunderscore^1.13.6package.json
npmwebapi-parser^0.5.0package.json
npmwebgme-ot0.0.16package.json
npmwebgme-rust0.1.0package.json
npmwinston^2.4.7package.json
Todas las dependencias 574

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

RegistroPaqueteVersiónRelación
npm@azure/msal-node5.2.5directa
npm@redocly/cli2.34.0directa
npm@socket.io/redis-adapter8.3.0directa
npmadm-zip0.6.0directa
npmagentkeepalive4.6.0directa
npmarchiver7.0.1directa
npmaws-sdk2.1693.0directa
npmbcryptjs3.0.3directa
npmbody-parser1.20.5directa
npmbody-parser2.3.0directa
npmbrowserify17.0.1directa
npmbuffer-equal-constant-time1.0.1directa
npmchance1.1.13directa
npmcommander14.0.3directa
npmcompression1.8.1directa
npmcontent-disposition0.5.4directa
npmcontent-disposition2.0.1directa
npmcookie-parser1.4.7directa
npmcors2.8.6directa
npmdebug2.6.9directa
npmdebug3.1.0directa
npmdebug4.3.7directa
npmdebug4.4.3directa
npmejs6.0.1directa
npmexpress4.22.2directa
npmimport-fresh3.3.1directa
npmjose6.2.3directa
npmjsdoc4.0.5directa
npmjsonwebtoken9.0.3directa
npmmethod-override3.0.0directa
npmmime1.6.0directa
npmmime2.6.0directa
npmmime4.1.0directa
npmmongo-uri0.1.2directa
npmmongodb7.3.0directa
npmncp2.0.0directa
npmnodemailer9.0.1directa
npmpug3.0.4directa
npmq1.5.1directa
npmredis5.12.1directa
npmrequirejs2.3.8directa
npmrequirejs-text2.0.16directa
npmsocket.io4.8.3directa
npmsocket.io-client4.8.3directa
npmsuperagent10.3.0directa
npmunderscore1.13.8directa
npmwebapi-parser0.5.0directa
npmwebgme-ot0.0.16directa
npmwebgme-rust0.1.0directa
npmwinston2.4.7directa
npm@azure/msal-common16.9.0indirecta
npm@babel/helper-string-parser7.29.7indirecta
npm@babel/helper-validator-identifier7.29.7indirecta
npm@babel/parser7.29.7indirecta
npm@babel/types7.29.7indirecta
npm@eslint-community/eslint-utils4.9.1indirecta
npm@eslint-community/regexpp4.12.2indirecta
npm@eslint/eslintrc2.1.4indirecta
npm@eslint/js8.57.1indirecta
npm@humanwhocodes/config-array0.13.0indirecta
npm@humanwhocodes/module-importer1.0.1indirecta
npm@humanwhocodes/object-schema2.0.3indirecta
npm@isaacs/cliui8.0.2indirecta
npm@jsdoc/salty0.2.12indirecta
npm@mongodb-js/saslprep1.4.11indirecta
npm@noble/hashes1.8.0indirecta
npm@nodelib/fs.scandir2.1.5indirecta
npm@nodelib/fs.stat2.0.5indirecta
npm@nodelib/fs.walk1.2.8indirecta
npm@paralleldrive/cuid22.3.1indirecta
npm@pkgjs/parseargs0.11.0indirecta
npm@redis/bloom5.12.1indirecta
npm@redis/client5.12.1indirecta
npm@redis/json5.12.1indirecta
npm@redis/search5.12.1indirecta
npm@redis/time-series5.12.1indirecta
npm@socket.io/component-emitter3.1.2indirecta
npm@types/cors2.8.19indirecta
npm@types/linkify-it5.0.0indirecta
npm@types/markdown-it14.1.2indirecta
npm@types/mdurl2.0.0indirecta
npm@types/node25.9.3indirecta
npm@types/webidl-conversions7.0.3indirecta
npm@types/whatwg-url13.0.0indirecta
npm@types/ws8.18.1indirecta
npm@ungap/structured-clone1.3.1indirecta
npmabort-controller3.0.0indirecta
npmaccepts1.3.8indirecta
npmacorn7.4.1indirecta
npmacorn8.17.0indirecta
npmacorn-jsx5.3.2indirecta
npmacorn-node1.8.2indirecta
npmacorn-walk7.2.0indirecta
npmajv6.15.0indirecta
npmajv6.5.2indirecta
npmansi-regex5.0.1indirecta
npmansi-regex6.2.2indirecta
npmansi-styles4.3.0indirecta
npmansi-styles6.2.3indirecta
npmarchiver-utils5.0.2indirecta
npmargparse2.0.1indirecta
npmarray-flatten1.1.1indirecta
npmasap2.0.6indirecta
npmasn1.js4.10.1indirecta
npmassert1.5.1indirecta
npmassert-never1.4.0indirecta
npmasync2.6.4indirecta
npmasync3.2.6indirecta
npmasynckit0.4.0indirecta
npmavailable-typed-arrays1.0.7indirecta
npmb4a1.8.1indirecta
npmbabel-walk3.0.0-canary-5indirecta
npmbalanced-match1.0.2indirecta
npmbalanced-match4.0.4indirecta
npmbare-events2.9.1indirecta
npmbare-fs4.7.2indirecta
npmbare-os3.9.1indirecta
npmbare-path3.0.1indirecta
npmbare-stream2.13.3indirecta
npmbare-url2.4.5indirecta
npmbase64-js0.0.2indirecta
npmbase64-js1.5.1indirecta
npmbase64id2.0.0indirecta
npmbluebird3.7.2indirecta
npmbn.js4.12.3indirecta
npmbn.js5.2.3indirecta
npmbops0.0.7indirecta
npmbrace-expansion1.1.15indirecta
npmbrace-expansion2.1.1indirecta
npmbrace-expansion5.0.6indirecta
npmbrorand1.1.0indirecta
npmbrowser-pack6.1.0indirecta
npmbrowser-resolve2.0.0indirecta
npmbrowser-stdout1.3.1indirecta
npmbrowserify-aes1.2.0indirecta
npmbrowserify-cipher1.0.1indirecta
npmbrowserify-des1.0.2indirecta
npmbrowserify-rsa4.1.1indirecta
npmbrowserify-sign4.2.6indirecta
npmbrowserify-zlib0.2.0indirecta
npmbson7.3.0indirecta
npmbuffer4.9.2indirecta
npmbuffer5.2.1indirecta
npmbuffer6.0.3indirecta
npmbuffer-crc321.0.0indirecta
npmbuffer-from1.1.2indirecta
npmbuffer-xor1.0.3indirecta
npmbuiltin-status-codes3.0.0indirecta
npmbytes3.1.2indirecta
npmcached-path-relative1.1.0indirecta
npmcall-bind1.0.9indirecta
npmcall-bind-apply-helpers1.0.2indirecta
npmcall-bound1.0.4indirecta
npmcallsites3.1.0indirecta
npmcamelcase6.3.0indirecta
npmcatharsis0.9.0indirecta
npmchai6.2.2indirecta
npmchalk4.1.2indirecta
npmcharacter-parser2.2.0indirecta
npmchokidar4.0.3indirecta
npmcipher-base1.0.7indirecta
npmcliui8.0.1indirecta
npmcluster-key-slot1.1.2indirecta
npmcolor-convert2.0.1indirecta
npmcolor-name1.1.4indirecta
npmcolors1.0.3indirecta
npmcombine-source-map0.8.0indirecta
npmcombined-stream1.0.8indirecta
npmcomponent-emitter1.3.1indirecta
npmcompress-commons6.0.2indirecta
npmcompressible2.0.18indirecta
npmconcat-map0.0.1indirecta
npmconcat-stream1.6.2indirecta
npmconsole-browserify1.2.0indirecta
npmconstantinople4.0.1indirecta
npmconstants-browserify1.0.0indirecta
npmcontent-type1.0.5indirecta
npmcontent-type2.0.0indirecta
npmconvert-source-map1.1.3indirecta
npmcookie0.7.2indirecta
npmcookie-signature1.0.6indirecta
npmcookiejar2.1.4indirecta
npmcore-util-is1.0.3indirecta
npmcrc-321.2.2indirecta
npmcrc32-stream6.0.0indirecta
npmcreate-ecdh4.0.4indirecta
npmcreate-hash1.2.0indirecta
npmcreate-hmac1.1.7indirecta
npmcross-spawn7.0.6indirecta
npmcrypto-browserify3.12.1indirecta
npmcycle1.0.3indirecta
npmdash-ast1.0.0indirecta
npmdecamelize4.0.0indirecta
npmdeep-is0.1.4indirecta
npmdefine-data-property1.1.4indirecta
npmdefine-properties1.2.1indirecta
npmdefined1.0.1indirecta
npmdelayed-stream1.0.0indirecta
npmdepd2.0.0indirecta
npmdeps-sort2.0.1indirecta
npmdes.js1.1.0indirecta
npmdestroy1.2.0indirecta
npmdetective5.2.1indirecta
npmdezalgo1.0.4indirecta
npmdiff7.0.0indirecta
npmdiffie-hellman5.0.3indirecta
npmdoctrine3.0.0indirecta
npmdoctypes1.1.0indirecta
npmdomain-browser1.2.0indirecta
npmdunder-proto1.0.1indirecta
npmduplexer20.1.4indirecta
npmeastasianwidth0.2.0indirecta
npmecdsa-sig-formatter1.0.11indirecta
npmee-first1.1.1indirecta
npmelliptic6.6.1indirecta
npmemoji-regex8.0.0indirecta
npmemoji-regex9.2.2indirecta
npmencodeurl2.0.0indirecta
npmengine.io6.6.9indirecta
npmengine.io-client6.6.6indirecta
npmengine.io-parser5.2.3indirecta
npmentities4.5.0indirecta
npmes-define-property1.0.1indirecta
npmes-errors1.3.0indirecta
npmes-object-atoms1.1.2indirecta
npmes-set-tostringtag2.1.0indirecta
npmescalade3.2.0indirecta
npmescape-html1.0.3indirecta
npmescape-string-regexp2.0.0indirecta
npmescape-string-regexp4.0.0indirecta
npmeslint8.57.1indirecta
npmeslint-scope7.2.2indirecta
npmeslint-visitor-keys3.4.3indirecta
npmespree9.6.1indirecta
npmesprima4.0.1indirecta
npmesquery1.7.0indirecta
npmesrecurse4.3.0indirecta
npmestraverse5.3.0indirecta
npmesutils2.0.3indirecta
npmetag1.8.1indirecta
npmevent-target-shim5.0.1indirecta
npmevents1.1.1indirecta
npmevents3.3.0indirecta
npmevents-universal1.0.1indirecta
npmevp_bytestokey1.0.3indirecta
npmeyes0.1.8indirecta
npmfast-deep-equal2.0.1indirecta
npmfast-deep-equal3.1.3indirecta
npmfast-fifo1.3.2indirecta
npmfast-json-stable-stringify2.1.0indirecta
npmfast-levenshtein2.0.6indirecta
npmfast-safe-stringify2.1.1indirecta
npmfastq1.20.1indirecta
npmfile-entry-cache6.0.1indirecta
npmfinalhandler1.3.2indirecta
npmfind-up5.0.0indirecta
npmflat5.0.2indirecta
npmflat-cache3.2.0indirecta
npmflatted3.4.2indirecta
npmfor-each0.3.5indirecta
npmforeground-child3.3.1indirecta
npmform-data4.0.6indirecta
npmformidable3.5.4indirecta
npmforwarded0.2.0indirecta
npmfresh0.5.2indirecta
npmfs.realpath1.0.0indirecta
npmfunction-bind1.1.2indirecta
npmgenerator-function2.0.1indirecta
npmget-assigned-identifiers1.2.0indirecta
npmget-caller-file2.0.5indirecta
npmget-intrinsic1.3.0indirecta
npmget-proto1.0.1indirecta
npmglob10.5.0indirecta
npmglob13.0.6indirecta
npmglob7.2.3indirecta
npmglob-parent6.0.2indirecta
npmglobals13.24.0indirecta
npmgopd1.2.0indirecta
npmgraceful-fs4.2.11indirecta
npmgraphemer1.4.0indirecta
npmhas-flag4.0.0indirecta
npmhas-property-descriptors1.0.2indirecta
npmhas-symbols1.1.0indirecta
npmhas-tostringtag1.0.2indirecta
npmhash-base3.0.5indirecta
npmhash-base3.1.2indirecta
npmhash.js1.1.7indirecta
npmhasown2.0.4indirecta
npmhe1.2.0indirecta
npmhmac-drbg1.0.1indirecta
npmhtmlescape1.1.1indirecta
npmhttp-errors2.0.1indirecta
npmhttps-browserify1.0.0indirecta
npmhumanize-ms1.2.1indirecta
npmiconv-lite0.4.24indirecta
npmiconv-lite0.7.2indirecta
npmieee7541.1.13indirecta
npmieee7541.2.1indirecta
npmignore5.3.2indirecta
npmimurmurhash0.1.4indirecta
npminflight1.0.6indirecta
npminherits2.0.3indirecta
npminherits2.0.4indirecta
npminline-source-map0.6.3indirecta
npminsert-module-globals7.2.1indirecta
npmipaddr.js1.9.1indirecta
npmis-arguments1.2.0indirecta
npmis-buffer1.1.6indirecta
npmis-callable1.2.7indirecta
npmis-core-module2.16.2indirecta
npmis-expression4.0.0indirecta
npmis-extglob2.1.1indirecta
npmis-fullwidth-code-point3.0.0indirecta
npmis-generator-function1.1.2indirecta
npmis-glob4.0.3indirecta
npmis-path-inside3.0.3indirecta
npmis-plain-obj2.1.0indirecta
npmis-promise2.2.2indirecta
npmis-regex1.2.1indirecta
npmis-stream2.0.1indirecta
npmis-typed-array1.1.15indirecta
npmis-unicode-supported0.1.0indirecta
npmisarray1.0.0indirecta
npmisarray2.0.5indirecta
npmisexe2.0.0indirecta
npmisstream0.1.2indirecta
npmjackspeak3.4.3indirecta
npmjmespath0.16.0indirecta
npmjs-stringify1.0.2indirecta
npmjs-yaml4.2.0indirecta
npmjs2xmlparser4.0.2indirecta
npmjson-buffer3.0.1indirecta
npmjson-schema-traverse0.4.1indirecta
npmjson-stable-stringify-without-jsonify1.0.1indirecta
npmjsonparse1.3.1indirecta
npmJSONStream1.3.5indirecta
npmjstransformer1.0.0indirecta
npmjwa2.0.1indirecta
npmjws4.0.1indirecta
npmkeyv4.5.4indirecta
npmklaw3.0.0indirecta
npmlabeled-stream-splicer2.0.2indirecta
npmlazystream1.0.1indirecta
npmlevn0.4.1indirecta
npmlinkify-it5.0.1indirecta
npmlocate-path6.0.0indirecta
npmlodash4.18.1indirecta
npmlodash.includes4.3.0indirecta
npmlodash.isboolean3.0.3indirecta
npmlodash.isinteger4.0.4indirecta
npmlodash.isnumber3.0.3indirecta
npmlodash.isplainobject4.0.6indirecta
npmlodash.isstring4.0.1indirecta
npmlodash.memoize3.0.4indirecta
npmlodash.merge4.6.2indirecta
npmlodash.once4.1.1indirecta
npmlog-symbols4.1.0indirecta
npmlru-cache10.4.3indirecta
npmlru-cache11.5.1indirecta
npmmarkdown-it14.2.0indirecta
npmmarkdown-it-anchor8.6.7indirecta
npmmarked4.3.0indirecta
npmmath-intrinsics1.1.0indirecta
npmmd5.js1.3.5indirecta
npmmdurl2.0.0indirecta
npmmedia-typer0.3.0indirecta
npmmedia-typer1.1.0indirecta
npmmemory-pager1.5.0indirecta
npmmerge-descriptors1.0.3indirecta
npmmethods1.1.2indirecta
npmmiller-rabin4.0.1indirecta
npmmime-db1.52.0indirecta
npmmime-db1.54.0indirecta
npmmime-types2.1.35indirecta
npmmime-types3.0.2indirecta
npmminimalistic-assert1.0.1indirecta
npmminimalistic-crypto-utils1.0.1indirecta
npmminimatch10.2.5indirecta
npmminimatch3.1.5indirecta
npmminimatch5.1.9indirecta
npmminimatch9.0.9indirecta
npmminimist1.2.8indirecta
npmminipass7.1.3indirecta
npmmkdirp1.0.4indirecta
npmmkdirp-classic0.5.3indirecta
npmmocha11.7.6indirecta
npmmodule-deps6.2.3indirecta
npmmongodb-connection-string-url7.0.1indirecta
npmms2.0.0indirecta
npmms2.1.3indirecta
npmmsgpack-js0.3.0indirecta
npmnatural-compare1.4.0indirecta
npmnegotiator0.6.3indirecta
npmnegotiator0.6.4indirecta
npmnormalize-path3.0.0indirecta
npmnotepack.io3.0.1indirecta
npmobject-assign4.1.1indirecta
npmobject-inspect1.13.4indirecta
npmobject-keys1.1.1indirecta
npmobject.assign4.1.7indirecta
npmon-finished2.4.1indirecta
npmon-headers1.1.0indirecta
npmonce1.4.0indirecta
npmoptionator0.9.4indirecta
npmos-browserify0.3.0indirecta
npmp-limit3.1.0indirecta
npmp-locate5.0.0indirecta
npmpackage-json-from-dist1.0.1indirecta
npmpako1.0.11indirecta
npmparent-module1.0.1indirecta
npmparents1.0.1indirecta
npmparse-asn15.1.9indirecta
npmparseurl1.3.3indirecta
npmpath-browserify1.0.1indirecta
npmpath-exists4.0.0indirecta
npmpath-is-absolute1.0.1indirecta
npmpath-key3.1.1indirecta
npmpath-parse1.0.7indirecta
npmpath-platform0.11.15indirecta
npmpath-scurry1.11.1indirecta
npmpath-scurry2.0.2indirecta
npmpath-to-regexp0.1.13indirecta
npmpbkdf23.1.6indirecta
npmpicocolors1.1.1indirecta
npmpkginfo0.4.1indirecta
npmpossible-typed-array-names1.1.0indirecta
npmprelude-ls1.2.1indirecta
npmprocess0.11.10indirecta
npmprocess-nextick-args2.0.1indirecta
npmpromise7.3.1indirecta
npmproxy-addr2.0.7indirecta
npmpublic-encrypt4.0.3indirecta
npmpug-attrs3.0.0indirecta
npmpug-code-gen3.0.4indirecta
npmpug-error2.1.0indirecta
npmpug-filters4.0.0indirecta
npmpug-lexer5.0.1indirecta
npmpug-linker4.0.0indirecta
npmpug-load3.0.0indirecta
npmpug-parser6.0.0indirecta
npmpug-runtime3.0.1indirecta
npmpug-strip-comments2.0.0indirecta
npmpug-walk2.0.0indirecta
npmpunycode1.3.2indirecta
npmpunycode1.4.1indirecta
npmpunycode2.3.1indirecta
npmpunycode.js2.3.1indirecta
npmqs6.15.2indirecta
npmquerystring0.2.0indirecta
npmquerystring-es30.2.1indirecta
npmqueue-microtask1.2.3indirecta
npmrandombytes2.1.0indirecta
npmrandomfill1.0.4indirecta
npmrange-parser1.2.1indirecta
npmraw-body2.5.3indirecta
npmraw-body3.0.2indirecta
npmread-only-stream2.0.0indirecta
npmreadable-stream2.3.8indirecta
npmreadable-stream3.6.2indirecta
npmreadable-stream4.7.0indirecta
npmreaddir-glob1.1.3indirecta
npmreaddirp4.1.2indirecta
npmrequire-directory2.1.1indirecta
npmrequizzle0.2.4indirecta
npmresolve1.22.12indirecta
npmresolve-from4.0.0indirecta
npmreusify1.1.0indirecta
npmrimraf3.0.2indirecta
npmrimraf6.1.3indirecta
npmripemd1602.0.3indirecta
npmrun-parallel1.2.0indirecta
npmsafe-buffer5.1.2indirecta
npmsafe-buffer5.2.1indirecta
npmsafe-regex-test1.1.0indirecta
npmsafer-buffer2.1.2indirecta
npmsax1.2.1indirecta
npmsemver7.8.4indirecta
npmsend0.19.2indirecta
npmserialize-javascript6.0.2indirecta
npmserve-static1.16.3indirecta
npmset-function-length1.2.2indirecta
npmsetprototypeof1.2.0indirecta
npmsha.js2.4.12indirecta
npmshasum-object1.0.1indirecta
npmshebang-command2.0.0indirecta
npmshebang-regex3.0.0indirecta
npmshell-quote1.8.4indirecta
npmside-channel1.1.1indirecta
npmside-channel-list1.0.1indirecta
npmside-channel-map1.0.1indirecta
npmside-channel-weakmap1.0.2indirecta
npmsignal-exit4.1.0indirecta
npmsimple-concat1.0.1indirecta
npmsocket.io-adapter2.5.8indirecta
npmsocket.io-parser4.2.6indirecta
npmsource-map0.5.7indirecta
npmsparse-bitfield3.0.3indirecta
npmstack-trace0.0.10indirecta
npmstatuses2.0.2indirecta
npmstream-browserify3.0.0indirecta
npmstream-combiner21.1.1indirecta
npmstream-http3.2.0indirecta
npmstream-splicer2.0.1indirecta
npmstreamx2.28.0indirecta
npmstring-width4.2.3indirecta
npmstring-width5.1.2indirecta
npmstring_decoder1.1.1indirecta
npmstring_decoder1.3.0indirecta
npmstrip-ansi6.0.1indirecta
npmstrip-ansi7.2.0indirecta
npmstrip-json-comments3.1.1indirecta
npmsubarg1.0.0indirecta
npmsupports-color7.2.0indirecta
npmsupports-color8.1.1indirecta
npmsupports-preserve-symlinks-flag1.0.0indirecta
npmsyntax-error1.4.0indirecta
npmtar-stream3.2.0indirecta
npmteex1.0.1indirecta
npmtext-decoder1.2.7indirecta
npmtext-table0.2.0indirecta
npmthrough2.3.8indirecta
npmthrough22.0.5indirecta
npmtimers-browserify1.4.2indirecta
npmto-buffer1.2.2indirecta
npmto-utf80.0.1indirecta
npmtoidentifier1.0.1indirecta
npmtoken-stream1.0.0indirecta
npmtr465.1.1indirecta
npmtty-browserify0.0.1indirecta
npmtype-check0.4.0indirecta
npmtype-fest0.20.2indirecta
npmtype-is1.6.18indirecta
npmtype-is2.1.0indirecta
npmtyped-array-buffer1.0.3indirecta
npmtypedarray0.0.6indirecta
npmuc.micro2.1.0indirecta
npmuid21.0.0indirecta
npmumd3.0.3indirecta
npmundeclared-identifiers1.1.3indirecta
npmundici-types7.24.6indirecta
npmunpipe1.0.0indirecta
npmuri-js4.4.1indirecta
npmurl0.10.3indirecta
npmurl0.11.4indirecta
npmutil0.10.4indirecta
npmutil0.12.5indirecta
npmutil-deprecate1.0.2indirecta
npmutils-merge1.0.1indirecta
npmuuid8.0.0indirecta
npmvary1.1.2indirecta
npmvm-browserify1.1.2indirecta
npmvoid-elements3.1.0indirecta
npmwebidl-conversions7.0.0indirecta
npmwhatwg-url14.2.0indirecta
npmwhich2.0.2indirecta
npmwhich-typed-array1.1.22indirecta
npmwith7.0.2indirecta
npmword-wrap1.2.5indirecta
npmworkerpool9.3.4indirecta
npmwrap-ansi7.0.0indirecta
npmwrap-ansi8.1.0indirecta
npmwrappy1.0.2indirecta
npmws8.21.0indirecta
npmxml2js0.6.2indirecta
npmxmlbuilder11.0.1indirecta
npmxmlcreate2.0.4indirecta
npmxmlhttprequest-ssl2.1.2indirecta
npmxtend4.0.2indirecta
npmy18n5.0.8indirecta
npmyargs17.7.2indirecta
npmyargs-parser21.1.1indirecta
npmyargs-unparser2.0.0indirecta
npmyocto-queue0.1.0indirecta
npmzip-stream6.0.1indirecta
Avisos de dependencias 6

Instalar npm:webgme-engine@2.32.0 arrastra 472 paquetes, directos y transitivos: 6 tienen avisos conocidos, de los cuales 1 son dependencias directas.

PaqueteVersiónRelaciónGravedadAvisosCorregido en
brace-expansion1.1.16indirectaalta15.0.8
brace-expansion2.1.2indirectaalta15.0.8
elliptic6.6.1indirectaalta1
uuid8.0.0indirectaalta113.0.1
ajv6.5.2indirectamoderada28.18.0
aws-sdk2.1693.0directabaja1

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": [],
      "is_fork": false,
      "size_kb": 87548,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "EJS": 68712,
        "Pug": 228,
        "HTML": 6425,
        "RAML": 123246,
        "Shell": 2186,
        "JavaScript": 6404477
      },
      "pushed_at": "2026-07-24T13:01:24Z",
      "created_at": "2017-08-30T13:58:25Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-20T00:51:04Z",
      "description": "WebGME server and Client API without a GUI",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "JavaScript",
      "significant_languages": [
        "JavaScript"
      ]
    },
    "owner": {
      "blog": "https://webgme.org/",
      "name": "WebGME",
      "type": "Organization",
      "login": "webgme",
      "company": null,
      "location": null,
      "followers": 15,
      "avatar_url": "https://avatars.githubusercontent.com/u/1107609?v=4",
      "created_at": "2011-10-06T13:46:51Z",
      "is_verified": null,
      "public_repos": 45,
      "account_age_days": 5406
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.32.0",
          "kind": "minor",
          "published_at": "2026-07-20T00:51:21Z"
        },
        {
          "tag": "v2.31.0",
          "kind": "minor",
          "published_at": "2026-05-06T15:52:27Z"
        },
        {
          "tag": "v2.30.0",
          "kind": "minor",
          "published_at": "2026-04-03T16:02:41Z"
        },
        {
          "tag": "v2.29.0",
          "kind": "minor",
          "published_at": "2024-06-21T14:46:04Z"
        },
        {
          "tag": "v2.28.0",
          "kind": "minor",
          "published_at": "2024-05-07T15:01:22Z"
        },
        {
          "tag": "v2.27.1",
          "kind": "patch",
          "published_at": "2023-11-04T16:17:51Z"
        },
        {
          "tag": "v2.27.0",
          "kind": "minor",
          "published_at": "2023-10-12T04:42:18Z"
        },
        {
          "tag": "v2.26.0",
          "kind": "minor",
          "published_at": "2023-09-01T15:49:24Z"
        },
        {
          "tag": "v2.25.3",
          "kind": "patch",
          "published_at": "2023-04-07T22:23:25Z"
        },
        {
          "tag": "v2.25.2",
          "kind": "patch",
          "published_at": "2021-01-12T02:08:05Z"
        },
        {
          "tag": "v2.25.1",
          "kind": "patch",
          "published_at": "2020-07-02T23:27:29Z"
        },
        {
          "tag": "v2.25.0",
          "kind": "minor",
          "published_at": "2020-05-01T21:47:13Z"
        },
        {
          "tag": "v2.24.2",
          "kind": "patch",
          "published_at": "2020-02-24T03:12:08Z"
        },
        {
          "tag": "v2.24.1",
          "kind": "patch",
          "published_at": "2020-02-24T03:11:44Z"
        },
        {
          "tag": "v2.24.0",
          "kind": "minor",
          "published_at": "2019-11-15T19:34:45Z"
        },
        {
          "tag": "v2.23.2",
          "kind": "patch",
          "published_at": "2019-08-21T23:33:54Z"
        },
        {
          "tag": "v2.23.1",
          "kind": "patch",
          "published_at": "2019-04-22T20:50:09Z"
        },
        {
          "tag": "v2.23.0",
          "kind": "minor",
          "published_at": "2019-03-13T20:39:34Z"
        },
        {
          "tag": "v2.22.4",
          "kind": "patch",
          "published_at": "2019-02-25T22:22:21Z"
        },
        {
          "tag": "v2.22.3",
          "kind": "patch",
          "published_at": "2019-01-21T16:46:08Z"
        },
        {
          "tag": "v2.22.2",
          "kind": "patch",
          "published_at": "2019-01-04T20:28:10Z"
        },
        {
          "tag": "v2.22.1",
          "kind": "patch",
          "published_at": "2019-01-04T20:27:56Z"
        },
        {
          "tag": "v2.22.0",
          "kind": "minor",
          "published_at": "2019-01-04T20:27:37Z"
        },
        {
          "tag": "v2.21.3",
          "kind": "patch",
          "published_at": "2018-09-13T19:51:49Z"
        },
        {
          "tag": "v2.21.2",
          "kind": "patch",
          "published_at": "2018-08-29T18:11:31Z"
        },
        {
          "tag": "v2.21.1",
          "kind": "patch",
          "published_at": "2018-08-27T17:09:19Z"
        },
        {
          "tag": "v2.21.0",
          "kind": "minor",
          "published_at": "2018-08-24T19:35:48Z"
        },
        {
          "tag": "v2.20.4",
          "kind": "patch",
          "published_at": "2018-08-09T22:16:44Z"
        },
        {
          "tag": "v2.20.3",
          "kind": "patch",
          "published_at": "2018-07-30T21:12:07Z"
        },
        {
          "tag": "v2.20.2",
          "kind": "patch",
          "published_at": "2018-07-02T20:19:29Z"
        },
        {
          "tag": "v2.20.1",
          "kind": "patch",
          "published_at": "2018-06-25T20:34:03Z"
        },
        {
          "tag": "v2.20.0",
          "kind": "minor",
          "published_at": "2018-06-22T16:40:35Z"
        },
        {
          "tag": "v2.19.9",
          "kind": "patch",
          "published_at": "2018-06-04T22:23:38Z"
        },
        {
          "tag": "v2.19.8",
          "kind": "patch",
          "published_at": "2018-05-07T22:55:17Z"
        },
        {
          "tag": "v2.19.7",
          "kind": "patch",
          "published_at": "2018-04-10T19:15:09Z"
        },
        {
          "tag": "v2.19.6",
          "kind": "patch",
          "published_at": "2018-03-12T20:45:04Z"
        },
        {
          "tag": "v2.19.5",
          "kind": "patch",
          "published_at": "2018-02-09T18:55:22Z"
        },
        {
          "tag": "v2.19.4",
          "kind": "patch",
          "published_at": "2018-01-29T18:15:30Z"
        },
        {
          "tag": "v2.19.3",
          "kind": "patch",
          "published_at": "2018-01-11T17:57:42Z"
        },
        {
          "tag": "v2.19.2",
          "kind": "patch",
          "published_at": "2017-12-18T20:49:03Z"
        },
        {
          "tag": "v2.19.1",
          "kind": "patch",
          "published_at": "2017-12-14T19:37:30Z"
        },
        {
          "tag": "v2.19.0",
          "kind": "minor",
          "published_at": "2017-12-13T22:22:34Z"
        },
        {
          "tag": "v2.18.5",
          "kind": "patch",
          "published_at": "2017-11-14T19:38:57Z"
        },
        {
          "tag": "v2.18.4",
          "kind": "patch",
          "published_at": "2017-10-13T23:01:50Z"
        },
        {
          "tag": "v2.18.3",
          "kind": "patch",
          "published_at": "2017-09-25T15:29:51Z"
        },
        {
          "tag": "v2.18.2",
          "kind": "patch",
          "published_at": "2017-09-19T22:50:32Z"
        },
        {
          "tag": "v2.18.1",
          "kind": "patch",
          "published_at": "2017-09-13T16:02:53Z"
        },
        {
          "tag": "v2.18.0",
          "kind": "minor",
          "published_at": "2017-09-13T15:57:19Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "e698b4997883a1fc6c6d39fe83d06edea8eab84b",
          "body": null,
          "is_bot": false,
          "headline": "Release 2.32.0",
          "author_name": "kecso",
          "author_login": "kecso",
          "committed_at": "2026-07-20T00:50:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "badf2c751d1f8417428f4e3d9bddb654a6fb6003",
          "body": "Bumps [adm-zip](https://github.com/cthackers/adm-zip) from 0.5.17 to 0.6.0.\n- [Release notes](https://github.com/cthackers/adm-zip/releases)\n- [Changelog](https://github.com/cthackers/adm-zip/blob/master/history.md)\n- [Commits](https://github.com/cthackers/adm-zip/compare/v0.5.17...v0.6.0)\n\n---\nupda\n[…]\nendency-version: 0.6.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump adm-zip from 0.5.17 to 0.6.0 (#368)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-18T03:12:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6227890cdf07a849fe38ce5bc200a4998c8c3dea",
          "body": "…#367)\n\nIntroduce a configurable auth provider path (config.authentication.gmeAuth.path)\nso webgme-engine can run with fully in-memory model storage and no MongoDB when\nauthentication is disabled. The default remains the MongoDB-backed gmeauth.\n\n- standalone.js loads the auth provider from the confi\n[…]\nconfig defaults, validator, README, and client-config stripping updated\n- tests covering default path, memory startup without MongoDB, and metadata ops\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
          "is_bot": false,
          "headline": "Add in-memory GmeAuth provider for auth-disabled deployments (#366) (…",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2026-06-30T21:27:51Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "927c87d99917b11c01314ef7cc302df8a2264f66",
          "body": "* Rebase historyio onto main and apply follow-up exchange-format work.\n\nReplay post-merge historyio changes on top of current main: withHistory\nimport/export wiring, v1 snapshot fallback, mime handling, importProjectFromFile\nbackward compatibility, and related tests.\n\nCo-authored-by: Cursor <cursora\n[…]\non v2 create API in BlobServer and restore generator test config cloning via Object.assign.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>\n\n---------\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
          "is_bot": false,
          "headline": "Historyio (#364)",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2026-06-23T19:43:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b4aeb3df88d327ab647fa8b64029580eccce6750",
          "body": "* Update aws-sdk, content-disposition, ejs, and nodemailer\n\n* fix lint errors\n\n* Fix failing test",
          "is_bot": false,
          "headline": "Update aws-sdk, content-disposition, ejs, and nodemailer (#362)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-06-18T17:59:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c8c3a5eb088c2cd73c69a588cb92c962c9cc021",
          "body": "* Add v2 repository export/import for full project history.\n\nIntroduce getProjectWithHistory and insertProjectWithHistory with tests and format documentation so exchanges can carry branches, tags, and the complete commit graph while remaining v1-compatible at the top level.\n\nCo-authored-by: Cursor <\n[…]\nsor <cursoragent@cursor.com>\n\n* Restore mime v4 and rely on Node 22+ for ESM compatibility.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>\n\n---------\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
          "is_bot": false,
          "headline": "Historyio (#357)",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2026-06-18T17:24:34Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8f58a375a01549ab825a6f1165a3dfa66262166e",
          "body": "Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.1 to 3.1.2.\n- [Release notes](https://github.com/fastify/fast-uri/releases)\n- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.1...v3.1.2)\n\n---\nupdated-dependencies:\n- dependency-name: fast-uri\n  dependency-version: 3.1.2\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump fast-uri from 3.1.1 to 3.1.2 (#348)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-11T16:21:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3eb288f7caa124b254fb6f5567d2260d1eab0869",
          "body": null,
          "is_bot": false,
          "headline": "Release 2.31.0",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-05-06T15:50:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad654a6ae722d27bbdf47f358e6e735da92fb06a",
          "body": null,
          "is_bot": false,
          "headline": "Add back commented lines",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-05-06T15:49:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f75b1f23d8e3920b850daa639391176c6e7dc4a2",
          "body": null,
          "is_bot": false,
          "headline": "tweak script",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-05-06T15:49:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eaf9fe61625843d4eaf2809251354dda44ca5238",
          "body": null,
          "is_bot": false,
          "headline": "Add release script",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-05-06T15:46:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "373a6f51adc209d049286db84c3264ea94cd0cd1",
          "body": "…#346)\n\n* Bump Azure auth dependencies and migrate token verification to jose\n\nUpgrade @azure/msal-node to 5.1.5 and replace azure-ad-verify-token-commonjs with a shared jose-based verifier so Azure token validation no longer depends on the vulnerable jsonwebtoken 8.x chain.\n\nCo-authored-by: Cursor \n[…]\nn verifyAADToken\n\nAdd parser override (ecmaVersion 2022) for jose loader so CI lint passes.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>\n\n---------\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
          "is_bot": false,
          "headline": "Bump Azure auth dependencies and migrate token verification to jose (…",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2026-05-05T23:40:37Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "28a8168e1077fdf68b22fb6c701bffe32a424ff9",
          "body": null,
          "is_bot": false,
          "headline": "Update github links to use main instead of master",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-05-05T15:07:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "46ddcd6fc6ff5db2e2fefac57ee0f6a15a07dcac",
          "body": "* Remove connect-multiparty librar - not used by engine or gui\n\n* Check req.body for undefined\n\n* Make sure body is defined by middleware",
          "is_bot": false,
          "headline": "Remove connect-multiparty librar - not used by engine or gui (#345)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-05-05T13:44:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e54e2aea2752915d2dbe097fbc6792c38e7d6b5c",
          "body": null,
          "is_bot": false,
          "headline": "Replace raml2html (#344)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-05-05T01:17:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "686b840d9183788cc4e0b7ea14d70ae12415a64f",
          "body": "* remove nyc\n\n* Bump redis client from 3 to 5\n\n* Bump socket.io from 2 to 4\n\n* Fix redis tests",
          "is_bot": false,
          "headline": "Bump socket.io, redis and commander (#343)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-05-01T22:46:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe82524c3895267be270d20c2143c5ead790e4f7",
          "body": "* Bump commander from v2 to v14 and fix breaking changes\n\n* Fix CLI tests\n\n* Run on node 22 and 24",
          "is_bot": false,
          "headline": "Bump commander from v2 to v14 and fix breaking changes (#342)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-05-01T15:36:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5bfe198a24f9c929222b20d9b23247d9c13e8a5b",
          "body": null,
          "is_bot": false,
          "headline": "Add nightly security audit for node-modules",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-05-01T14:32:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3d07865b8c9eb396dff10ef0b58c8a0946d9d16",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 2.31.0-beta.2",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-05-01T12:37:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b48796f6d29779b52d82c02c100ad4487a3fa264",
          "body": "* Bump archiver and bcrypt\n\n* bump rimraf and nodemailer\n\n* Bump mocha and chai\n\n* Update package dependencies: bump content-disposition to v1 and mime to v4\n\n* Import mime using default access\n\n* Bump ejs and fix postinstall to handle new module type\n\n* bump mongodb driver from v6 to v7\"",
          "is_bot": false,
          "headline": "Update and bump various package dependencies (#340)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-04-29T16:48:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16dd25a111f564c114bffab971c993028625a427",
          "body": "* fix websocket issue in tests\n\n* Use fetch instead of client in failing tests (handle redirects differently)\n\n* comment out test for superagent\n\n* Bump superagent from v3 to v10",
          "is_bot": false,
          "headline": "Bump superagent from v3 to v10 (#339)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-04-27T16:32:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd8d3525b372a1499366f6d75db70ec4add94f4f",
          "body": "* Remove tests that don't test webgme features\n\n* Fix plugin-test\n\n* Bump action versions\n\n* Try fix plugin_hook test\n\n* use node 20 for now\n\n* Manully pre-checkl if project exists before deleltion",
          "is_bot": false,
          "headline": "Remove tests that don't test webgme features (#338)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-04-22T15:59:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d88cc53895348007bb3da730dd75ed6969664c1",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 2.31.0-beta.1",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-04-03T16:08:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f692f9074b6a366d2a9cee0343cb982573ffaf71",
          "body": null,
          "is_bot": false,
          "headline": "2.30.0",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-04-03T16:01:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36e82666bdc9a1e0f6e01d12cab689ef6e89fdaf",
          "body": null,
          "is_bot": false,
          "headline": "README update",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-04-03T16:00:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b84cc147cd190849b3989ba5f0a120a71ac74141",
          "body": null,
          "is_bot": false,
          "headline": "Update clean_up.js to allow option of skipping commits (#335)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-04-03T15:27:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7779e3381115edc11c9674148f5bdaa6898a3170",
          "body": "* Fix postbuild script\n\n* Loosen version restrictions to major versions (^)\n\n* Catch unhandled exceptions and log while running tests\n\n* WIP: mongo v4 client\n\n* WIP: Add back Q promises around collections in gmeAuth and start migrating mongo store\n\n* Auth and storage works\n\n* Server tests all are pa\n[…]\nseem to pass for mongodb v5\n\n* Only use node v20 for now\n\n* Skip executor test on node v20 (any minor version)\n\n* Bump to mongodb v6\n\n* loosen skipped versions for token test\n\n* set version to ^6.21.0",
          "is_bot": false,
          "headline": "Upgrade mongodb driver from 3.7 to v6 (#336)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2026-01-13T19:11:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7d0a6deee5aa1d53a8e8f1451828de127397d4d1",
          "body": null,
          "is_bot": false,
          "headline": "Bump to 2.30.0-beta",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2024-06-21T13:52:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e73d22cc73c4a62a00415d28042efe913cee97a0",
          "body": null,
          "is_bot": false,
          "headline": "Release 2.29.0",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2024-06-21T13:30:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c0c52e42d45a91ea7abccc57f4ec190f88d0e7b4",
          "body": "Co-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Bump @azure/msal-node (azure auth) from 1 -> 2 (#332)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2024-06-21T13:26:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa1ca89d0871adda7aa92e5d18cb2ed4f92f9219",
          "body": null,
          "is_bot": false,
          "headline": "Remove karma dependencies - no longer maintained (#331)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2024-06-20T13:50:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa4614b4ef314489517eed42147b89b6e4159120",
          "body": null,
          "is_bot": false,
          "headline": "Make sure to remove reset password data when listing user (#330)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2024-06-18T17:00:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2047eed4e8af076081be75092465cd3b01671c6",
          "body": null,
          "is_bot": false,
          "headline": "Log permission issues as warn w/o full stack (#329)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2024-05-20T19:23:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0df6b1f71244106a63201d9eb0000cac1d5141eb",
          "body": null,
          "is_bot": false,
          "headline": "Update package.json -beta version",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2024-05-07T15:06:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7bd41bd4a7475671fae27fe2c13491a7d1c4d136",
          "body": null,
          "is_bot": false,
          "headline": "Update CHANGELOG.md",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2024-05-07T15:05:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "93140778f8aaf469e8020925dca026e182c08057",
          "body": null,
          "is_bot": false,
          "headline": "Release 2.28.0",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2024-05-07T14:57:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "638040a19e83352cfbc7b3846acdefcd14c78d11",
          "body": "* Bump nodeJS test from 16,18 to 18,20\r\n\r\n* Fix test wrt to error message\r\n\r\n* Fix more warnings\r\n\r\n* More eslint warnings\r\n\r\n* Bump version of github actions\r\n\r\n* Add option to bypass commits by passing -1 to clean-up\r\n\r\n* Skip executor test for specific nodejs version\r\n\r\n* Skip test for v20\r\n\r\n---------\r\n\r\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Bump node in tests from 16,18 to 18,20 (#328)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2024-05-04T01:08:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "415c994bfa10979474d30321389edaa6f5267406",
          "body": "* Extend getProjects to be able to include tags\r\n\r\n* Remove only in test and fix general warnings\r\n\r\n---------\r\n\r\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Extend getProjects to be able to include tags (#327)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2024-05-03T17:34:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c68d2df35bbd79e4a9f835233893c83d25b239c3",
          "body": "…326)\n\n* Check if ws-error is only not authorized to and log as debug if so\r\n\r\n* Check for callback\r\n\r\n---------\r\n\r\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Check if ws-error is only not authorized to and log as debug if so (#…",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2024-04-17T01:34:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12ec0cbdf542bc9122dcb6d5ae55c7887dcb42ff",
          "body": null,
          "is_bot": false,
          "headline": "Release 2.27.1",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2023-11-04T16:15:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4e2b67b05c4e8d83b33fc0602e876f6111fb6ad",
          "body": null,
          "is_bot": false,
          "headline": "Adding CHANGELOG.md for 2.27.1",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2023-11-04T16:13:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4b0235731b95210fbfb484d0caf66f77d288f2f",
          "body": "…(#324)\n\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Handle case with no cookies and check against object type for tokens …",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-11-04T00:03:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f9d34bf61f75296d6b1a6508a788403cdf37dd3",
          "body": null,
          "is_bot": false,
          "headline": "Bump version to 2.27.1-beta",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-11-03T21:14:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "265470c089c60aad1c6e324611e476c7c0ca5d1f",
          "body": null,
          "is_bot": false,
          "headline": "Release 2.27.0",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2023-10-12T03:56:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bbcf6defb21351f209a63a7c7a50a524081ec945",
          "body": null,
          "is_bot": false,
          "headline": "Update CHANGELOG.md",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2023-10-12T03:54:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "abaa0d89272aef5106c61feb31618a7e998bd14e",
          "body": "Co-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Fixes #318 set username when retrieving project from storage (#320)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-10-12T03:22:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36bb06687142baba92c414a5975d060bf5c2707f",
          "body": "* WIP - adding the base AAD intial login scenario\r\n\r\nsome issue with CORS happen???\r\n\r\n* WIP - basic AAD login works\r\n\r\nWhen the initial authentication happens with AAD, a user is generated and a token as well...\r\n\r\n* WIP - basic flow works\r\n\r\nchecked also if datalake can be used, and it suceeds\r\n\r\n\n[…]\nd first round\r\n\r\nThe largest change is that we dropped the use of aad based token if the accessScope is not set\r\n\r\n* WIP - trying to fix the executeplugin call change\r\n\r\n* WIP - lint error (of course)",
          "is_bot": false,
          "headline": "Azure based user authentication (#319)",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2023-10-12T03:20:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2476c23d9bf13c82b93dcce90de51aebdf8bfb19",
          "body": null,
          "is_bot": false,
          "headline": "Bump package version to 2.27.0-beta",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-09-01T18:05:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e15c60b01707ec6e63edde6109b5de58c591a0a4",
          "body": null,
          "is_bot": false,
          "headline": "Release 2.26.0",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-09-01T15:41:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3d60e674ac5a40600f4604b2d5dbdc3ed89bb50",
          "body": null,
          "is_bot": false,
          "headline": "CHANGELOG for v2.26.0",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-09-01T15:37:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af6713e3fe37772f95db4b85f0a32d0b1bc50308",
          "body": "Co-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Bump minor and patch versions (#317)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-09-01T15:17:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2117a71b079a1766c48b8411f4986df3101b4015",
          "body": "* Bump rimraf and use import-fresh instead of depricated require-cached\r\n\r\nImprove on tests - do not suppress stdout from tests\r\n\r\n* Update missing rimraf calls\r\n\r\n* More rimraf fixes\r\n\r\n* ..more test updates wrt rimraf\r\n\r\n* rimraf - pass glob option where used\r\n\r\n* Bump appveyor tests to node 18\r\n\r\n[…]\n.0.0\r\n\r\n* Update mime.lookup -> mime.getType\r\n\r\n* use 'application/octet-stream' as default mime\r\n\r\n* Bump various packages\r\n\r\n---------\r\n\r\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Node-module major version bumps and test improvements (#316)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-08-24T15:36:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c2a1f928e8dc5b5a09ad1e1500033d2a0c824d1c",
          "body": "Better error handling\r\n\r\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Reuse server instance at executor tests (#315)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-08-23T15:09:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ebc7fef3742bfe138b9f54eb05e8db12722a22c",
          "body": "* Bump minor versions of depdencies\r\n\r\n* Break-up server tests in github workflow\r\n\r\n---------\r\n\r\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Bump minor versions of dependencies (#314)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-08-22T22:49:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7515bf3e8343df9e07ecd62f49a90a026f8f71bb",
          "body": "* Convert raml from v0.8 to v1.0 and update node-module\r\n\r\n* remove explict dependency to marked\r\n\r\n---------\r\n\r\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Convert raml from v0.8 to v1.0 and update node-module (#313)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-08-22T15:55:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f3cad846f41196532c48199a229caf3d6b7af27",
          "body": "Bumps [marked](https://github.com/markedjs/marked) from 1.1.0 to 4.0.10.\r\n- [Release notes](https://github.com/markedjs/marked/releases)\r\n- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)\r\n- [Commits](https://github.com/markedjs/marked/compare/v1.1.0...v4.0.10)\r\n\r\n---\r\nup\n[…]\nency-name: marked\r\n  dependency-type: direct:production\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump marked from 1.1.0 to 4.0.10 (#266)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2023-08-21T21:32:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e4f20825c4e6abe29b800361f01e8d835a10b8aa",
          "body": "* Bump dependencies (non-dev) with audit fix --force\r\n\r\n* Use default JSDOC template\r\n\r\n* Downgrade raml2html to fit docs version\r\n\r\n* Make eslint happy\r\n\r\nTODO: Fix the warnings and reset to error at some point\r\n\r\n* Fix jwt breaking change by exposing allowInsecureKeySizes\r\n\r\n* Fix failing test\r\n\r\n* Add missing jwt settings in tests\r\n\r\n* Fix error handling in SWM test\r\n\r\n---------\r\n\r\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "First round of node-module updates (#311)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-08-21T20:44:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7677c9d1fa1fc420a59c748fd152c4c1b18d7ed2",
          "body": null,
          "is_bot": false,
          "headline": "Set version to 2.26.0-beta",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-04-07T22:27:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "848921e5f5f7e42792ffeb017814ea455db2b4e9",
          "body": null,
          "is_bot": false,
          "headline": "Release 2.25.3",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-04-07T22:20:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31ca930c948eb149980cc319fe4e136c4db3c859",
          "body": null,
          "is_bot": false,
          "headline": "Bump executor work in dev-dep",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-04-07T22:19:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "862ba4bbeb8777f6f5b82e0c548431f37d2ad5a7",
          "body": null,
          "is_bot": false,
          "headline": "CHANGELOG for v2.25.3",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-04-07T22:09:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fabb92e2202fffb39ce88ea1252280b4f1f0d4e2",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-04-07T19:18:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a62cc48f47a8ca82798a55a6cd702a8062596b40",
          "body": "…ient (#309)\n\n* try to skip test with issue\r\n\r\n* Call done with error\r\n\r\n* log progress\r\n\r\n* Tracing down issue in artifact save\r\n\r\n* add logs in blob-server\r\n\r\n* log if Blob is used\r\n\r\n* Only use node 16 for now\r\n\r\n* Log exact node version\r\n\r\n* Check if running under node before using Blob\r\n\r\nClean\n[…]\n\n* .node instead of .node-version\r\n\r\n* Upgrade setup-python to 4\r\n\r\n* Let other job continue if one fails\r\n\r\n* Add CI badge\r\n\r\n---------\r\n\r\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Fixes #284 newly introduced Blob in nodejs not compatible with BlobCl…",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-04-07T19:14:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "404d1df3f35a9a79d4a247a843b4e083cc2f7b77",
          "body": null,
          "is_bot": false,
          "headline": "Break up common tests into the sub-folders",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-04-06T20:47:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7af32cfed52b2c04c90bd141af79580210423b6",
          "body": null,
          "is_bot": false,
          "headline": "Run tests with node 18x as well",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-04-06T20:24:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4850b180437f718c3d48abf0fdec59d41732961e",
          "body": "… test",
          "is_bot": false,
          "headline": "Handle test-assertion exceptions and make sure done is called in blob…",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-04-06T20:16:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "524a4be736a76ac992cacf33d7e7d661321c91e3",
          "body": "It's not supposed to be invoked from the browser anyhow",
          "is_bot": false,
          "headline": "Remove plugin-generator test from browser as it seems to slow down other",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-04-06T17:23:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf5f90a2a62a3bc9fa50c47556f61c847cf931fe",
          "body": "…ts (#308)\n\n* Add option for allowing listing of all blob artifacts\r\n\r\n* Link to comments in PR from the config readme\r\n\r\n---------\r\n\r\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Add option to expose the end-point listing all available blob artifac…",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-04-06T16:53:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b524ca874a1652e07420124043b880d540220ee5",
          "body": null,
          "is_bot": false,
          "headline": "Update README",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-01-12T17:03:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3fe3ab764865d788efad7518a3027bd8774fb1ba",
          "body": "Co-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "FIX: use old socket.io default for maxHttpBufferSize (#301)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2023-01-06T17:43:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9016766fb961ccbfc40de89d75b507caf7ccb942",
          "body": "* Work of workdflow file from workflow branch\r\n\r\n* Latest node versions and temporary disable lint\r\n\r\n* Disable 18 for now\r\n\r\n* Add chrome browser and karma tests\r\n\r\n* Remore run from chrome\r\n\r\n* Karma tests running locally after socket-io minor version bump\r\n\r\n* Set DISPLAY env for chrome\r\n\r\n* Comb\n[…]\nebhooks\r\n\r\n* Merge in webhooks\r\n\r\n* Remove new Buffer in tests as well\r\n\r\n* Fixes here and there - done?\r\n\r\n* Add back plugin_hook tests\r\n\r\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "GitHub actions and working unit tests (#294)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2022-12-05T14:45:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "09c4c81212058238b2c5fcebeb630390c3e93e6a",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2022-11-29T22:00:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4c66cddd0de6eacc03e9e27b9d0dc0372fd01047",
          "body": "* WIP: Migrating mongodb client to newer version\r\n\r\n* Port GMEAuth mongo interactions\r\n\r\n* Replace updateOne with replaceOne when replacing, specify projection in projection (odd that it's needed)\r\n\r\n* Migrate more tests\r\n\r\n* Fix duplicate project and get rid of warning about writeConcern\r\n\r\n* Update license and package-lock\r\n\r\nCo-authored-by: Patrik Meijer <patrik.meijer@vanderbilt.edu>",
          "is_bot": false,
          "headline": "Mongo client upgrade from 2.2.35 -> 3.7.3 (#292)",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2022-11-29T21:51:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dcb7198401ea9857c4166ad481ec7ff43d8c6309",
          "body": "Rust components have been published as an npm package",
          "is_bot": false,
          "headline": "Update package.json",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2022-11-17T04:06:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f18d0714d8a82b07938080ca65cd3dadbd715538",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Patrik Meijer",
          "author_login": "pmeijer",
          "committed_at": "2022-10-27T18:27:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "115b7bc8624c31414de961325448b616ceddc3d5",
          "body": null,
          "is_bot": false,
          "headline": "Automated fix to vulnerabilities.",
          "author_name": "kecso",
          "author_login": "kecso",
          "committed_at": "2021-08-04T16:04:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9b48d092aac4df284c34e3653af5d2fe7ac867a",
          "body": "* WIP - adding option to have only unique emails...\r\n\r\n* WIP - authentication testing added\r\n\r\n* WIP - added option to set logout url by user when they are inferred...",
          "is_bot": false,
          "headline": "Auth enhancements (#262)",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2021-08-04T15:28:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc82a56fb5cf442ec2fb26fbf52c986c5f9dd4a4",
          "body": "Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4.\r\n- [Release notes](https://github.com/indutny/elliptic/releases)\r\n- [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4)\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump elliptic from 6.5.3 to 6.5.4 (#255)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-08-04T14:30:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4cabbd2a56c88b0d30216adc78d4a423ba7b20ec",
          "body": "Bumps [redis](https://github.com/NodeRedis/node-redis) from 2.8.0 to 3.1.1.\r\n- [Release notes](https://github.com/NodeRedis/node-redis/releases)\r\n- [Changelog](https://github.com/NodeRedis/node-redis/blob/master/CHANGELOG.md)\r\n- [Commits](https://github.com/NodeRedis/node-redis/compare/v.2.8.0...v3.1.1)\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump redis from 2.8.0 to 3.1.1 (#257)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-07-22T18:12:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b3881ffdd0f63eac4058abc63bcb941bb921092",
          "body": "Bumps [socket.io](https://github.com/socketio/socket.io) from 2.1.1 to 2.4.0.\r\n- [Release notes](https://github.com/socketio/socket.io/releases)\r\n- [Changelog](https://github.com/socketio/socket.io/blob/2.4.0/CHANGELOG.md)\r\n- [Commits](https://github.com/socketio/socket.io/compare/2.1.1...2.4.0)\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump socket.io from 2.1.1 to 2.4.0 (#251)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-07-22T17:51:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06459b18d7880cdff9e9d011a17ddb23f1dffb17",
          "body": "Bumps [pug](https://github.com/pugjs/pug) from 3.0.0 to 3.0.1.\r\n- [Release notes](https://github.com/pugjs/pug/releases)\r\n- [Commits](https://github.com/pugjs/pug/compare/pug@3.0.0...pug@3.0.1)\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pug from 3.0.0 to 3.0.1 (#254)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-07-22T17:13:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0409fdc953de158542ab30465dba122916a7d276",
          "body": "Bumps [underscore](https://github.com/jashkenas/underscore) from 1.9.1 to 1.12.1.\r\n- [Release notes](https://github.com/jashkenas/underscore/releases)\r\n- [Commits](https://github.com/jashkenas/underscore/compare/1.9.1...1.12.1)\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump underscore from 1.9.1 to 1.12.1 (#258)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-07-22T15:12:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4ee583b0da43b78d7a467e955998c2aa326f4a6",
          "body": "Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.\r\n- [Release notes](https://github.com/lodash/lodash/releases)\r\n- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump lodash from 4.17.19 to 4.17.21 (#259)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-07-22T15:10:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "156cb3309a2997252de498b36e52d80ab5029d68",
          "body": "Bumps [pug-code-gen](https://github.com/pugjs/pug) from 3.0.1 to 3.0.2.\r\n- [Release notes](https://github.com/pugjs/pug/releases)\r\n- [Commits](https://github.com/pugjs/pug/compare/pug-code-gen@3.0.1...pug-code-gen@3.0.2)\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pug-code-gen from 3.0.1 to 3.0.2 (#253)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-07-22T15:08:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0420979f4e48c9841ee33a1b0dace5af6a454fca",
          "body": "Bumps [nodemailer](https://github.com/nodemailer/nodemailer) from 6.4.6 to 6.4.16.\r\n- [Release notes](https://github.com/nodemailer/nodemailer/releases)\r\n- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md)\r\n- [Commits](https://github.com/nodemailer/nodemailer/compare/v6.4.6...v6.4.16)\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump nodemailer from 6.4.6 to 6.4.16 (#260)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-07-22T15:08:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc8bc502fc7ce2e5caf6d2cfbda851ec31802eea",
          "body": null,
          "is_bot": false,
          "headline": "Release 2.25.2",
          "author_name": "kecso",
          "author_login": "kecso",
          "committed_at": "2021-01-12T01:39:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43c5816685f39dab3ab04d4d4f5c985d16d72616",
          "body": null,
          "is_bot": false,
          "headline": "CHANGELOG.md for v2.25.2",
          "author_name": "kecso",
          "author_login": "kecso",
          "committed_at": "2021-01-12T01:35:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a38334af702b657294c45d7e518d71aaef1d4b3d",
          "body": "Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.1 to 6.5.3.\r\n- [Release notes](https://github.com/indutny/elliptic/releases)\r\n- [Commits](https://github.com/indutny/elliptic/compare/v6.4.1...v6.5.3)\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump elliptic from 6.4.1 to 6.5.3 (#226)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-01-12T00:44:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2ebe071d8d992ea8d39168b2f8e55f1a5dfdccb",
          "body": "Bumps [bl](https://github.com/rvagg/bl) from 1.2.2 to 1.2.3.\r\n- [Release notes](https://github.com/rvagg/bl/releases)\r\n- [Commits](https://github.com/rvagg/bl/compare/v1.2.2...v1.2.3)\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\n\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump bl from 1.2.2 to 1.2.3 (#247)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-01-12T00:43:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b3d53d97d2b064c6c9ff5ccb5449efe5e133281",
          "body": "* WIP - multi level new objects caused exception\r\n\r\nIt can happen that one side of the merge has multi-level new objects and we still need to be resilient when trying to find conflicts.\r\n\r\n* WIP - fix lint issues\r\n\r\n* WIP - fixing #234\r\n\r\nAdding implementation for proper bookkeeping during library u\n[…]\n WIP - skipping example router tests for now\r\n\r\n* WIP - fixing issue 241 with updated REST API docs\r\n\r\n* WIP - fixing typos in docs\r\n\r\n* WIP - adding clickable index page to api\r\n\r\n* WIP - fix linting",
          "is_bot": false,
          "headline": "Combined fixes for WebGME-engine 01/21 (#250)",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2021-01-11T23:58:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "40f780bb582d61e96e1e569cc98ddc492483755b",
          "body": "No need to require authentication for the package.json",
          "is_bot": false,
          "headline": "WIP - change in accessing package.json (#248)",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2021-01-04T03:36:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a0eed087fca76daad94e4d1079d761da36f9d65",
          "body": "* WIP - trying to process things in order\r\n\r\n* WIP - removing any timer constraints\r\n\r\nThis makes possible to write incomplete data into the blob storage, but we are not expecting read sources to close without error...\r\n\r\n* WIP - lint error fix",
          "is_bot": false,
          "headline": "Blob issue (#246)",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2021-01-04T02:57:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "56282cb1b39179fa308fb1574e98ec080ef9cea8",
          "body": "* WIP - implementing getBinFile\r\n\r\nit will allow plugins to directly access binary files and potentially save them to disk or use them in their intended way.\r\n\r\n* WIP - fixing eslint issues.",
          "is_bot": false,
          "headline": "Binary files for plugin use (#239)",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2020-10-16T06:57:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5108f8dcd45440d9e7c2962b14289e1ac18146eb",
          "body": null,
          "is_bot": false,
          "headline": "Fix grammatical error (\"touches\" -> \"touch\") (#237)",
          "author_name": "Brian Broll",
          "author_login": "brollb",
          "committed_at": "2020-10-08T14:36:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38519b9af889b8a16fd1c8e14ed4cad03303cd1d",
          "body": "* WIP - null is a valid value in data\r\n\r\nit should be possible to get and also to set it!!!\r\n\r\n* WIP - added test\r\n\r\nOther update and null related problems will be moved to a different issue.\r\n\r\nCo-authored-by: kecso <tamas.kecskes@vandebrilt.edu>",
          "is_bot": false,
          "headline": "Decrypt user data (Fixes #231) (#232)",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2020-08-28T23:35:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45d7fbb551528f05ab1bbf1fd918c0e74f115d1e",
          "body": "Just needed to fix the list of AMD requires at the top of the module to optimize in the correct way!",
          "is_bot": false,
          "headline": "Removed optimization related changes",
          "author_name": "kecso",
          "author_login": null,
          "committed_at": "2020-08-28T00:33:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98a57344685ee14ebecc22d8cdb09e539b94f4e3",
          "body": "It is necessary to allow code separation based on the place of deployment.",
          "is_bot": false,
          "headline": "Introduction of build pragmas",
          "author_name": "kecso",
          "author_login": null,
          "committed_at": "2020-08-27T21:23:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35cdfb670d0af3362ca06d93d14b88c5c5815db6",
          "body": "* WIP - replace escape with encodeURIComponent\r\n\r\n* WIP - try to ignore Uint8ArrayToString\r\n\r\n* WIP - introducing TextDecoder as an ultimate soution\r\n\r\n* WIP - using TextDecoder on both sides\r\n\r\n* WIP - fix eslint issues\r\n\r\n* WIP - added mock file to allow compilation\r\n\r\n* WIP - trying out the 'empty:' option to omit loading\r\n\r\nCo-authored-by: kecso <tamas.kecskes@vandebrilt.edu>",
          "is_bot": false,
          "headline": "Escape deprecated (#230)",
          "author_name": "Tamas Kecskes",
          "author_login": "kecso",
          "committed_at": "2020-08-27T18:50:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "487433f5085f9e5e3b42f8487935fe6bdce3d096",
          "body": "* Add error handler to putFile req when streaming. Fixes #228\r\n\r\n* Add test",
          "is_bot": false,
          "headline": "Add error handler to putFile req when streaming. Fixes #228 (#229)",
          "author_name": "Brian Broll",
          "author_login": "brollb",
          "committed_at": "2020-08-20T15:29:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ce04487e7bf1e458cf744a8bc81a54b9de14e98",
          "body": "* Don't treat arrays as objects during decryption. Fixes #223\r\n\r\n* Fix linting issues\r\n\r\n* Update old test",
          "is_bot": false,
          "headline": "Don't treat arrays as objects during decryption. Fixes #223 (#224)",
          "author_name": "Brian Broll",
          "author_login": "brollb",
          "committed_at": "2020-07-23T16:10:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 48,
      "commits_last_year": 27,
      "latest_release_at": "2026-07-20T00:51:21Z",
      "latest_release_tag": "v2.32.0",
      "releases_from_tags": false,
      "days_since_last_push": 1,
      "active_weeks_last_year": 11,
      "days_since_latest_release": 5,
      "mean_days_between_releases": 223.9
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 37,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "webgme-engine",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "webgme",
            "gme",
            "metamodeling",
            "cooperative",
            "modeling",
            "domain"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/webgme-engine",
          "is_deprecated": false,
          "latest_version": "2.32.0",
          "repository_url": "https://github.com/webgme/webgme-engine",
          "versions_count": 48,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 4,
          "monthly_downloads": 4702,
          "first_published_at": "2017-09-11T22:36:27.071000Z",
          "latest_published_at": "2026-07-20T00:56:53.195000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        }
      ]
    },
    "popularity": {
      "forks": 11,
      "stars": 12,
      "watchers": 5,
      "fork_history": {
        "days": [
          {
            "date": "2018-01-06",
            "count": 1
          },
          {
            "date": "2018-02-28",
            "count": 1
          },
          {
            "date": "2018-08-06",
            "count": 1
          },
          {
            "date": "2020-01-10",
            "count": 1
          },
          {
            "date": "2020-05-29",
            "count": 1
          },
          {
            "date": "2021-04-26",
            "count": 1
          },
          {
            "date": "2024-08-24",
            "count": 1
          },
          {
            "date": "2024-12-05",
            "count": 1
          },
          {
            "date": "2025-10-26",
            "count": 1
          },
          {
            "date": "2025-11-18",
            "count": 1
          },
          {
            "date": "2026-01-30",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 11,
        "total_forks": 11
      },
      "star_history": null,
      "open_issues_and_prs": 34
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [
        "src/server/api/webgme-api-v1.raml",
        "src/server/api/webgme-api.raml"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 218108,
      "source_files_sampled": 412,
      "oversized_source_files": 22,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.16",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-mh99-v99m-4gvg"
            ],
            "fixed_version": "5.0.8",
            "advisory_count": 1,
            "oldest_advisory_days": 1
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-mh99-v99m-4gvg"
            ],
            "fixed_version": "5.0.8",
            "advisory_count": 1,
            "oldest_advisory_days": 1
          },
          {
            "name": "elliptic",
            "direct": false,
            "version": "6.6.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.3,
            "advisory_ids": [
              "GHSA-848j-6mx2-7j84"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 198
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "8.0.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-w5hq-g745-h8pq"
            ],
            "fixed_version": "13.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 94
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.5.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.6,
            "advisory_ids": [
              "GHSA-2g4f-4pwh-qvx6",
              "GHSA-v88g-cgmw-v5xw"
            ],
            "fixed_version": "8.18.0",
            "advisory_count": 2,
            "oldest_advisory_days": 1626
          },
          {
            "name": "aws-sdk",
            "direct": true,
            "version": "2.1693.0",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 3.7,
            "advisory_ids": [
              "GHSA-j965-2qgj-vjmq"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 198
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "low": 1,
          "high": 4,
          "moderate": 1
        },
        "advisory_count": 7,
        "affected_count": 6,
        "assessed_count": 472,
        "malicious_count": 0,
        "assessed_package": "npm:webgme-engine@2.32.0",
        "unassessed_count": 0,
        "direct_affected_count": 1
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@azure/msal-node",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.1.5"
        },
        {
          "name": "@redocly/cli",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.30.3"
        },
        {
          "name": "@socket.io/redis-adapter",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.3.0"
        },
        {
          "name": "adm-zip",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.6.0"
        },
        {
          "name": "agentkeepalive",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.5.0"
        },
        {
          "name": "archiver",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^7"
        },
        {
          "name": "aws-sdk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.1693.0"
        },
        {
          "name": "bcryptjs",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3"
        },
        {
          "name": "body-parser",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2"
        },
        {
          "name": "browserify",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^17.0.0"
        },
        {
          "name": "buffer-equal-constant-time",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.1"
        },
        {
          "name": "chance",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.1.11"
        },
        {
          "name": "commander",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^14.0.3"
        },
        {
          "name": "compression",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.7.4"
        },
        {
          "name": "content-disposition",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2"
        },
        {
          "name": "cookie-parser",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.4.6"
        },
        {
          "name": "cors",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.8.5"
        },
        {
          "name": "debug",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.3.4"
        },
        {
          "name": "ejs",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^6"
        },
        {
          "name": "express",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.18.2"
        },
        {
          "name": "import-fresh",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.3.0"
        },
        {
          "name": "jose",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.2.3"
        },
        {
          "name": "jsdoc",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.2"
        },
        {
          "name": "jsonwebtoken",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^9.0.2"
        },
        {
          "name": "method-override",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.0"
        },
        {
          "name": "mime",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.1.0"
        },
        {
          "name": "mongo-uri",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.1.2"
        },
        {
          "name": "mongodb",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^7"
        },
        {
          "name": "ncp",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.0"
        },
        {
          "name": "nodemailer",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^9"
        },
        {
          "name": "pug",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.0"
        },
        {
          "name": "q",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.5.1"
        },
        {
          "name": "redis",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.12.1"
        },
        {
          "name": "requirejs",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.6"
        },
        {
          "name": "requirejs-text",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.16"
        },
        {
          "name": "socket.io",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4"
        },
        {
          "name": "socket.io-client",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4"
        },
        {
          "name": "superagent",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^10.3.0"
        },
        {
          "name": "underscore",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.13.6"
        },
        {
          "name": "webapi-parser",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.5.0"
        },
        {
          "name": "webgme-ot",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "0.0.16"
        },
        {
          "name": "webgme-rust",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "0.1.0"
        },
        {
          "name": "winston",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.4.7"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@azure/msal-node",
            "direct": true,
            "version": "5.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "@redocly/cli",
            "direct": true,
            "version": "2.34.0",
            "ecosystem": "npm"
          },
          {
            "name": "@socket.io/redis-adapter",
            "direct": true,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "adm-zip",
            "direct": true,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "agentkeepalive",
            "direct": true,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "archiver",
            "direct": true,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "aws-sdk",
            "direct": true,
            "version": "2.1693.0",
            "ecosystem": "npm"
          },
          {
            "name": "bcryptjs",
            "direct": true,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "body-parser",
            "direct": true,
            "version": "1.20.5",
            "ecosystem": "npm"
          },
          {
            "name": "body-parser",
            "direct": true,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "browserify",
            "direct": true,
            "version": "17.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-equal-constant-time",
            "direct": true,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "chance",
            "direct": true,
            "version": "1.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "14.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "compression",
            "direct": true,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "content-disposition",
            "direct": true,
            "version": "0.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "content-disposition",
            "direct": true,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cookie-parser",
            "direct": true,
            "version": "1.4.7",
            "ecosystem": "npm"
          },
          {
            "name": "cors",
            "direct": true,
            "version": "2.8.6",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": true,
            "version": "2.6.9",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": true,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": true,
            "version": "4.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": true,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "ejs",
            "direct": true,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "express",
            "direct": true,
            "version": "4.22.2",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": true,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "jose",
            "direct": true,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsdoc",
            "direct": true,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "jsonwebtoken",
            "direct": true,
            "version": "9.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "method-override",
            "direct": true,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": true,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": true,
            "version": "2.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": true,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mongo-uri",
            "direct": true,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "mongodb",
            "direct": true,
            "version": "7.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ncp",
            "direct": true,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "nodemailer",
            "direct": true,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pug",
            "direct": true,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "q",
            "direct": true,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "redis",
            "direct": true,
            "version": "5.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "requirejs",
            "direct": true,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "requirejs-text",
            "direct": true,
            "version": "2.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "socket.io",
            "direct": true,
            "version": "4.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "socket.io-client",
            "direct": true,
            "version": "4.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "superagent",
            "direct": true,
            "version": "10.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "underscore",
            "direct": true,
            "version": "1.13.8",
            "ecosystem": "npm"
          },
          {
            "name": "webapi-parser",
            "direct": true,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "webgme-ot",
            "direct": true,
            "version": "0.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "webgme-rust",
            "direct": true,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "winston",
            "direct": true,
            "version": "2.4.7",
            "ecosystem": "npm"
          },
          {
            "name": "@azure/msal-common",
            "direct": false,
            "version": "16.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "8.57.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/config-array",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/object-schema",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jsdoc/salty",
            "direct": false,
            "version": "0.2.12",
            "ecosystem": "npm"
          },
          {
            "name": "@mongodb-js/saslprep",
            "direct": false,
            "version": "1.4.11",
            "ecosystem": "npm"
          },
          {
            "name": "@noble/hashes",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.scandir",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.walk",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@paralleldrive/cuid2",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgjs/parseargs",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@redis/bloom",
            "direct": false,
            "version": "5.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@redis/client",
            "direct": false,
            "version": "5.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@redis/json",
            "direct": false,
            "version": "5.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@redis/search",
            "direct": false,
            "version": "5.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@redis/time-series",
            "direct": false,
            "version": "5.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@socket.io/component-emitter",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/cors",
            "direct": false,
            "version": "2.8.19",
            "ecosystem": "npm"
          },
          {
            "name": "@types/linkify-it",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/markdown-it",
            "direct": false,
            "version": "14.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "25.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/webidl-conversions",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/whatwg-url",
            "direct": false,
            "version": "13.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ws",
            "direct": false,
            "version": "8.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/structured-clone",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "abort-controller",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "accepts",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-node",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.5.2",
            "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": "archiver-utils",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "array-flatten",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "asap",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "asn1.js",
            "direct": false,
            "version": "4.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "assert",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "assert-never",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "async",
            "direct": false,
            "version": "2.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "async",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "asynckit",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "available-typed-arrays",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "b4a",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "babel-walk",
            "direct": false,
            "version": "3.0.0-canary-5",
            "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": "bare-events",
            "direct": false,
            "version": "2.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "bare-fs",
            "direct": false,
            "version": "4.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "bare-os",
            "direct": false,
            "version": "3.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "bare-path",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "bare-stream",
            "direct": false,
            "version": "2.13.3",
            "ecosystem": "npm"
          },
          {
            "name": "bare-url",
            "direct": false,
            "version": "2.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "base64id",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bluebird",
            "direct": false,
            "version": "3.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "4.12.3",
            "ecosystem": "npm"
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "bops",
            "direct": false,
            "version": "0.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "brorand",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "browser-pack",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "browser-resolve",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "browser-stdout",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-aes",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-cipher",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-des",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-rsa",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-sign",
            "direct": false,
            "version": "4.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-zlib",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "bson",
            "direct": false,
            "version": "7.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "4.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-crc32",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-xor",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "builtin-status-codes",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "cached-path-relative",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bound",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "catharsis",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "character-parser",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cipher-base",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cluster-key-slot",
            "direct": false,
            "version": "1.1.2",
            "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": "colors",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "combine-source-map",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "combined-stream",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "component-emitter",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "compress-commons",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "compressible",
            "direct": false,
            "version": "2.0.18",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-stream",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "console-browserify",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "constantinople",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "constants-browserify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "cookie-signature",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "cookiejar",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "core-util-is",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "crc-32",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "crc32-stream",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "create-ecdh",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "create-hash",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "create-hmac",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "crypto-browserify",
            "direct": false,
            "version": "3.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "cycle",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "dash-ast",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "define-data-property",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "define-properties",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "defined",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "delayed-stream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "depd",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deps-sort",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "des.js",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "destroy",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "detective",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "dezalgo",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "diffie-hellman",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "doctypes",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "domain-browser",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer2",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "eastasianwidth",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ecdsa-sig-formatter",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "ee-first",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "elliptic",
            "direct": false,
            "version": "6.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "encodeurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "engine.io",
            "direct": false,
            "version": "6.6.9",
            "ecosystem": "npm"
          },
          {
            "name": "engine.io-client",
            "direct": false,
            "version": "6.6.6",
            "ecosystem": "npm"
          },
          {
            "name": "engine.io-parser",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-html",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "8.57.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "7.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "9.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "etag",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "event-target-shim",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "events",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "events",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "events-universal",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "evp_bytestokey",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "eyes",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-fifo",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fast-safe-stringify",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "finalhandler",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "for-each",
            "direct": false,
            "version": "0.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "formidable",
            "direct": false,
            "version": "3.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "forwarded",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fresh",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "generator-function",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-assigned-identifiers",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "10.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "13.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "13.24.0",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "graphemer",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-property-descriptors",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hash-base",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "hash-base",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "hash.js",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "he",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "hmac-drbg",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "htmlescape",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "https-browserify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "humanize-ms",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.4.24",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "inline-source-map",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "insert-module-globals",
            "direct": false,
            "version": "7.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ipaddr.js",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-arguments",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-buffer",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "is-callable",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.16.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-expression",
            "direct": false,
            "version": "4.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-generator-function",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-path-inside",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-promise",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-regex",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-typed-array",
            "direct": false,
            "version": "1.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isstream",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "jmespath",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-stringify",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "js2xmlparser",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonparse",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "JSONStream",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "jstransformer",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jwa",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jws",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "klaw",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "labeled-stream-splicer",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "lazystream",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.includes",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isboolean",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isinteger",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isnumber",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isplainobject",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isstring",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.memoize",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.once",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "log-symbols",
            "direct": false,
            "version": "4.1.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": "markdown-it",
            "direct": false,
            "version": "14.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-anchor",
            "direct": false,
            "version": "8.6.7",
            "ecosystem": "npm"
          },
          {
            "name": "marked",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "md5.js",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "media-typer",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "media-typer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "memory-pager",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-descriptors",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "methods",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "miller-rabin",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.35",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "minimalistic-assert",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimalistic-crypto-utils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "5.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp-classic",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "mocha",
            "direct": false,
            "version": "11.7.6",
            "ecosystem": "npm"
          },
          {
            "name": "module-deps",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "mongodb-connection-string-url",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "msgpack-js",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "notepack.io",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "object-keys",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object.assign",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "on-finished",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "on-headers",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "os-browserify",
            "direct": false,
            "version": "0.3.0",
            "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": "pako",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parents",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-asn1",
            "direct": false,
            "version": "5.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "parseurl",
            "direct": false,
            "version": "1.3.3",
            "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-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-platform",
            "direct": false,
            "version": "0.11.15",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "0.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "pbkdf2",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "pkginfo",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "possible-typed-array-names",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "process",
            "direct": false,
            "version": "0.11.10",
            "ecosystem": "npm"
          },
          {
            "name": "process-nextick-args",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "promise",
            "direct": false,
            "version": "7.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-addr",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "public-encrypt",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pug-attrs",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pug-code-gen",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pug-error",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "pug-filters",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pug-lexer",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pug-linker",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pug-load",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pug-parser",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pug-runtime",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pug-strip-comments",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pug-walk",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "punycode.js",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.15.2",
            "ecosystem": "npm"
          },
          {
            "name": "querystring",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "querystring-es3",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "randombytes",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "randomfill",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "range-parser",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "raw-body",
            "direct": false,
            "version": "2.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "raw-body",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "read-only-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdir-glob",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "requizzle",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.12",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "6.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "ripemd160",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-regex-test",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "sax",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "send",
            "direct": false,
            "version": "0.19.2",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "serve-static",
            "direct": false,
            "version": "1.16.3",
            "ecosystem": "npm"
          },
          {
            "name": "set-function-length",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "setprototypeof",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "sha.js",
            "direct": false,
            "version": "2.4.12",
            "ecosystem": "npm"
          },
          {
            "name": "shasum-object",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shell-quote",
            "direct": false,
            "version": "1.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-list",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-map",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-weakmap",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "simple-concat",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "socket.io-adapter",
            "direct": false,
            "version": "2.5.8",
            "ecosystem": "npm"
          },
          {
            "name": "socket.io-parser",
            "direct": false,
            "version": "4.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "npm"
          },
          {
            "name": "sparse-bitfield",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "stack-trace",
            "direct": false,
            "version": "0.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "stream-browserify",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-combiner2",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "stream-http",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-splicer",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "streamx",
            "direct": false,
            "version": "2.28.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": "string_decoder",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.3.0",
            "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": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "subarg",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "8.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-preserve-symlinks-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "syntax-error",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "tar-stream",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "teex",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "text-decoder",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "text-table",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "through",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "through2",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "timers-browserify",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "to-buffer",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "to-utf8",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "toidentifier",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "token-stream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "tty-browserify",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-is",
            "direct": false,
            "version": "1.6.18",
            "ecosystem": "npm"
          },
          {
            "name": "type-is",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-buffer",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typedarray",
            "direct": false,
            "version": "0.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "uc.micro",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "uid2",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "umd",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "undeclared-identifiers",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.24.6",
            "ecosystem": "npm"
          },
          {
            "name": "unpipe",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "url",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "url",
            "direct": false,
            "version": "0.11.4",
            "ecosystem": "npm"
          },
          {
            "name": "util",
            "direct": false,
            "version": "0.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "util",
            "direct": false,
            "version": "0.12.5",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "utils-merge",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "vary",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "vm-browserify",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "void-elements",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "14.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-typed-array",
            "direct": false,
            "version": "1.1.22",
            "ecosystem": "npm"
          },
          {
            "name": "with",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "workerpool",
            "direct": false,
            "version": "9.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "8.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "xml2js",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "xmlbuilder",
            "direct": false,
            "version": "11.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "xmlcreate",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "xmlhttprequest-ssl",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "17.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-unparser",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "zip-stream",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 574,
        "direct_count": 50,
        "indirect_count": 524
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 2,
        "merged_prs": 193,
        "open_issues": 32,
        "closed_ratio": 0.74,
        "closed_issues": 91,
        "closed_unmerged_prs": 51
      },
      "bus_factor": 2,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "kecso",
          "commits": 2131,
          "avatar_url": "https://avatars.githubusercontent.com/u/1371489?v=4"
        },
        {
          "type": "User",
          "login": "rkereskenyi",
          "commits": 1819,
          "avatar_url": "https://avatars.githubusercontent.com/u/1371241?v=4"
        },
        {
          "type": "User",
          "login": "brollb",
          "commits": 665,
          "avatar_url": "https://avatars.githubusercontent.com/u/4982789?v=4"
        },
        {
          "type": "User",
          "login": "mmaroti",
          "commits": 399,
          "avatar_url": "https://avatars.githubusercontent.com/u/962487?v=4"
        },
        {
          "type": "User",
          "login": "pmeijer",
          "commits": 350,
          "avatar_url": "https://avatars.githubusercontent.com/u/6518904?v=4"
        },
        {
          "type": "User",
          "login": "nabana",
          "commits": 175,
          "avatar_url": "https://avatars.githubusercontent.com/u/949040?v=4"
        },
        {
          "type": "User",
          "login": "ksmyth",
          "commits": 158,
          "avatar_url": "https://avatars.githubusercontent.com/u/1047813?v=4"
        },
        {
          "type": "User",
          "login": "lattmann",
          "commits": 72,
          "avatar_url": "https://avatars.githubusercontent.com/u/1108945?v=4"
        },
        {
          "type": "User",
          "login": "hakantunc",
          "commits": 14,
          "avatar_url": "https://avatars.githubusercontent.com/u/5684384?v=4"
        },
        {
          "type": "User",
          "login": "volgy",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/1080759?v=4"
        }
      ],
      "contributors_sampled": 13,
      "top_contributor_share": 0.368
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "nightly-audit.yaml",
        "node.js.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".eslintrc.json"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 8,
            "reason": "binaries present in source code",
            "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": 8,
            "reason": "14 out of 17 merged PRs checked by a CI test -- score normalized to 8",
            "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": 4,
            "reason": "Found 12/28 approved changesets -- score normalized to 4",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 8 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "21 commit(s) and 2 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": 1,
            "reason": "dependency not pinned by hash detected -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "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": null,
            "reason": "no releases found",
            "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": "14 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "e698b4997883a1fc6c6d39fe83d06edea8eab84b",
        "ran_at": "2026-07-26T00:26:29Z",
        "aggregate_score": 4.5,
        "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-25T04:58:05Z",
      "oldest_open_prs": [
        {
          "number": 347,
          "created_at": "2026-05-07T01:57:12Z",
          "last_comment_at": "2026-05-11T16:22:48Z",
          "last_comment_author": "pmeijer"
        },
        {
          "number": 369,
          "created_at": "2026-07-24T13:01:25Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-18T03:12:21Z",
      "ci_last_conclusion": "FAILURE",
      "oldest_open_issues": [
        {
          "number": 10,
          "created_at": "2017-09-25T15:44:40Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 11,
          "created_at": "2017-09-27T15:03:41Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 27,
          "created_at": "2017-11-29T18:56:26Z",
          "last_comment_at": "2017-11-30T23:04:54Z",
          "last_comment_author": "kecso"
        },
        {
          "number": 40,
          "created_at": "2018-01-23T15:28:33Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 70,
          "created_at": "2018-03-21T21:42:59Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 85,
          "created_at": "2018-04-18T15:19:23Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 91,
          "created_at": "2018-05-08T13:51:14Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 93,
          "created_at": "2018-05-21T17:14:48Z",
          "last_comment_at": "2018-05-22T13:06:02Z",
          "last_comment_author": "finger563"
        },
        {
          "number": 161,
          "created_at": "2019-05-06T23:57:46Z",
          "last_comment_at": "2019-05-07T01:44:47Z",
          "last_comment_author": "nawgz"
        },
        {
          "number": 169,
          "created_at": "2019-09-19T13:13:25Z",
          "last_comment_at": "2019-10-16T21:55:05Z",
          "last_comment_author": "brollb"
        },
        {
          "number": 171,
          "created_at": "2019-10-08T12:38:36Z",
          "last_comment_at": "2019-10-08T13:43:46Z",
          "last_comment_author": "brollb"
        },
        {
          "number": 172,
          "created_at": "2019-10-08T12:42:55Z",
          "last_comment_at": "2019-10-08T13:40:30Z",
          "last_comment_author": "brollb"
        },
        {
          "number": 173,
          "created_at": "2019-10-17T14:37:01Z",
          "last_comment_at": "2019-10-17T19:09:12Z",
          "last_comment_author": "pmeijer"
        },
        {
          "number": 209,
          "created_at": "2020-05-18T15:04:48Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 211,
          "created_at": "2020-05-19T14:35:05Z",
          "last_comment_at": "2021-01-06T16:51:33Z",
          "last_comment_author": "kecso"
        },
        {
          "number": 222,
          "created_at": "2020-07-21T14:37:15Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 227,
          "created_at": "2020-08-05T14:11:09Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 233,
          "created_at": "2020-08-29T03:19:44Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 240,
          "created_at": "2020-10-20T20:27:22Z",
          "last_comment_at": "2022-05-18T23:11:22Z",
          "last_comment_author": "brollb"
        },
        {
          "number": 252,
          "created_at": "2021-01-27T02:35:07Z",
          "last_comment_at": "2023-09-01T19:39:58Z",
          "last_comment_author": "pmeijer"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/webgme/webgme-engine",
    "host": "github.com",
    "name": "webgme-engine",
    "owner": "webgme"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 65,
      "inputs": {
        "security": 47,
        "vitality": 74,
        "community": 44,
        "governance": 72,
        "engineering": 78
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 74,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 67,
            "inputs": {
              "commits_last_year": 27,
              "human_commit_share": 0.87,
              "days_since_last_push": 1,
              "active_weeks_last_year": 11
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "11/52 weeks with commits",
                "points": 7.6,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 11
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "27 commits in the last year",
                "points": 13,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 27
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "21 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 84,
            "inputs": {
              "releases_count": 48,
              "latest_release_tag": "v2.32.0",
              "releases_from_tags": false,
              "days_since_latest_release": 5,
              "mean_days_between_releases": 223.9
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "48 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 48
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~223.9 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 223.9
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": 5,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 5 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 44,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 28,
            "inputs": {
              "forks": 11,
              "stars": 12,
              "watchers": 5,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "12 stars",
                "points": 16.9,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "11 forks",
                "points": 8.3,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "5 watchers",
                "points": 3.3,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (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": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 61,
            "inputs": {
              "packages": [
                "webgme-engine"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 4702
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "4,702 downloads/month across npm",
                "points": 49,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 4702,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 72,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 63,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 13,
              "top_contributor_share": 0.368
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 37% of commits",
                "points": 14.2,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 37
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "13 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 13
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 8 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 71,
            "inputs": {
              "merged_prs": 193,
              "open_issues": 32,
              "closed_issues": 91,
              "issue_closed_ratio": 0.74,
              "closed_unmerged_prs": 51
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "74% of issues closed",
                "points": 34.6,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 74
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "193/244 decided PRs merged",
                "points": 30.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 193,
                      "decided": 244
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 12/28 approved changesets -- score normalized to 4",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 63,
            "inputs": {
              "followers": 15,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "webgme",
              "public_repos": 45,
              "account_age_days": 5406
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "15 followers of webgme",
                "points": 8.7,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 15,
                      "login": "webgme"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "45 public repos, account ~14 yr old",
                "points": 24.1,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 45
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 14
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "webgme-engine"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 5 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "48 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 48
                    }
                  }
                ],
                "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": 78,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc.json",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.json"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "14 out of 17 merged PRs checked by a CI test -- score normalized to 8",
                "points": 16,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "good",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 47,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 45,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 4.5
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 6,
                "status": "partial",
                "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": "14 out of 17 merged PRs checked by a CI test -- score normalized to 8",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 12/28 approved changesets -- score normalized to 4",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 8 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "21 commit(s) and 2 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 1",
                "points": 0.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "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": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": "14 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "moderate",
            "name": "Dependency advisories",
            "note": "Matched the npm:webgme-engine@2.32.0 runtime dependency closure — what installing the published package pulls in — 472 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:webgme-engine@2.32.0",
                  "assessed": 472
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 56,
            "inputs": {
              "source": "osv",
              "advisories": 7,
              "affected_packages": 6,
              "assessed_packages": 472,
              "unassessed_packages": 0,
              "affected_by_severity": "high 4, moderate 1, low 1",
              "direct_affected_packages": 1
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "1 affected: aws-sdk 2.1693.0 (low 3.7)",
                "points": 24.6,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "aws-sdk 2.1693.0 (low 3.7)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "5 affected: brace-expansion 1.1.16 (high 7.5), brace-expansion 2.1.2 (high 7.5), elliptic 6.6.1 (high 7.3), +2 more",
                "points": 5.9,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 5,
                      "packages": "brace-expansion 1.1.16 (high 7.5), brace-expansion 2.1.2 (high 7.5), elliptic 6.6.1 (high 7.3)"
                    }
                  },
                  {
                    "code": "advisories_affected_more",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "4 advisory-carrying package(s) unaddressed past 90 days; oldest published 1626 days ago",
                "points": 25,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 4,
                      "oldest": 1626
                    }
                  }
                ],
                "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": 472,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 10
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 46,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 28,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.517,
              "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": "45 of 87 human commits state their intent (structured subject or explanatory body)",
                "points": 27.6,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 45,
                      "sampled": 87
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0.04,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.13
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".eslintrc.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "4 of the last 100 commits agent-authored or agent-credited",
                "points": 8,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 4,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "13 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 13,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 52,
            "inputs": {
              "primary_language": "JavaScript",
              "largest_source_bytes": 218108,
              "source_files_sampled": 412,
              "oversized_source_files": 22
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "JavaScript without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "JavaScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "22/412 source files over 60KB",
                "points": 52.1,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 412,
                      "oversized": 22
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [],
              "has_mcp_signal": false,
              "api_schema_files": [
                "src/server/api/webgme-api-v1.raml",
                "src/server/api/webgme-api.raml"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "src/server/api/webgme-api-v1.raml, src/server/api/webgme-api.raml",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "src/server/api/webgme-api-v1.raml, src/server/api/webgme-api.raml"
                    }
                  }
                ],
                "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-26T00:26:46.670232Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/w/webgme/webgme-engine.svg",
  "full_name": "webgme/webgme-engine",
  "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 agregadasnpm.