Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 1.13.0 · 2026-07-26 00:26 UTC

webgme / webgme-engine

WebGME server and Client API without a GUI

JavaScriptMIT★ 12 Sterne⑂ 11 Forksseit Aug. 2017Auf GitHub ansehen ↗

webgme/webgme-engine erreicht einen Gesundheitsindex von 65 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei Engineering Quality (78/100) ab, am schwächsten bei Community & Adoption (44/100). Zuletzt vor 1 Tag aktualisiert. 2 Mitwirkende tragen den Großteil der jüngsten Arbeit.

65
gesamt / 100
Mittel

Software-Gesundheitsindex

Metriken werden auf einer Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr Mittel; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze 49 (Gefährdet). AI Readiness liegt außerhalb.

65
Exzellent85-100Vorbildlich; erfüllt im Wesentlichen alle geprüften Kriterien
Gut70-84Gesund; geringfügige Lücken
Mittel50-69Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Gefährdet30-49Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-29Schwerwiegende Probleme (aufgegeben, nur ein Maintainer, keine Hygiene)
VitalitätCommunity &VerbreitungNachhaltigkeit &GovernanceEngineering-QualitätSicherheitAI Readiness

Bewertungsprofil

Jede Achse ist eine Kategorie. Die Form zählt mehr als der Durchschnitt — ein gesundes Projekt füllt die gesamte Fläche, während ein Profil aus Spitzen und Kratern bedeutet, dass Stärke in einer Dimension Risiken in einer anderen verdeckt.

Eigentümerschaft

WebGMEOrganisation
15 Follower45 öffentliche Reposseit Okt. 2011

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

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
npmwebgme-engine2.32.04.70248vor 5 Tagenwebgmegmemetamodelingcooperativemodelingdomain

Metriken nach Kategorie

Vitalität

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

74Gut · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 1 Tagen
7.6/36Commit-Rhythmus — 11/52 Wochen mit Commits
13/18Commit-Volumen — 27 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 21 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year27
human_commit_share0,87
days_since_last_push1
active_weeks_last_year11
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 48 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 5 Tagen
12.6/27Release-Rhythmus — ein Release etwa alle 223,9 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count48
latest_release_tagv2.32.0
releases_from_tagsnein
days_since_latest_release5
mean_days_between_releases223,9
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: Signed-Releases. Die verbleibenden Gewichte wurden renormalisiert.

Community & Verbreitung

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

44Gefährdet · 18 % des Gesamtindex
Wie die Bewertung erfolgt
16.9/60Stars — 12 Stars
8.3/25Forks — 11 Forks
3.3/15Watcher — 5 Watcher
Verwendete Eingangsdaten
forks11
stars12
watchers5
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (MIT)
0/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingnein
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templatenein
Wie die Bewertung erfolgt
49/80Downloads pro Monat — 4.702 Downloads/Monat über npm
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packageswebgme-engine
dependents
ecosystemsnpm
total_downloads
monthly_downloads4.702
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Abhängige in der Registry. Die verbleibenden Gewichte wurden renormalisiert.

Nachhaltigkeit & Governance

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

72Gut · 24 % des Gesamtindex
Wie die Bewertung erfolgt
25.2/54Bus-Faktor — 2 Beitragende decken die Hälfte aller Commits ab
14.2/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 37 % der Commits
13.5/13.5Breite der Beitragenden — 13 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 8 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor2
contributors_sampled13
top_contributor_share0,368
Wie die Bewertung erfolgt
34.6/46.8Issue-Lösungsquote — 74 % der Issues geschlossen
30.3/38.3PR-Annahme — 193/244 entschiedene PRs gemergt
6/15OpenSSF Scorecard: Code-Review — Found 12/28 approved changesets -- score normalized to 4
Verwendete Eingangsdaten
merged_prs193
open_issues32
closed_issues91
issue_closed_ratio0,74
closed_unmerged_prs51
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
8.7/25Reichweite des Inhabers — 15 Follower von webgme
24.1/25Kontohistorie — 45 öffentliche Repos, Kontoalter ca. 14 Jahre
Verwendete Eingangsdaten
followers15
owner_typeOrganization
is_verified
owner_loginwebgme
public_repos45
account_age_days5.406

Paketpflege

100Exzellent
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf npm
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 5 Tagen
20/20Versionshistorie — 48 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packageswebgme-engine
ecosystemsnpm
any_deprecatednein
min_days_since_publish5

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

78Gut · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 2 Workflow(s)
24/24Tests vorhanden
16/16Linter-Konfiguration — .eslintrc.json
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
16/20OpenSSF Scorecard: CI-Tests — 14 out of 17 merged PRs checked by a CI test -- score normalized to 8
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_configja
has_precommit_confignein
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
0/15Dokumentations-/Homepage-Site
10/10Repository-Beschreibung
0/10Topics
10/10Wiki
Verwendete Eingangsdaten
topics
has_wikija
homepage
has_readmeja
has_docs_dirja
has_descriptionja

Sicherheit

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

47Gefährdet · 16 % des Gesamtindex

Sicherheitslage

45Gefährdet
Wie die Bewertung erfolgt
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.5Lizenz — 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 — keine Daten
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 — keine Daten
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 14 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate4,5
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): packaging, signed_releases. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
24.6/35Direkte Abhängigkeiten ohne bekannte Advisories — 1 betroffen: aws-sdk 2.1693.0 (low 3.7)
5.9/25Indirekte Abhängigkeiten ohne bekannte Advisories — 5 betroffen: brace-expansion 1.1.16 (high 7.5), brace-expansion 2.1.2 (high 7.5), elliptic 6.6.1 (high 7.3), +2 weitere
25/40Keine offenen Advisories — 4 Paket(e) mit Advisory seit über 90 Tagen unbehandelt; ältestes vor 1.626 Tagen veröffentlicht
Verwendete Eingangsdaten
sourceosv
advisories7
affected_packages6
assessed_packages472
unassessed_packages0
affected_by_severityhigh 4, moderate 1, low 1
direct_affected_packages1
Abgeglichen wurde die Laufzeit-Abhängigkeitshülle von npm:webgme-engine@2.32.0 — das, was die Installation des veröffentlichten Pakets nach sich zieht — mit 472 Paketen. Erreichbarkeit wird nicht analysiert.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Ein unabhängiges, experimentelles Badge — Gewicht 0,0, es wird eigenständig ausgewiesen und verändert den Gesamt-Gesundheitswert nicht.

46Gefährdet · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
27.6/40Lesbare Commit-Historie — 45 von 87 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,517
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
11/11Lint-/Format-Konfiguration — .eslintrc.json
0/11Statische Typprüfung
10/10Reproduzierbare Umgebung — lockfile
8/10Belegte Agentenpraxis — 4 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
8/8Automatisierte Wartung — 13 der letzten 100 Commits sind automatisierte Abhängigkeits-Updates
1/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfilespackage-lock.json
has_dockerfilenein
typed_languagenein
bootstrap_files
has_devcontainernein
has_linter_configja
typecheck_configs
agent_commit_share0,04
toolchain_manifests
dependency_bot_commit_share0,13
Wie die Bewertung erfolgt
0/45Typprüfbarer Code — JavaScript ohne Typprüfungs-Konfiguration
52.1/55Handhabbare Dateigrößen — 22/412 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageJavaScript
largest_source_bytes218.108
source_files_sampled412
oversized_source_files22
Wie die Bewertung erfolgt
40/40API-Schema (OpenAPI/GraphQL/proto) — src/server/api/webgme-api-v1.raml, src/server/api/webgme-api.raml
0/20MCP-Server
0/40Lauffähige Beispiele
Verwendete Eingangsdaten
example_dirs
has_mcp_signalnein
api_schema_filessrc/server/api/webgme-api-v1.raml, src/server/api/webgme-api.raml

Eckdaten

12GitHub-Sterne
13Mitwirkende
27Commits, letzte 12 Monate
1Tage seit letztem Push
48Releases
2Bus-Faktor
32offene Issues
npmPaket-Ökosysteme

Warnungen zur Datenerhebung

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

Weitere Details

Stern- und Fork-Verlauf 0 ★ / 11 ⇿
0Sterne
11Forks
36Releases

Wann jeder Stern und Fork hinzugefügt wurde, von GitHub erfasst und nach Tagen gruppiert. Das kumulierte Wachstum steht direkt über den täglichen Zugängen, aus denen es besteht, sodass beide gegeneinander lesbar sind: stetiger organischer Zuwachs sieht ganz anders aus als ein abrupter, kurzlebiger Ausschlag. Wo dieser Unterschied messbar ist, wird er als Wachstumsauthentizität ausgewiesen.

0246810121112018-012022-012026-01
Major 0Minor 10Patch 26

Jeder Punkt umfasst 8 Tage.

OpenSSF Scorecard 4.5 / 10
4.5Gesamtwert

Unabhängige, werkzeugneutrale Sicherheitsbewertung durch das quelloffene OpenSSF Scorecard. Jede Prüfung honoriert eine Sicherheits-Praxis, nicht das Werkzeug eines bestimmten Anbieters. Prüfungen, die Scorecard nicht ermitteln konnte, sind mit k. A. markiert und vom Sicherheitswert ausgeschlossen (nie als null gezählt).Scorecard v5.5.0 · 2026-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
k. A.Packagingpackaging 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
k. A.Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities14 existing vulnerabilities detected
Direkte Abhängigkeiten 43
RegistryPaketVersionsvorgabeManifest
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
Alle Abhängigkeiten 574

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

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

Die Installation von npm:webgme-engine@2.32.0 zieht 472 Pakete nach sich, direkt und transitiv: 6 tragen bekannte Advisories, davon 1 direkte Abhängigkeiten.

PaketVersionBeziehungSchweregradAdvisoriesBehoben in
brace-expansion1.1.16indirekthoch15.0.8
brace-expansion2.1.2indirekthoch15.0.8
elliptic6.6.1indirekthoch1
uuid8.0.0indirekthoch113.0.1
ajv6.5.2indirektmittel28.18.0
aws-sdk2.1693.0direktniedrig1

Ein Advisory bedeutet, dass die im Abhängigkeitsgraphen erfasste Version in den betroffenen Bereich eines Advisories fällt. Erreichbarkeit wird nicht analysiert, und der Graph enthält Entwicklungs- und Test-Pins — ein Fund kann das Werkzeug betreffen und nicht die ausgelieferte Software.

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "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"
}

Bewertungen sind Signale, keine Garantien. Sie spiegeln öffentlich sichtbare Praxis auf GitHub wider — kein Code-Audit und keine Sicherheitsgarantie.

Fehlende Daten werden ausgeschlossen und die Gewichte neu normiert, nie als null bewertet. Die Methodik ist versioniert und offen: Metriken v1.13.0, Schema v0.27.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistikennpm.