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

opentdf / web-sdk

OpenTDF JavaScript SDK

TypeScriptBSD-3-Clause-Clear★ 10 estrellas⑂ 5 forksdesde oct 2021Ver en GitHub ↗

opentdf/web-sdk tiene un índice de salud de 70 sobre 100, lo que lo sitúa en la banda Bueno. Su puntuación más alta es AI Readiness (92/100) y la más baja, Community & Adoption (62/100). Se actualizó por última vez hace 1 día. Una sola persona concentra la mayor parte del trabajo reciente.

70
global / 100
Bueno

Índice de salud del software

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

70
Excelente85-100Ejemplar; cumple prácticamente todos los criterios evaluados
Bueno70-84Saludable; carencias menores
Moderado50-69Aceptable con carencias notables; se recomienda revisión
En riesgo30-49Debilidades significativas; su adopción exige cautela
Crítico1-29Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

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

Titularidad

OpenTDFOrganización
115 seguidores11 repositorios públicosdesde sept 2021

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

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicación
npm@opentdf/ctl0.20.05218138hace 12 días
npm@opentdf/sdk0.20.0152.025166hace 12 días
npmweb-appapunta a otro repositorio; no se puntúa0.1.04391hace 3457 días

Métricas por categoría

Vitalidad

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

88Excelente · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 1 días
22.8/36Cadencia de commits — 33/52 semanas con commits
18/18Volumen de commits — 126 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year126
human_commit_share0,46
days_since_last_push1
active_weeks_last_year33
Cómo se puntúa
27/27Publica versiones — 29 versiones publicadas
36/36Recencia de las versiones — última versión hace 5 días
27/27Cadencia de publicación — una versión cada ~13,4 días
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Datos de entrada utilizados
releases_count29
latest_release_tagdev
releases_from_tagsno
days_since_latest_release5
mean_days_between_releases13,4

Comunidad y Adopción

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

62Moderado · 18% del índice global
Cómo se puntúa
15.5/60Estrellas — 10 estrellas
5/25Forks — 5 forks
6.4/15Observadores — 15 observadores
Datos de entrada utilizados
forks5
stars10
watchers15
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (BSD-3-Clause-Clear)
18/18Guía CONTRIBUTING
13.5/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributing
has_issue_templateno
has_code_of_conduct
has_pull_request_templateno
Cómo se puntúa
69.3/80Descargas mensuales — 157.243 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packages@opentdf/ctl, @opentdf/sdk
dependents
ecosystemsnpm
total_downloads
monthly_downloads157.243
Excluidos de la puntuación (sin datos o no aplicable): Dependientes en el registro. Los pesos restantes se han renormalizado.

Sostenibilidad y Gobernanza

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

64Moderado · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
9.9/22.5Distribución de commits — el principal contribuyente firma el 56% de los commits
13.5/13.5Amplitud de contribuyentes — 29 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 5 contributing companies or organizations
Datos de entrada utilizados
bus_factor1
contributors_sampled29
top_contributor_share0,561
Cómo se puntúa
26.6/46.8Resolución de issues — 57% de issues cerradas
21.1/38.3Aceptación de PR — 493/892 PR decididos fusionados
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Datos de entrada utilizados
merged_prs493
open_issues16
closed_issues21
issue_closed_ratio0,568
closed_unmerged_prs399
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
14.8/25Alcance del propietario — 115 seguidores de opentdf
17.6/25Trayectoria — 11 repos públicos, cuenta de ~4 años
Datos de entrada utilizados
followers115
owner_typeOrganization
is_verified
owner_loginopentdf
public_repos11
account_age_days1783
Cómo se puntúa
25/25Publicado y resoluble — 2 paquete(s) en npm
35/35Recencia de publicación — última publicación hace 12 días
20/20Historial de versiones — 166 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packages@opentdf/ctl, @opentdf/sdk
ecosystemsnpm
any_deprecatedno
min_days_since_publish12

Calidad de Ingeniería

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

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

Documentación

50Moderado
Cómo se puntúa
30/30README
0/25Directorio de documentación
0/15Sitio de documentación / página del proyecto
10/10Descripción del repositorio
10/10Topics — 12 topics
0/10Wiki
Datos de entrada utilizados
topicsdata-encryption, data-tagging, drm, end-to-end-encryption, file-encryption, open-source, opensource, opentdf, tdf, webclient, zero-trust, zero-trust-security
has_wikino
homepage
has_readme
has_docs_dirno
has_description

Seguridad

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

66Moderado · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0.8/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 5 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — sin datos
2.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 5
5/5SAST — SAST tool is run on all commits
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
1.5/7.5Vulnerabilities — 8 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate5,7
Excluidos de la puntuación (sin datos o no aplicable): packaging. Los pesos restantes se han renormalizado.
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
25/25Dependencias indirectas libres de avisos conocidos — ninguna dependencia indirecta tiene un aviso conocido
0/40Sin avisos pendientes — ningún aviso tiene fecha de publicación
Datos de entrada utilizados
sourceosv
advisories0
affected_packages0
assessed_packages20
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Excluidos de la puntuación (sin datos o no aplicable): Sin avisos pendientes. Los pesos restantes se han renormalizado. Se cotejó el cierre de dependencias en tiempo de ejecución de npm:@opentdf/ctl@0.20.0 —lo que arrastra la instalación del paquete publicado—: 20 paquetes. No se analiza la alcanzabilidad.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.

92Excelente · 0% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — AGENTS.md
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 46 de 46 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share1
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes2274
Cómo se puntúa
18/18Arranque con un solo comando — Makefile
22/22Pruebas automatizadas
11/11Configuración de lint / formato — eslint.config.mjs
11/11Verificación estática de tipos — cli/tsconfig.json, lib/tsconfig.json, web-app/tsconfig.json
10/10Entorno reproducible — Dockerfile, lockfile
10/10Práctica demostrada con agentes — 25 de los últimos 100 commits con autoría o crédito de agente
8/8Mantenimiento automatizado — 40 de los últimos 100 commits son actualizaciones automáticas de dependencias
5/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 5
Datos de entrada utilizados
has_nixno
has_tests
lockfilespackage-lock.json
has_dockerfile
typed_language
bootstrap_filesMakefile
has_devcontainerno
has_linter_config
typecheck_configscli/tsconfig.json, lib/tsconfig.json, web-app/tsconfig.json
agent_commit_share0,25
toolchain_manifests
dependency_bot_commit_share0,4
Cómo se puntúa
45/45Código verificable por tipos — TypeScript (tipado estático)
54.4/55Tamaños de archivo manejables — 2/185 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageTypeScript
largest_source_bytes235.768
source_files_sampled185
oversized_source_files2

Datos clave

10estrellas de GitHub
29contribuidores
126commits en los últimos 12 meses
1días desde el último push
29versiones publicadas
1factor bus
16issues abiertas
npmecosistemas de paquetes

Advertencias de recopilación de datos

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • npm package 'web-app' points at a different repository (https://github.com/alanbakhri/node); excluded from ecosystem scoring

Más detalle

Historial de estrellas y forks 0 ★ / 5 ⇿
0Estrellas
5Forks
22Versiones

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

12345512024-062025-062026-07
Mayor 1Menor 0Parche 0

Cada punto abarca 2 días.

OpenSSF Scorecard 5.7 / 10
5.7agregado

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

10Binary-Artifactsno binaries found in the repo
1Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 5 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
n/dPackagingpackaging workflow not detected
5Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 5
10SASTSAST tool is run on all commits
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
2Vulnerabilities8 existing vulnerabilities detected
Dependencias directas 15
RegistroPaqueteRestricción de versiónManifiesto
npm@opentdf/sdkfile:../lib/opentdf-sdk-0.20.0.tgzcli/package.json
npmyargs^18.0.0cli/package.json
npm@connectrpc/connect^2.0.2lib/package.json
npm@connectrpc/connect-web^2.0.2lib/package.json
npmbuffer-crc32^1.0.0lib/package.json
npmjose6.0.8lib/package.json
npmjson-canonicalize^1.0.6lib/package.json
npmuuid~14.0.0lib/package.json
npm@opentdf/sdkfile:../lib/opentdf-sdk-0.20.0.tgzweb-app/package.json
npmclsx^2.1.1web-app/package.json
npmdpop^1.4.1web-app/package.json
npmnative-file-system-adapter^3.0.1web-app/package.json
npmreact^19.0.0web-app/package.json
npmreact-dom^19.2.4web-app/package.json
npmstreamsaver^2.0.6web-app/package.json
Todas las dependencias 1137

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

RegistroPaqueteVersiónRelación
npm@connectrpc/connect2.0.2directa
npm@connectrpc/connect2.1.2directa
npm@connectrpc/connect-web2.0.2directa
npm@connectrpc/connect-web2.1.2directa
npm@opentdf/sdk0.20.0directa
npmbuffer-crc320.2.13directa
npmbuffer-crc321.0.0directa
npmclsx2.1.1directa
npmdpop1.4.1directa
npmjose6.0.8directa
npmjson-canonicalize1.0.6directa
npmjson-canonicalize1.2.0directa
npmnative-file-system-adapter3.0.1directa
npmreact19.2.4directa
npmreact-dom19.2.4directa
npmstreamsaver2.0.6directa
npmuuid14.0.1directa
npmyargs15.4.1directa
npmyargs16.2.0directa
npmyargs17.7.2directa
npmyargs18.0.0directa
npm@aashutoshrathi/word-wrap1.2.6indirecta
npm@asamuzakjp/css-color2.8.3indirecta
npm@babel/code-frame7.29.7indirecta
npm@babel/compat-data7.29.7indirecta
npm@babel/core7.29.7indirecta
npm@babel/generator7.29.7indirecta
npm@babel/helper-compilation-targets7.29.7indirecta
npm@babel/helper-globals7.29.7indirecta
npm@babel/helper-module-imports7.29.7indirecta
npm@babel/helper-module-transforms7.29.7indirecta
npm@babel/helper-plugin-utils7.28.6indirecta
npm@babel/helper-string-parser7.29.7indirecta
npm@babel/helper-validator-identifier7.29.7indirecta
npm@babel/helper-validator-option7.29.7indirecta
npm@babel/helpers7.29.7indirecta
npm@babel/parser7.29.7indirecta
npm@babel/plugin-transform-react-jsx-self7.27.1indirecta
npm@babel/plugin-transform-react-jsx-source7.27.1indirecta
npm@babel/template7.29.7indirecta
npm@babel/traverse7.29.7indirecta
npm@babel/types7.29.7indirecta
npm@bcoe/v8-coverage1.0.2indirecta
npm@bufbuild/buf1.66.1indirecta
npm@bufbuild/buf-darwin-arm641.66.1indirecta
npm@bufbuild/buf-darwin-x641.66.1indirecta
npm@bufbuild/buf-linux-aarch641.66.1indirecta
npm@bufbuild/buf-linux-armv71.66.1indirecta
npm@bufbuild/buf-linux-x641.66.1indirecta
npm@bufbuild/buf-win32-arm641.66.1indirecta
npm@bufbuild/buf-win32-x641.66.1indirecta
npm@bufbuild/protobuf2.12.1indirecta
npm@bufbuild/protobuf2.2.5indirecta
npm@bufbuild/protobuf2.3.0indirecta
npm@bufbuild/protoc-gen-es2.2.5indirecta
npm@bufbuild/protoplugin2.2.5indirecta
npm@colors/colors1.5.0indirecta
npm@cspotcode/source-map-support0.8.1indirecta
npm@csstools/color-helpers5.0.1indirecta
npm@csstools/css-calc2.1.1indirecta
npm@csstools/css-color-parser3.0.7indirecta
npm@csstools/css-parser-algorithms3.0.4indirecta
npm@csstools/css-tokenizer3.0.3indirecta
npm@discoveryjs/json-ext0.6.3indirecta
npm@emnapi/core1.11.1indirecta
npm@emnapi/runtime1.11.1indirecta
npm@emnapi/wasi-threads1.2.2indirecta
npm@esbuild/aix-ppc640.25.0indirecta
npm@esbuild/android-arm0.25.0indirecta
npm@esbuild/android-arm640.25.0indirecta
npm@esbuild/android-x640.25.0indirecta
npm@esbuild/darwin-arm640.25.0indirecta
npm@esbuild/darwin-x640.25.0indirecta
npm@esbuild/freebsd-arm640.25.0indirecta
npm@esbuild/freebsd-x640.25.0indirecta
npm@esbuild/linux-arm0.25.0indirecta
npm@esbuild/linux-arm640.25.0indirecta
npm@esbuild/linux-ia320.25.0indirecta
npm@esbuild/linux-loong640.25.0indirecta
npm@esbuild/linux-mips64el0.25.0indirecta
npm@esbuild/linux-ppc640.25.0indirecta
npm@esbuild/linux-riscv640.25.0indirecta
npm@esbuild/linux-s390x0.25.0indirecta
npm@esbuild/linux-x640.25.0indirecta
npm@esbuild/netbsd-arm640.25.0indirecta
npm@esbuild/netbsd-x640.25.0indirecta
npm@esbuild/openbsd-arm640.25.0indirecta
npm@esbuild/openbsd-x640.25.0indirecta
npm@esbuild/sunos-x640.25.0indirecta
npm@esbuild/win32-arm640.25.0indirecta
npm@esbuild/win32-ia320.25.0indirecta
npm@esbuild/win32-x640.25.0indirecta
npm@eslint-community/eslint-utils4.9.1indirecta
npm@eslint-community/regexpp4.12.1indirecta
npm@eslint-community/regexpp4.12.2indirecta
npm@eslint/config-array0.21.1indirecta
npm@eslint/config-array0.23.3indirecta
npm@eslint/config-helpers0.4.2indirecta
npm@eslint/config-helpers0.5.3indirecta
npm@eslint/core0.17.0indirecta
npm@eslint/core1.1.1indirecta
npm@eslint/eslintrc2.1.4indirecta
npm@eslint/eslintrc3.3.3indirecta
npm@eslint/eslintrc3.3.5indirecta
npm@eslint/js8.57.1indirecta
npm@eslint/js9.26.0indirecta
npm@eslint/js9.39.2indirecta
npm@eslint/js9.39.4indirecta
npm@eslint/object-schema2.1.7indirecta
npm@eslint/object-schema3.0.3indirecta
npm@eslint/plugin-kit0.4.1indirecta
npm@eslint/plugin-kit0.6.1indirecta
npm@esm-bundle/chai4.3.4-fix.0indirecta
npm@gerrit0/mini-shiki3.23.0indirecta
npm@humanfs/core0.19.1indirecta
npm@humanfs/node0.16.6indirecta
npm@humanfs/node0.16.7indirecta
npm@humanwhocodes/config-array0.13.0indirecta
npm@humanwhocodes/module-importer1.0.1indirecta
npm@humanwhocodes/object-schema2.0.3indirecta
npm@humanwhocodes/retry0.3.1indirecta
npm@humanwhocodes/retry0.4.3indirecta
npm@isaacs/cliui8.0.2indirecta
npm@istanbuljs/load-nyc-config1.1.0indirecta
npm@istanbuljs/schema0.1.3indirecta
npm@jest/diff-sequences30.3.0indirecta
npm@jest/expect-utils30.3.0indirecta
npm@jest/get-type30.1.0indirecta
npm@jest/pattern30.0.1indirecta
npm@jest/schemas30.0.5indirecta
npm@jest/types30.3.0indirecta
npm@jridgewell/gen-mapping0.3.13indirecta
npm@jridgewell/remapping2.3.5indirecta
npm@jridgewell/resolve-uri3.1.0indirecta
npm@jridgewell/resolve-uri3.1.2indirecta
npm@jridgewell/source-map0.3.11indirecta
npm@jridgewell/sourcemap-codec1.5.5indirecta
npm@jridgewell/trace-mapping0.3.31indirecta
npm@jridgewell/trace-mapping0.3.9indirecta
npm@mdn/browser-compat-data4.2.1indirecta
npm@napi-rs/wasm-runtime1.1.5indirecta
npm@nodelib/fs.scandir2.1.5indirecta
npm@nodelib/fs.stat2.0.5indirecta
npm@nodelib/fs.walk1.2.8indirecta
npm@npmcli/fs3.1.0indirecta
npm@npmcli/fs3.1.1indirecta
npm@oxc-project/types0.137.0indirecta
npm@pkgjs/parseargs0.11.0indirecta
npm@pkgr/core0.1.1indirecta
npm@pkgr/core0.2.9indirecta
npm@playwright/test1.56.1indirecta
npm@polka/url1.0.0-next.29indirecta
npm@puppeteer/browsers2.11.1indirecta
npm@rolldown/binding-android-arm641.1.2indirecta
npm@rolldown/binding-darwin-arm641.1.2indirecta
npm@rolldown/binding-darwin-x641.1.2indirecta
npm@rolldown/binding-freebsd-x641.1.2indirecta
npm@rolldown/binding-linux-arm-gnueabihf1.1.2indirecta
npm@rolldown/binding-linux-arm64-gnu1.1.2indirecta
npm@rolldown/binding-linux-arm64-musl1.1.2indirecta
npm@rolldown/binding-linux-ppc64-gnu1.1.2indirecta
npm@rolldown/binding-linux-s390x-gnu1.1.2indirecta
npm@rolldown/binding-linux-x64-gnu1.1.2indirecta
npm@rolldown/binding-linux-x64-musl1.1.2indirecta
npm@rolldown/binding-openharmony-arm641.1.2indirecta
npm@rolldown/binding-wasm32-wasi1.1.2indirecta
npm@rolldown/binding-win32-arm64-msvc1.1.2indirecta
npm@rolldown/binding-win32-x64-msvc1.1.2indirecta
npm@rolldown/pluginutils1.0.0-rc.3indirecta
npm@rolldown/pluginutils1.0.1indirecta
npm@rollup/plugin-inject5.0.5indirecta
npm@rollup/plugin-node-resolve15.3.0indirecta
npm@rollup/pluginutils5.1.3indirecta
npm@rollup/pluginutils5.1.4indirecta
npm@rollup/rollup-android-arm-eabi4.59.0indirecta
npm@rollup/rollup-android-arm644.59.0indirecta
npm@rollup/rollup-darwin-arm644.59.0indirecta
npm@rollup/rollup-darwin-x644.59.0indirecta
npm@rollup/rollup-freebsd-arm644.59.0indirecta
npm@rollup/rollup-freebsd-x644.59.0indirecta
npm@rollup/rollup-linux-arm-gnueabihf4.59.0indirecta
npm@rollup/rollup-linux-arm-musleabihf4.59.0indirecta
npm@rollup/rollup-linux-arm64-gnu4.59.0indirecta
npm@rollup/rollup-linux-arm64-musl4.59.0indirecta
npm@rollup/rollup-linux-loong64-gnu4.59.0indirecta
npm@rollup/rollup-linux-loong64-musl4.59.0indirecta
npm@rollup/rollup-linux-ppc64-gnu4.59.0indirecta
npm@rollup/rollup-linux-ppc64-musl4.59.0indirecta
npm@rollup/rollup-linux-riscv64-gnu4.59.0indirecta
npm@rollup/rollup-linux-riscv64-musl4.59.0indirecta
npm@rollup/rollup-linux-s390x-gnu4.59.0indirecta
npm@rollup/rollup-linux-x64-gnu4.59.0indirecta
npm@rollup/rollup-linux-x64-musl4.59.0indirecta
npm@rollup/rollup-openbsd-x644.59.0indirecta
npm@rollup/rollup-openharmony-arm644.59.0indirecta
npm@rollup/rollup-win32-arm64-msvc4.59.0indirecta
npm@rollup/rollup-win32-ia32-msvc4.59.0indirecta
npm@rollup/rollup-win32-x64-gnu4.59.0indirecta
npm@rollup/rollup-win32-x64-msvc4.59.0indirecta
npm@shikijs/engine-oniguruma3.23.0indirecta
npm@shikijs/langs3.23.0indirecta
npm@shikijs/themes3.23.0indirecta
npm@shikijs/types3.23.0indirecta
npm@shikijs/vscode-textmate10.0.2indirecta
npm@sinclair/typebox0.34.48indirecta
npm@sinonjs/commons3.0.1indirecta
npm@sinonjs/fake-timers15.1.0indirecta
npm@sinonjs/fake-timers15.1.1indirecta
npm@sinonjs/samsam8.0.3indirecta
npm@sinonjs/samsam9.0.2indirecta
npm@socket.io/component-emitter3.1.0indirecta
npm@standard-schema/spec1.1.0indirecta
npm@tootallnate/quickjs-emscripten0.23.0indirecta
npm@tsconfig/node101.0.12indirecta
npm@tsconfig/node121.0.11indirecta
npm@tsconfig/node141.0.3indirecta
npm@tsconfig/node161.0.4indirecta
npm@tybys/wasm-util0.10.3indirecta
npm@types/accepts1.3.5indirecta
npm@types/babel__code-frame7.0.6indirecta
npm@types/babel__core7.20.5indirecta
npm@types/babel__generator7.6.8indirecta
npm@types/babel__template7.4.4indirecta
npm@types/babel__traverse7.20.6indirecta
npm@types/body-parser1.19.2indirecta
npm@types/buffer-crc320.2.4indirecta
npm@types/chai4.3.20indirecta
npm@types/chai5.2.3indirecta
npm@types/co-body6.1.3indirecta
npm@types/command-line-args5.2.3indirecta
npm@types/connect3.4.35indirecta
npm@types/content-disposition0.5.5indirecta
npm@types/convert-source-map2.0.3indirecta
npm@types/cookies0.7.7indirecta
npm@types/cors2.8.17indirecta
npm@types/debounce1.2.4indirecta
npm@types/deep-eql4.0.2indirecta
npm@types/eslint9.6.1indirecta
npm@types/eslint-scope3.7.7indirecta
npm@types/esrecurse4.3.1indirecta
npm@types/estree1.0.8indirecta
npm@types/express4.17.17indirecta
npm@types/express-serve-static-core4.17.34indirecta
npm@types/hast3.0.4indirecta
npm@types/http-assert1.5.3indirecta
npm@types/http-errors2.0.1indirecta
npm@types/istanbul-lib-coverage2.0.6indirecta
npm@types/istanbul-lib-report3.0.0indirecta
npm@types/istanbul-reports3.0.4indirecta
npm@types/jest30.0.0indirecta
npm@types/jsdom21.1.4indirecta
npm@types/jsdom21.1.7indirecta
npm@types/json-schema7.0.15indirecta
npm@types/jsonwebtoken9.0.9indirecta
npm@types/keygrip1.0.2indirecta
npm@types/koa2.13.6indirecta
npm@types/koa-compose3.2.5indirecta
npm@types/mime1.3.2indirecta
npm@types/mocha10.0.10indirecta
npm@types/ms2.1.0indirecta
npm@types/node20.8.9indirecta
npm@types/node24.12.0indirecta
npm@types/parse56.0.3indirecta
npm@types/qs6.9.7indirecta
npm@types/range-parser1.2.4indirecta
npm@types/react19.2.9indirecta
npm@types/react-dom19.2.3indirecta
npm@types/readable-stream4.0.23indirecta
npm@types/resolve1.20.2indirecta
npm@types/send0.17.4indirecta
npm@types/serve-static1.15.1indirecta
npm@types/sinon17.0.4indirecta
npm@types/sinon21.0.0indirecta
npm@types/sinonjs__fake-timers15.0.1indirecta
npm@types/sinonjs__fake-timers8.1.2indirecta
npm@types/stack-utils2.0.3indirecta
npm@types/streamsaver2.0.5indirecta
npm@types/tough-cookie4.0.4indirecta
npm@types/unist3.0.3indirecta
npm@types/uuid10.0.0indirecta
npm@types/wicg-file-system-access2023.10.5indirecta
npm@types/ws7.4.7indirecta
npm@types/ws8.18.1indirecta
npm@types/yargs17.0.35indirecta
npm@types/yargs-parser21.0.3indirecta
npm@types/yauzl2.10.3indirecta
npm@typescript-eslint/eslint-plugin8.26.0indirecta
npm@typescript-eslint/eslint-plugin8.54.0indirecta
npm@typescript-eslint/eslint-plugin8.57.0indirecta
npm@typescript-eslint/parser8.26.0indirecta
npm@typescript-eslint/parser8.54.0indirecta
npm@typescript-eslint/parser8.57.0indirecta
npm@typescript-eslint/project-service8.54.0indirecta
npm@typescript-eslint/project-service8.57.0indirecta
npm@typescript-eslint/scope-manager8.26.0indirecta
npm@typescript-eslint/scope-manager8.54.0indirecta
npm@typescript-eslint/scope-manager8.57.0indirecta
npm@typescript-eslint/tsconfig-utils8.54.0indirecta
npm@typescript-eslint/tsconfig-utils8.57.0indirecta
npm@typescript-eslint/type-utils8.26.0indirecta
npm@typescript-eslint/type-utils8.54.0indirecta
npm@typescript-eslint/type-utils8.57.0indirecta
npm@typescript-eslint/types8.26.0indirecta
npm@typescript-eslint/types8.54.0indirecta
npm@typescript-eslint/types8.57.0indirecta
npm@typescript-eslint/typescript-estree8.26.0indirecta
npm@typescript-eslint/typescript-estree8.54.0indirecta
npm@typescript-eslint/typescript-estree8.57.0indirecta
npm@typescript-eslint/utils8.26.0indirecta
npm@typescript-eslint/utils8.54.0indirecta
npm@typescript-eslint/utils8.57.0indirecta
npm@typescript-eslint/visitor-keys8.26.0indirecta
npm@typescript-eslint/visitor-keys8.54.0indirecta
npm@typescript-eslint/visitor-keys8.57.0indirecta
npm@typescript/vfs1.6.1indirecta
npm@ungap/structured-clone1.3.0indirecta
npm@vitejs/plugin-react5.2.0indirecta
npm@vitest/expect4.1.9indirecta
npm@vitest/mocker4.1.9indirecta
npm@vitest/pretty-format4.1.9indirecta
npm@vitest/runner4.1.9indirecta
npm@vitest/snapshot4.1.9indirecta
npm@vitest/spy4.1.9indirecta
npm@vitest/ui4.1.9indirecta
npm@vitest/utils4.1.9indirecta
npm@web/browser-logs0.4.0indirecta
npm@web/config-loader0.3.2indirecta
npm@web/dev-server0.4.6indirecta
npm@web/dev-server-core0.7.4indirecta
npm@web/dev-server-esbuild1.0.4indirecta
npm@web/dev-server-rollup0.6.4indirecta
npm@web/parse5-utils2.1.0indirecta
npm@web/test-runner0.20.2indirecta
npm@web/test-runner-chrome0.18.1indirecta
npm@web/test-runner-commands0.9.0indirecta
npm@web/test-runner-core0.13.4indirecta
npm@web/test-runner-coverage-v80.8.0indirecta
npm@web/test-runner-mocha0.9.0indirecta
npm@webassemblyjs/ast1.14.1indirecta
npm@webassemblyjs/floating-point-hex-parser1.13.2indirecta
npm@webassemblyjs/helper-api-error1.13.2indirecta
npm@webassemblyjs/helper-buffer1.14.1indirecta
npm@webassemblyjs/helper-numbers1.13.2indirecta
npm@webassemblyjs/helper-wasm-bytecode1.13.2indirecta
npm@webassemblyjs/helper-wasm-section1.14.1indirecta
npm@webassemblyjs/ieee7541.13.2indirecta
npm@webassemblyjs/leb1281.13.2indirecta
npm@webassemblyjs/utf81.13.2indirecta
npm@webassemblyjs/wasm-edit1.14.1indirecta
npm@webassemblyjs/wasm-gen1.14.1indirecta
npm@webassemblyjs/wasm-opt1.14.1indirecta
npm@webassemblyjs/wasm-parser1.14.1indirecta
npm@webassemblyjs/wast-printer1.14.1indirecta
npm@webpack-cli/configtest3.0.1indirecta
npm@webpack-cli/info3.0.1indirecta
npm@webpack-cli/serve3.0.1indirecta
npm@xtuc/ieee7541.2.0indirecta
npm@xtuc/long4.2.2indirecta
npmabbrev2.0.0indirecta
npmaccepts1.3.8indirecta
npmacorn8.15.0indirecta
npmacorn8.16.0indirecta
npmacorn-import-phases1.0.4indirecta
npmacorn-jsx5.3.2indirecta
npmacorn-walk8.3.5indirecta
npmagent-base7.1.3indirecta
npmaggregate-error3.1.0indirecta
npmajv6.12.6indirecta
npmajv6.14.0indirecta
npmajv8.18.0indirecta
npmajv-formats2.1.1indirecta
npmajv-keywords5.1.0indirecta
npmansi-escapes4.3.2indirecta
npmansi-regex5.0.1indirecta
npmansi-regex6.1.0indirecta
npmansi-regex6.2.2indirecta
npmansi-styles4.3.0indirecta
npmansi-styles5.2.0indirecta
npmansi-styles6.2.1indirecta
npmansi-styles6.2.3indirecta
npmanymatch3.1.2indirecta
npmappend-transform2.0.0indirecta
npmarchy1.0.0indirecta
npmarg4.1.3indirecta
npmargparse1.0.10indirecta
npmargparse2.0.1indirecta
npmarray-back3.1.0indirecta
npmarray-back6.2.2indirecta
npmarray-find-index1.0.2indirecta
npmarray-union2.1.0indirecta
npmassertion-error2.0.1indirecta
npmast-types0.13.4indirecta
npmastral-regex2.0.0indirecta
npmasync2.6.4indirecta
npmasynckit0.4.0indirecta
npmaudit-ci7.1.0indirecta
npmb4a1.7.3indirecta
npmbalanced-match1.0.2indirecta
npmbalanced-match4.0.4indirecta
npmbare-events2.8.2indirecta
npmbare-fs4.5.3indirecta
npmbare-os3.6.2indirecta
npmbare-path3.0.0indirecta
npmbare-stream2.7.0indirecta
npmbare-url2.3.2indirecta
npmbase64-js1.5.1indirecta
npmbase64id2.0.0indirecta
npmbaseline-browser-mapping2.10.38indirecta
npmbaseline-browser-mapping2.9.19indirecta
npmbasic-ftp5.3.1indirecta
npmbinary-extensions2.2.0indirecta
npmbody-parser1.20.5indirecta
npmbrace-expansion1.1.12indirecta
npmbrace-expansion1.1.14indirecta
npmbrace-expansion1.1.16indirecta
npmbrace-expansion2.0.2indirecta
npmbrace-expansion2.1.0indirecta
npmbrace-expansion2.1.2indirecta
npmbrace-expansion5.0.6indirecta
npmbrace-expansion5.0.7indirecta
npmbraces3.0.3indirecta
npmbrowser-stdout1.3.1indirecta
npmbrowserslist4.28.1indirecta
npmbrowserslist4.28.2indirecta
npmbuffer6.0.3indirecta
npmbuffer-from1.1.2indirecta
npmbytes3.1.2indirecta
npmc810.1.3indirecta
npmcache-content-type1.0.1indirecta
npmcaching-transform4.0.0indirecta
npmcall-bind-apply-helpers1.0.2indirecta
npmcall-bound1.0.4indirecta
npmcallsites3.1.0indirecta
npmcamelcase5.3.1indirecta
npmcamelcase6.3.0indirecta
npmcaniuse-lite1.0.30001770indirecta
npmcaniuse-lite1.0.30001799indirecta
npmchai5.2.0indirecta
npmchai5.3.3indirecta
npmchai6.2.2indirecta
npmchalk4.1.2indirecta
npmchalk-template0.4.0indirecta
npmcheck-error2.1.1indirecta
npmcheck-error2.1.3indirecta
npmchokidar3.5.3indirecta
npmchokidar4.0.1indirecta
npmchokidar4.0.3indirecta
npmchrome-launcher0.15.2indirecta
npmchrome-trace-event1.0.3indirecta
npmchromium-bidi13.0.1indirecta
npmci-info4.4.0indirecta
npmclean-stack2.2.0indirecta
npmcli-cursor3.1.0indirecta
npmcliui6.0.0indirecta
npmcliui7.0.4indirecta
npmcliui8.0.1indirecta
npmcliui9.0.1indirecta
npmclone2.1.2indirecta
npmclone-deep4.0.1indirecta
npmco4.6.0indirecta
npmco-body6.1.0indirecta
npmcolor-convert2.0.1indirecta
npmcolor-name1.1.4indirecta
npmcolorette2.0.20indirecta
npmcolors1.4.0indirecta
npmcombined-stream1.0.8indirecta
npmcommand-line-args5.2.1indirecta
npmcommand-line-usage7.0.3indirecta
npmcommander12.1.0indirecta
npmcommander2.20.3indirecta
npmcommondir1.0.1indirecta
npmconcat-map0.0.1indirecta
npmconnect3.7.0indirecta
npmcontent-disposition0.5.4indirecta
npmcontent-type1.0.5indirecta
npmconvert-source-map1.8.0indirecta
npmconvert-source-map2.0.0indirecta
npmcookie0.7.2indirecta
npmcookies0.9.1indirecta
npmcors2.8.5indirecta
npmcreate-require1.1.1indirecta
npmcross-spawn7.0.6indirecta
npmcssstyle4.2.1indirecta
npmcsstype3.2.3indirecta
npmcustom-event1.0.1indirecta
npmdata-uri-to-buffer6.0.2indirecta
npmdata-urls5.0.0indirecta
npmdate-format4.0.14indirecta
npmdebounce1.2.1indirecta
npmdebug2.6.9indirecta
npmdebug3.2.7indirecta
npmdebug4.3.7indirecta
npmdebug4.4.3indirecta
npmdecamelize1.2.0indirecta
npmdecamelize4.0.0indirecta
npmdecimal.js10.4.3indirecta
npmdeep-eql5.0.2indirecta
npmdeep-equal1.0.1indirecta
npmdeep-is0.1.4indirecta
npmdeepmerge4.3.1indirecta
npmdefault-gateway6.0.3indirecta
npmdefault-require-extensions3.0.1indirecta
npmdefine-lazy-prop2.0.0indirecta
npmdegenerator5.0.1indirecta
npmdelayed-stream1.0.0indirecta
npmdelegates1.0.0indirecta
npmdepd1.1.2indirecta
npmdepd2.0.0indirecta
npmdependency-graph0.11.0indirecta
npmdestroy1.2.0indirecta
npmdetect-libc2.1.2indirecta
npmdevtools-protocol0.0.1551306indirecta
npmdi0.0.1indirecta
npmdiff8.0.4indirecta
npmdir-glob3.0.1indirecta
npmdoctrine3.0.0indirecta
npmdom-serialize2.2.1indirecta
npmdunder-proto1.0.1indirecta
npmduplexer0.1.2indirecta
npmeastasianwidth0.2.0indirecta
npmee-first1.1.1indirecta
npmelectron-to-chromium1.5.286indirecta
npmelectron-to-chromium1.5.375indirecta
npmemoji-regex10.6.0indirecta
npmemoji-regex8.0.0indirecta
npmemoji-regex9.2.2indirecta
npmencodeurl1.0.2indirecta
npmencodeurl2.0.0indirecta
npmend-of-stream1.4.5indirecta
npmengine.io6.6.9indirecta
npmengine.io-parser5.2.3indirecta
npmenhanced-resolve5.19.0indirecta
npment2.2.0indirecta
npmentities4.5.0indirecta
npmenvinfo7.14.0indirecta
npmerrorstacks2.4.0indirecta
npmes-define-property1.0.1indirecta
npmes-errors1.3.0indirecta
npmes-module-lexer1.3.0indirecta
npmes-module-lexer2.0.0indirecta
npmes-module-lexer2.1.0indirecta
npmes-object-atoms1.1.1indirecta
npmes-set-tostringtag2.1.0indirecta
npmes6-error4.1.1indirecta
npmesbuild0.25.0indirecta
npmescalade3.2.0indirecta
npmescape-html1.0.3indirecta
npmescape-string-regexp2.0.0indirecta
npmescape-string-regexp4.0.0indirecta
npmescodegen2.1.0indirecta
npmeslint10.0.3indirecta
npmeslint8.57.1indirecta
npmeslint9.39.2indirecta
npmeslint-config-prettier10.1.8indirecta
npmeslint-plugin-chai-friendly1.0.1indirecta
npmeslint-plugin-chai-friendly1.1.0indirecta
npmeslint-plugin-prettier5.2.3indirecta
npmeslint-plugin-prettier5.5.5indirecta
npmeslint-scope5.1.1indirecta
npmeslint-scope7.2.2indirecta
npmeslint-scope8.4.0indirecta
npmeslint-scope9.1.2indirecta
npmeslint-visitor-keys3.4.3indirecta
npmeslint-visitor-keys4.2.1indirecta
npmeslint-visitor-keys5.0.1indirecta
npmespree10.4.0indirecta
npmespree11.2.0indirecta
npmespree9.6.1indirecta
npmesprima4.0.1indirecta
npmesquery1.5.0indirecta
npmesquery1.6.0indirecta
npmesquery1.7.0indirecta
npmesrecurse4.3.0indirecta
npmestraverse4.3.0indirecta
npmestraverse5.3.0indirecta
npmestree-walker2.0.2indirecta
npmestree-walker3.0.3indirecta
npmesutils2.0.3indirecta
npmetag1.8.1indirecta
npmevent-stream4.0.1indirecta
npmeventemitter34.0.7indirecta
npmevents3.3.0indirecta
npmevents-universal1.0.1indirecta
npmexeca5.1.1indirecta
npmexpect30.3.0indirecta
npmexpect-type1.3.0indirecta
npmextend3.0.2indirecta
npmextract-zip2.0.1indirecta
npmfast-deep-equal3.1.3indirecta
npmfast-diff1.3.0indirecta
npmfast-fifo1.3.2indirecta
npmfast-glob3.3.3indirecta
npmfast-json-stable-stringify2.1.0indirecta
npmfast-levenshtein2.0.6indirecta
npmfast-uri3.1.2indirecta
npmfastest-levenshtein1.0.16indirecta
npmfastq1.13.0indirecta
npmfastq1.20.1indirecta
npmfd-slicer1.1.0indirecta
npmfdir6.5.0indirecta
npmfetch-blob3.2.0indirecta
npmfflate0.8.2indirecta
npmfile-entry-cache6.0.1indirecta
npmfile-entry-cache8.0.0indirecta
npmfill-range7.1.1indirecta
npmfinalhandler1.1.2indirecta
npmfind-cache-dir3.3.2indirecta
npmfind-replace3.0.0indirecta
npmfind-up4.1.0indirecta
npmfind-up5.0.0indirecta
npmflat5.0.2indirecta
npmflat-cache3.2.0indirecta
npmflat-cache4.0.1indirecta
npmflatted3.4.2indirecta
npmfollow-redirects1.16.0indirecta
npmforeground-child2.0.0indirecta
npmforeground-child3.3.1indirecta
npmform-data4.0.6indirecta
npmfresh0.5.2indirecta
npmfrom0.1.7indirecta
npmfromentries1.3.2indirecta
npmfs-extra8.1.0indirecta
npmfs.realpath1.0.0indirecta
npmfsevents2.3.2indirecta
npmfsevents2.3.3indirecta
npmfunction-bind1.1.2indirecta
npmgensync1.0.0-beta.2indirecta
npmget-caller-file2.0.5indirecta
npmget-east-asian-width1.5.0indirecta
npmget-intrinsic1.3.0indirecta
npmget-package-type0.1.0indirecta
npmget-proto1.0.1indirecta
npmget-stream5.2.0indirecta
npmget-stream6.0.1indirecta
npmget-uri6.0.5indirecta
npmglob10.5.0indirecta
npmglob11.1.0indirecta
npmglob13.0.6indirecta
npmglob7.2.3indirecta
npmglob-parent5.1.2indirecta
npmglob-parent6.0.2indirecta
npmglob-to-regexp0.4.1indirecta
npmglobals13.24.0indirecta
npmglobals14.0.0indirecta
npmglobals16.5.0indirecta
npmglobals17.4.0indirecta
npmglobby11.1.0indirecta
npmgopd1.2.0indirecta
npmgraceful-fs4.2.11indirecta
npmgraphemer1.4.0indirecta
npmhas-flag4.0.0indirecta
npmhas-symbols1.1.0indirecta
npmhas-tostringtag1.0.2indirecta
npmhasha5.2.2indirecta
npmhasown2.0.2indirecta
npmhasown2.0.4indirecta
npmhe1.2.0indirecta
npmhosted-git-info6.1.1indirecta
npmhosted-git-info6.1.3indirecta
npmhtml-encoding-sniffer4.0.0indirecta
npmhtml-escaper2.0.2indirecta
npmhttp-assert1.5.0indirecta
npmhttp-errors1.6.3indirecta
npmhttp-errors1.8.1indirecta
npmhttp-errors2.0.0indirecta
npmhttp-errors2.0.1indirecta
npmhttp-proxy1.18.1indirecta
npmhttp-proxy-agent7.0.2indirecta
npmhttps-proxy-agent7.0.6indirecta
npmhuman-signals2.1.0indirecta
npmiconv-lite0.4.24indirecta
npmiconv-lite0.6.3indirecta
npmieee7541.2.1indirecta
npmignore5.3.2indirecta
npmignore7.0.5indirecta
npmimport-fresh3.3.1indirecta
npmimport-local3.1.0indirecta
npmimurmurhash0.1.4indirecta
npmindent-string4.0.0indirecta
npminflation2.1.0indirecta
npminflight1.0.6indirecta
npminherits2.0.3indirecta
npminherits2.0.4indirecta
npminternal-ip6.2.0indirecta
npminterpret3.1.1indirecta
npmip-address10.2.0indirecta
npmip-regex4.3.0indirecta
npmipaddr.js1.9.1indirecta
npmis-binary-path2.1.0indirecta
npmis-core-module2.16.1indirecta
npmis-docker2.2.1indirecta
npmis-extglob2.1.1indirecta
npmis-fullwidth-code-point3.0.0indirecta
npmis-generator-function1.0.10indirecta
npmis-glob4.0.3indirecta
npmis-ip3.1.0indirecta
npmis-module1.0.0indirecta
npmis-number7.0.0indirecta
npmis-path-inside3.0.3indirecta
npmis-plain-obj2.1.0indirecta
npmis-plain-object2.0.4indirecta
npmis-potential-custom-element-name1.0.1indirecta
npmis-stream2.0.1indirecta
npmis-typedarray1.0.0indirecta
npmis-unicode-supported0.1.0indirecta
npmis-windows1.0.2indirecta
npmis-wsl2.2.0indirecta
npmisbinaryfile4.0.10indirecta
npmisbinaryfile5.0.0indirecta
npmisexe2.0.0indirecta
npmisobject3.0.1indirecta
npmistanbul-lib-coverage3.2.0indirecta
npmistanbul-lib-hook3.0.0indirecta
npmistanbul-lib-instrument6.0.3indirecta
npmistanbul-lib-processinfo3.0.1indirecta
npmistanbul-lib-report3.0.1indirecta
npmistanbul-lib-source-maps4.0.1indirecta
npmistanbul-reports3.1.6indirecta
npmjackspeak3.4.3indirecta
npmjackspeak4.1.1indirecta
npmjest-diff30.3.0indirecta
npmjest-matcher-utils30.3.0indirecta
npmjest-message-util30.3.0indirecta
npmjest-mock30.3.0indirecta
npmjest-regex-util30.0.1indirecta
npmjest-util30.3.0indirecta
npmjest-worker27.5.1indirecta
npmjju1.4.0indirecta
npmjs-tokens4.0.0indirecta
npmjs-yaml3.15.0indirecta
npmjs-yaml4.2.0indirecta
npmjs-yaml4.3.0indirecta
npmjsdom26.0.0indirecta
npmjsesc3.1.0indirecta
npmjson-buffer3.0.1indirecta
npmjson-parse-even-better-errors2.3.1indirecta
npmjson-parse-even-better-errors3.0.0indirecta
npmjson-parse-even-better-errors3.0.2indirecta
npmjson-schema-traverse0.4.1indirecta
npmjson-schema-traverse1.0.0indirecta
npmjson-stable-stringify-without-jsonify1.0.1indirecta
npmjson52.2.3indirecta
npmjsonfile4.0.0indirecta
npmjsonparse1.3.1indirecta
npmjsonstream-next3.0.0indirecta
npmkarma6.4.4indirecta
npmkarma-chrome-launcher3.2.0indirecta
npmkarma-mocha2.0.1indirecta
npmkeygrip1.1.0indirecta
npmkeyv4.5.4indirecta
npmkind-of6.0.3indirecta
npmkoa2.16.4indirecta
npmkoa-compose4.1.0indirecta
npmkoa-convert2.0.0indirecta
npmkoa-etag4.0.0indirecta
npmkoa-send5.0.1indirecta
npmkoa-static5.0.0indirecta
npmlevn0.4.1indirecta
npmlicense-checker-rseidelsohn4.4.2indirecta
npmlighthouse-logger1.4.2indirecta
npmlightningcss1.32.0indirecta
npmlightningcss-android-arm641.32.0indirecta
npmlightningcss-darwin-arm641.32.0indirecta
npmlightningcss-darwin-x641.32.0indirecta
npmlightningcss-freebsd-x641.32.0indirecta
npmlightningcss-linux-arm-gnueabihf1.32.0indirecta
npmlightningcss-linux-arm64-gnu1.32.0indirecta
npmlightningcss-linux-arm64-musl1.32.0indirecta
npmlightningcss-linux-x64-gnu1.32.0indirecta
npmlightningcss-linux-x64-musl1.32.0indirecta
npmlightningcss-win32-arm64-msvc1.32.0indirecta
npmlightningcss-win32-x64-msvc1.32.0indirecta
npmlinkify-it5.0.1indirecta
npmloader-runner4.3.1indirecta
npmlocate-path5.0.0indirecta
npmlocate-path6.0.0indirecta
npmlodash4.18.1indirecta
npmlodash.camelcase4.3.0indirecta
npmlodash.clonedeep4.5.0indirecta
npmlodash.flattendeep4.4.0indirecta
npmlodash.merge4.6.2indirecta
npmlog-symbols4.1.0indirecta
npmlog-update4.0.0indirecta
npmlog4js6.9.1indirecta
npmloupe3.1.3indirecta
npmloupe3.2.1indirecta
npmlru-cache10.4.3indirecta
npmlru-cache11.0.2indirecta
npmlru-cache5.1.1indirecta
npmlru-cache7.18.3indirecta
npmlru-cache8.0.5indirecta
npmlunr2.3.9indirecta
npmmagic-string0.30.21indirecta
npmmake-dir3.1.0indirecta
npmmake-dir4.0.0indirecta
npmmake-error1.3.6indirecta
npmmap-stream0.0.7indirecta
npmmarkdown-it14.2.0indirecta
npmmarky1.3.0indirecta
npmmath-intrinsics1.1.0indirecta
npmmdurl2.0.0indirecta
npmmedia-typer0.3.0indirecta
npmmerge-stream2.0.0indirecta
npmmerge21.4.1indirecta
npmmicromatch4.0.8indirecta
npmmime2.6.0indirecta
npmmime-db1.52.0indirecta
npmmime-types2.1.35indirecta
npmmimic-fn2.1.0indirecta
npmminimatch10.2.4indirecta
npmminimatch10.2.5indirecta
npmminimatch3.1.5indirecta
npmminimatch9.0.9indirecta
npmminimist1.2.6indirecta
npmminipass7.1.2indirecta
npmminipass7.1.3indirecta
npmmitt3.0.1indirecta
npmmkdirp0.5.6indirecta
npmmkdirp1.0.4indirecta
npmmocha11.7.5indirecta
npmmrmime2.0.1indirecta
npmms2.0.0indirecta
npmms2.1.3indirecta
npmnanocolors0.2.13indirecta
npmnanoid3.3.15indirecta
npmnanoid3.3.8indirecta
npmnatural-compare1.4.0indirecta
npmnegotiator0.6.3indirecta
npmneo-async2.6.2indirecta
npmnetmask2.0.2indirecta
npmnode-domexception1.0.0indirecta
npmnode-preload0.2.1indirecta
npmnode-releases2.0.27indirecta
npmnode-releases2.0.47indirecta
npmnopt7.2.1indirecta
npmnormalize-package-data5.0.0indirecta
npmnormalize-path3.0.0indirecta
npmnpm-normalize-package-bin3.0.1indirecta
npmnpm-run-path4.0.1indirecta
npmnwsapi2.2.16indirecta
npmnyc18.0.0indirecta
npmobject-assign4.1.1indirecta
npmobject-inspect1.13.4indirecta
npmobug2.1.3indirecta
npmon-finished2.3.0indirecta
npmon-finished2.4.1indirecta
npmonce1.4.0indirecta
npmonetime5.1.2indirecta
npmonly0.0.2indirecta
npmopen8.4.2indirecta
npmoptionator0.9.3indirecta
npmoptionator0.9.4indirecta
npmp-event4.2.0indirecta
npmp-finally1.0.0indirecta
npmp-limit2.3.0indirecta
npmp-limit3.1.0indirecta
npmp-locate4.1.0indirecta
npmp-locate5.0.0indirecta
npmp-map3.0.0indirecta
npmp-timeout3.2.0indirecta
npmp-try2.2.0indirecta
npmpac-proxy-agent7.2.0indirecta
npmpac-resolver7.0.1indirecta
npmpackage-hash4.0.0indirecta
npmpackage-json-from-dist1.0.1indirecta
npmparent-module1.0.1indirecta
npmparse56.0.1indirecta
npmparse57.1.2indirecta
npmparse57.2.1indirecta
npmparseurl1.3.3indirecta
npmpath-exists4.0.0indirecta
npmpath-is-absolute1.0.1indirecta
npmpath-key3.1.1indirecta
npmpath-parse1.0.7indirecta
npmpath-scurry1.11.1indirecta
npmpath-scurry2.0.2indirecta
npmpath-type4.0.0indirecta
npmpathe2.0.3indirecta
npmpathval2.0.0indirecta
npmpathval2.0.1indirecta
npmpause-stream0.0.11indirecta
npmpend1.2.0indirecta
npmpicocolors1.1.1indirecta
npmpicomatch2.3.2indirecta
npmpicomatch4.0.4indirecta
npmpkg-dir4.2.0indirecta
npmplaywright1.56.1indirecta
npmplaywright-core1.56.1indirecta
npmportfinder1.0.32indirecta
npmpostcss8.5.15indirecta
npmprelude-ls1.2.1indirecta
npmprettier3.5.3indirecta
npmprettier3.8.1indirecta
npmprettier-linter-helpers1.0.0indirecta
npmprettier-linter-helpers1.0.1indirecta
npmpretty-format30.3.0indirecta
npmprocess0.11.10indirecta
npmprocess-on-spawn1.0.0indirecta
npmprogress2.0.3indirecta
npmproxy-agent6.5.0indirecta
npmproxy-from-env1.1.0indirecta
npmpump3.0.3indirecta
npmpunycode2.3.1indirecta
npmpunycode.js2.3.1indirecta
npmpuppeteer-core24.36.0indirecta
npmqjobs1.2.0indirecta
npmqs6.15.2indirecta
npmqueue-microtask1.2.3indirecta
npmrange-parser1.2.1indirecta
npmraw-body2.5.3indirecta
npmreact-is18.3.1indirecta
npmreact-refresh0.18.0indirecta
npmread-installed-packages2.0.1indirecta
npmread-package-json6.0.4indirecta
npmreadable-stream3.6.2indirecta
npmreaddirp3.6.0indirecta
npmreaddirp4.0.2indirecta
npmreaddirp4.1.2indirecta
npmreadline-transform1.0.0indirecta
npmrechoir0.8.0indirecta
npmrelease-zalgo1.0.0indirecta
npmrequire-directory2.1.1indirecta
npmrequire-from-string2.0.2indirecta
npmrequire-main-filename2.0.0indirecta
npmrequires-port1.0.0indirecta
npmresolve1.22.10indirecta
npmresolve-cwd3.0.0indirecta
npmresolve-from4.0.0indirecta
npmresolve-from5.0.0indirecta
npmresolve-path1.4.0indirecta
npmrestore-cursor3.1.0indirecta
npmreusify1.0.4indirecta
npmreusify1.1.0indirecta
npmrfdc1.3.0indirecta
npmrimraf3.0.2indirecta
npmrimraf6.1.3indirecta
npmrolldown1.1.2indirecta
npmrollup4.59.0indirecta
npmrrweb-cssom0.8.0indirecta
npmrun-parallel1.2.0indirecta
npmsafe-buffer5.1.2indirecta
npmsafe-buffer5.2.1indirecta
npmsafer-buffer2.1.2indirecta
npmsaxes6.0.0indirecta
npmscheduler0.27.0indirecta
npmschema-utils4.3.3indirecta
npmsemver6.3.1indirecta
npmsemver7.7.1indirecta
npmsemver7.7.3indirecta
npmsemver7.7.4indirecta
npmsend1.1.0indirecta
npmserialize-javascript7.0.5indirecta
npmserialize-javascript7.0.7indirecta
npmset-blocking2.0.0indirecta
npmsetprototypeof1.1.0indirecta
npmsetprototypeof1.2.0indirecta
npmshallow-clone3.0.1indirecta
npmshebang-command2.0.0indirecta
npmshebang-regex3.0.0indirecta
npmside-channel1.1.0indirecta
npmside-channel-list1.0.0indirecta
npmside-channel-map1.0.1indirecta
npmside-channel-weakmap1.0.2indirecta
npmsiginfo2.0.0indirecta
npmsignal-exit3.0.7indirecta
npmsignal-exit4.0.2indirecta
npmsignal-exit4.1.0indirecta
npmsinon21.0.1indirecta
npmsinon21.0.2indirecta
npmsirv3.0.2indirecta
npmslash3.0.0indirecta
npmslice-ansi4.0.0indirecta
npmslide1.1.6indirecta
npmsmart-buffer4.2.0indirecta
npmsocket.io4.8.0indirecta
npmsocket.io-adapter2.5.8indirecta
npmsocket.io-parser4.2.6indirecta
npmsocks2.8.7indirecta
npmsocks-proxy-agent8.0.5indirecta
npmsource-map0.6.1indirecta
npmsource-map0.7.4indirecta
npmsource-map-js1.2.1indirecta
npmsource-map-support0.5.21indirecta
npmspawn-wrap3.0.0indirecta
npmspdx-compare1.0.0indirecta
npmspdx-correct3.1.1indirecta
npmspdx-correct3.2.0indirecta
npmspdx-exceptions2.3.0indirecta
npmspdx-exceptions2.5.0indirecta
npmspdx-expression-parse3.0.1indirecta
npmspdx-license-ids3.0.11indirecta
npmspdx-license-ids3.0.21indirecta
npmspdx-license-ids3.0.23indirecta
npmspdx-ranges2.1.1indirecta
npmspdx-satisfies5.0.1indirecta
npmsplit1.0.1indirecta
npmsprintf-js1.0.3indirecta
npmstack-utils2.0.6indirecta
npmstackback0.0.2indirecta
npmstatuses1.5.0indirecta
npmstatuses2.0.1indirecta
npmstatuses2.0.2indirecta
npmstd-env4.1.0indirecta
npmstream-combiner0.2.2indirecta
npmstreamroller3.1.5indirecta
npmstreamx2.23.0indirecta
npmstring-width4.2.3indirecta
npmstring-width5.1.2indirecta
npmstring-width7.2.0indirecta
npmstring_decoder1.3.0indirecta
npmstrip-ansi6.0.1indirecta
npmstrip-ansi7.1.0indirecta
npmstrip-ansi7.2.0indirecta
npmstrip-bom3.0.0indirecta
npmstrip-bom4.0.0indirecta
npmstrip-final-newline2.0.0indirecta
npmstrip-json-comments3.1.1indirecta
npmsupports-color7.2.0indirecta
npmsupports-color8.1.1indirecta
npmsupports-preserve-symlinks-flag1.0.0indirecta
npmsymbol-tree3.2.4indirecta
npmsynckit0.11.12indirecta
npmsynckit0.9.2indirecta
npmtable-layout4.1.1indirecta
npmtapable2.3.0indirecta
npmtar-fs3.1.1indirecta
npmtar-stream3.1.7indirecta
npmterser5.46.0indirecta
npmterser-webpack-plugin5.4.0indirecta
npmtest-exclude7.0.1indirecta
npmtest-exclude8.0.0indirecta
npmtext-decoder1.2.3indirecta
npmtext-table0.2.0indirecta
npmthrough2.3.8indirecta
npmthrough24.0.2indirecta
npmtinybench2.9.0indirecta
npmtinyexec1.2.4indirecta
npmtinyglobby0.2.15indirecta
npmtinyglobby0.2.17indirecta
npmtinyrainbow3.1.0indirecta
npmtldts6.1.60indirecta
npmtldts-core6.1.60indirecta
npmtmp0.2.7indirecta
npmto-regex-range5.0.1indirecta
npmtoidentifier1.0.1indirecta
npmtotalist3.0.1indirecta
npmtough-cookie5.0.0indirecta
npmtr465.0.0indirecta
npmtreeify1.1.0indirecta
npmts-api-utils2.0.1indirecta
npmts-api-utils2.4.0indirecta
npmts-node10.9.2indirecta
npmtsconfig-paths4.2.0indirecta
npmtslib2.8.1indirecta
npmtsscmp1.0.6indirecta
npmtype-check0.4.0indirecta
npmtype-detect4.0.8indirecta
npmtype-detect4.1.0indirecta
npmtype-fest0.20.2indirecta
npmtype-fest0.21.3indirecta
npmtype-fest0.8.1indirecta
npmtype-is1.6.18indirecta
npmtyped-query-selector2.12.0indirecta
npmtypedarray-to-buffer3.1.5indirecta
npmtypedoc0.28.17indirecta
npmtypedoc-plugin-markdown4.7.0indirecta
npmtypescript5.4.5indirecta
npmtypescript5.8.2indirecta
npmtypescript5.8.3indirecta
npmtypescript5.9.3indirecta
npmtypescript-eslint8.26.0indirecta
npmtypescript-eslint8.54.0indirecta
npmtypescript-eslint8.57.0indirecta
npmtypical4.0.0indirecta
npmtypical7.3.0indirecta
npmua-parser-js0.7.35indirecta
npmua-parser-js1.0.40indirecta
npmuc.micro2.1.0indirecta
npmundici-types5.26.5indirecta
npmundici-types7.16.0indirecta
npmuniversalify0.1.2indirecta
npmunpipe1.0.0indirecta
npmupdate-browserslist-db1.2.3indirecta
npmuri-js4.4.1indirecta
npmutil-deprecate1.0.2indirecta
npmutils-merge1.0.1indirecta
npmv8-compile-cache-lib3.0.1indirecta
npmv8-to-istanbul9.1.0indirecta
npmvalidate-npm-package-license3.0.4indirecta
npmvary1.1.2indirecta
npmvite8.1.0indirecta
npmvitest4.1.9indirecta
npmvoid-elements2.0.1indirecta
npmw3c-xmlserializer5.0.0indirecta
npmwatchpack2.5.1indirecta
npmweb-streams-polyfill3.3.3indirecta
npmwebdriver-bidi-protocol0.4.0indirecta
npmwebidl-conversions7.0.0indirecta
npmwebpack5.105.2indirecta
npmwebpack-cli6.0.1indirecta
npmwebpack-merge6.0.1indirecta
npmwebpack-sources3.3.4indirecta
npmwhatwg-encoding3.1.1indirecta
npmwhatwg-mimetype4.0.0indirecta
npmwhatwg-url14.1.1indirecta
npmwhich1.3.1indirecta
npmwhich2.0.2indirecta
npmwhich-module2.0.1indirecta
npmwhy-is-node-running2.3.0indirecta
npmwildcard2.0.1indirecta
npmword-wrap1.2.5indirecta
npmwordwrapjs5.1.0indirecta
npmworkerpool9.3.4indirecta
npmwrap-ansi6.2.0indirecta
npmwrap-ansi7.0.0indirecta
npmwrap-ansi8.1.0indirecta
npmwrap-ansi9.0.2indirecta
npmwrappy1.0.2indirecta
npmwrite-file-atomic3.0.3indirecta
npmws7.5.11indirecta
npmws8.21.0indirecta
npmxml-name-validator5.0.0indirecta
npmxmlchars2.2.0indirecta
npmy18n4.0.3indirecta
npmy18n5.0.8indirecta
npmyallist3.1.1indirecta
npmyaml2.8.3indirecta
npmyargs-parser18.1.3indirecta
npmyargs-parser20.2.9indirecta
npmyargs-parser21.1.1indirecta
npmyargs-parser22.0.0indirecta
npmyargs-unparser2.0.0indirecta
npmyauzl2.10.0indirecta
npmylru1.3.2indirecta
npmyn3.1.1indirecta
npmyocto-queue0.1.0indirecta
npmzod3.25.76indirecta
Avisos de dependencias 0

Instalar npm:@opentdf/ctl@0.20.0 arrastra 20 paquetes, directos y transitivos: 0 tienen avisos conocidos, de los cuales 0 son dependencias directas.

Ningún aviso conocido afecta a las dependencias evaluadas.

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

Informe JSON sin procesar legible por máquina
{
  "data": {
    "repo": {
      "topics": [
        "data-encryption",
        "data-tagging",
        "drm",
        "end-to-end-encryption",
        "file-encryption",
        "open-source",
        "opensource",
        "opentdf",
        "tdf",
        "webclient",
        "zero-trust",
        "zero-trust-security"
      ],
      "is_fork": false,
      "size_kb": 22450,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "CSS": 2675,
        "HTML": 371,
        "Shell": 6224,
        "Python": 407,
        "Makefile": 1842,
        "JavaScript": 11205,
        "TypeScript": 864189
      },
      "pushed_at": "2026-07-22T00:52:39Z",
      "created_at": "2021-10-26T19:53:47Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-22T01:16:13Z",
      "description": "OpenTDF JavaScript SDK",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "BSD-3-Clause-Clear",
      "default_branch": "main",
      "license_spdx_raw": "BSD-3-Clause-Clear",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://opentdf.io",
      "name": "OpenTDF",
      "type": "Organization",
      "login": "opentdf",
      "company": null,
      "location": null,
      "followers": 115,
      "avatar_url": "https://avatars.githubusercontent.com/u/90051847?v=4",
      "created_at": "2021-09-03T14:13:31Z",
      "is_verified": null,
      "public_repos": 11,
      "account_age_days": 1783
    },
    "license": {
      "state": "standard",
      "spdx_id": "BSD-3-Clause-Clear",
      "raw_spdx": "BSD-3-Clause-Clear",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "dev",
          "kind": "other",
          "published_at": "2026-07-17T19:12:48Z"
        },
        {
          "tag": "sdk-v0.20.0",
          "kind": "other",
          "published_at": "2026-07-10T19:14:54Z"
        },
        {
          "tag": "sdk-v0.19.0",
          "kind": "other",
          "published_at": "2026-06-23T16:08:15Z"
        },
        {
          "tag": "sdk-v0.18.0",
          "kind": "other",
          "published_at": "2026-06-18T17:49:54Z"
        },
        {
          "tag": "sdk-v0.17.0",
          "kind": "other",
          "published_at": "2026-04-29T19:26:40Z"
        },
        {
          "tag": "sdk-v0.16.0",
          "kind": "other",
          "published_at": "2026-04-27T16:24:10Z"
        },
        {
          "tag": "sdk-v0.15.0",
          "kind": "other",
          "published_at": "2026-04-22T18:08:00Z"
        },
        {
          "tag": "sdk-v0.14.0",
          "kind": "other",
          "published_at": "2026-04-09T22:21:25Z"
        },
        {
          "tag": "sdk-v0.13.0",
          "kind": "other",
          "published_at": "2026-03-27T17:02:09Z"
        },
        {
          "tag": "sdk-v0.12.0",
          "kind": "other",
          "published_at": "2026-03-19T15:07:26Z"
        },
        {
          "tag": "sdk-v0.11.0",
          "kind": "other",
          "published_at": "2026-03-17T16:24:55Z"
        },
        {
          "tag": "sdk-v0.10.0",
          "kind": "other",
          "published_at": "2026-03-11T16:46:34Z"
        },
        {
          "tag": "sdk-v0.9.0",
          "kind": "other",
          "published_at": "2026-01-28T17:22:48Z"
        },
        {
          "tag": "sdk-v0.8.0",
          "kind": "other",
          "published_at": "2026-01-14T16:11:50Z"
        },
        {
          "tag": "sdk-v0.7.0",
          "kind": "other",
          "published_at": "2026-01-09T19:09:51Z"
        },
        {
          "tag": "sdk-v0.6.0",
          "kind": "other",
          "published_at": "2025-11-03T15:22:02Z"
        },
        {
          "tag": "sdk-v0.5.0",
          "kind": "other",
          "published_at": "2025-10-17T19:54:28Z"
        },
        {
          "tag": "sdk-v0.4.1",
          "kind": "other",
          "published_at": "2025-07-18T18:50:40Z"
        },
        {
          "tag": "sdk/v0.4.0",
          "kind": "other",
          "published_at": "2025-06-30T16:48:05Z"
        },
        {
          "tag": "sdk/v0.3.1",
          "kind": "other",
          "published_at": "2025-04-08T21:41:14Z"
        },
        {
          "tag": "sdk/v0.3.0",
          "kind": "other",
          "published_at": "2025-04-08T15:50:28Z"
        },
        {
          "tag": "sdk/v0.2.0",
          "kind": "other",
          "published_at": "2025-02-28T21:12:53Z"
        },
        {
          "tag": "sdk/v0.1.0",
          "kind": "other",
          "published_at": "2024-12-11T22:12:13Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2024-10-18T19:14:09Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2023-08-16T21:34:40Z"
        },
        {
          "tag": "v1.2.1",
          "kind": "patch",
          "published_at": "2023-08-02T18:26:40Z"
        },
        {
          "tag": "v1.0.0",
          "kind": "major",
          "published_at": "2023-06-13T15:00:41Z"
        },
        {
          "tag": "0.5.0",
          "kind": "minor",
          "published_at": "2023-05-12T19:44:40Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2023-04-13T14:39:03Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "c25e2cd5aedb701277513309db8979b79dbb7f0e",
          "body": "…040) (#971)\n\n* refactor(sdk): consolidate key-algorithm types + typed accessors (DSPX-4040)\n\nIntroduce a single source of truth for key algorithms in\ncrypto/declarations.ts: per-family arrays (EC_KEY_ALGORITHMS,\nRSA_KEY_ALGORITHMS, KEY_ALGORITHMS), derived subtypes\n(EcKeyAlgorithm/RsaKeyAlgorithm),\n[…]\nSPX-4040)\n\nAdd choices: PUBLIC_KEY_ALGORITHMS to the encapKeyType and\nrewrapKeyType options so yargs rejects unsupported algorithms up\nfront with the valid list, and narrows argv to the literal union.",
          "is_bot": false,
          "headline": "chore(sdk): consolidate key-algorithm types + typed accessors (DSPX-4…",
          "author_name": "Dave Mihalcik",
          "author_login": "dmihalcik-virtru",
          "committed_at": "2026-07-17T19:12:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fab82a27f8f90d9fa18704eaea8e184ed55c39ed",
          "body": "splitLookupTableFactory now returns split id -> KeyAccessObject[] (a\ndisjunction of alternatives) instead of a url-keyed map, and no longer\nthrows when a KAS repeats within a split. unwrapKey feeds each alternative\nto anyPool with a unique key so duplicate KAS entries are each tried until\none succee\n[…]\nntdf/tests#555).\n\nAdds unit tests for duplicate + same-KAS-different-KID, an in-process\ndecrypt-path test, and fills spec/DSPX-3379.md.\n\n\n---------\n\nSigned-off-by: Dave Mihalcik <dmihalcik@virtru.com>",
          "is_bot": false,
          "headline": "fix(sdk): allow the same KAS to wrap the same split (DSPX-3379) (#967)",
          "author_name": "Dave Mihalcik",
          "author_login": "dmihalcik-virtru",
          "committed_at": "2026-07-16T16:06:45Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a84cead4d8449afaca6a6a50b016bd5a5e4e9801",
          "body": "* chore(main): release sdk 0.20.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release sdk 0.20.0 (#954)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-07-10T19:14:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1606967566ef3b1459914a1b3ec2239a8582d0a1",
          "body": "The platform-roundtrip job installs Go via setup-go using the version\nfrom the platform's service/go.mod, and setup-go pins GOTOOLCHAIN=local.\nWhen the platform's go.work requires a newer toolchain than that\ninstalled version, Go refuses to download it and provisioning fails:\n\n    go: platform/go.wo\n[…]\n_ENV write takes precedence over setup-go's GOTOOLCHAIN=local.\n\nCo-authored-by: Paul Flynn <pflynn-virtru@users.noreply.github.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(ci): allow Go toolchain auto-download in platform-roundtrip (#966)",
          "author_name": "Paul Flynn",
          "author_login": "pflynn-virtru",
          "committed_at": "2026-07-08T22:35:52Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "328c63ce5e193d0ce6241276481aa29003f8273d",
          "body": "Bump transitive dev dependencies to patched versions and force fixes\nvia overrides where no compatible upstream release exists.\n\nDependabot alerts:\n- serialize-javascript 7.0.4 -> 7.0.7 (cli) [#271]\n- js-yaml 4.1.1 -> 4.3.0 (lib) [#290]\n- js-yaml 3.14.2 -> 3.15.0 (lib, via @istanbuljs/load-nyc-confi\n[…]\nev-scoped; no runtime/published SDK dependencies are affected.\n\nCo-authored-by: Paul Flynn <pflynn-virtru@users.noreply.github.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(deps): resolve Dependabot alerts and clear npm audit (#965)",
          "author_name": "Paul Flynn",
          "author_login": "pflynn-virtru",
          "committed_at": "2026-07-08T22:04:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "19f8d53d9c3acec8beaf1a5a3022a3fafaac20f5",
          "body": "* fix(tdf3): remove TODO from customer-facing error message\n\nReplace 'TODO: Fallback to no split ids' error with user-friendly message.\nKeep developer TODO as code comment for future implementation.\n\nFixes DSPX-3454\n\nSigned-off-by: Aaron Hopper <aaron.hopper@virtru.com>\n\n* 🤖 🎨 Autoformat\n\nSigned-off\n[…]\nfferentiate keys from same KAS,\nrather than falling back to no split ids.\n\nAddresses ntrevino's review feedback on PR #952.\n\nDSPX-3454\n\n---------\n\nSigned-off-by: Aaron Hopper <aaron.hopper@virtru.com>",
          "is_bot": false,
          "headline": "fix(tdf3): remove TODO from customer-facing error message (#952)",
          "author_name": "Aaron Hopper",
          "author_login": "davidaronhopper-dev",
          "committed_at": "2026-06-26T17:56:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d1c88fd8e54e680f8a12a7e177475678ed05bbd9",
          "body": "* fix(sdk): drop userinfo token validation in favor of local exp check\n\nAccessToken.get() validated cached tokens against the OIDC userinfo\nendpoint, which added a per-request round trip and produced spurious 403s\n+ renewals (the DPoP proof was signed for POST but the request was a GET).\n\nReplace it\n[…]\ns the literal\n'403 for [url]; rewrap permission denied'. Both hit the same PermissionDenied\npath, so restore the original prefix verbatim and append ': forbidden' to\nsatisfy both.\n\n* fixup make format",
          "is_bot": false,
          "headline": "fix(sdk): Drops user_info check, does local `exp` check (#956)",
          "author_name": "Dave Mihalcik",
          "author_login": "dmihalcik-virtru",
          "committed_at": "2026-06-26T16:02:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a3796b2a6149e3b8533ba73517fd2aa9e311cbfe",
          "body": "Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.4.0 to 6.4.0.\n- [Release notes](https://github.com/actions/setup-go/releases)\n- [Commits](https://github.com/actions/setup-go/compare/0aaccfd150d50ccaeb58ebd88d36e91967a5f35b...4a3601121dd01d1626a1e23e37211e3254c1c06c)\n\n---\nupdated\n[…]\n-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Dave Mihalcik <dmihalcik@virtru.com>",
          "is_bot": true,
          "headline": "chore(ci): bump actions/setup-go from 5.4.0 to 6.4.0 (#904)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-25T18:32:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c7de1f264b71ea2be4bef062bdf040246d512f09",
          "body": "Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.2 to 7.0.0.\n- [Release notes](https://github.com/actions/upload-artifact/releases)\n- [Commits](https://github.com/actions/upload-artifact/compare/ea165f8d65b6e75b540449e92b4886f43607fa02...bbbca2ddaa5d8feaa63e36b76f\n[…]\n-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Dave Mihalcik <dmihalcik@virtru.com>",
          "is_bot": true,
          "headline": "chore(ci): bump actions/upload-artifact from 4.6.2 to 7.0.0 (#903)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-25T15:51:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "dd450196eb101768a6e2e5fa8fcb16f25d93d9f0",
          "body": "Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.2.1 to 8.0.1.\n- [Release notes](https://github.com/actions/download-artifact/releases)\n- [Commits](https://github.com/actions/download-artifact/compare/95815c38cf2ff2164869cbab79da8d1f422bc89e...3e5f45b2cfb9172054\n[…]\n-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Dave Mihalcik <dmihalcik@virtru.com>",
          "is_bot": true,
          "headline": "chore(ci): bump actions/download-artifact from 4.2.1 to 8.0.1 (#905)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-25T14:57:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e0201cd19e41267d3880ba287c0340284a0d7e57",
          "body": "Bumps [uuid](https://github.com/uuidjs/uuid) to 14.0.1 and updates ancestor dependency [nyc](https://github.com/istanbuljs/nyc). These dependencies need to be updated together.\n\n\nUpdates `uuid` from 8.3.2 to 14.0.1\n- [Release notes](https://github.com/uuidjs/uuid/releases)\n- [Changelog](https://gith\n[…]\ndency-version: 18.0.0\n  dependency-type: direct:development\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": "fix(sdk): bump uuid and nyc in /lib (#955)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-23T18:30:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "acf26fd2f0b70b5f4959752d29309f04f9b9ffba",
          "body": "Bumps [uuid](https://github.com/uuidjs/uuid) from 14.0.0 to 14.0.1.\n- [Release notes](https://github.com/uuidjs/uuid/releases)\n- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/uuidjs/uuid/compare/v14.0.0...v14.0.1)\n\n---\nupdated-dependencies:\n- depen\n[…]\nndency-version: 14.0.1\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": "fix(sdk): bump uuid from 14.0.0 to 14.0.1 in /lib (#953)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-23T18:07:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "84a642ed515fefce15316e05ecc852dc976f3575",
          "body": "Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 4.2.0.\n- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/nodeca/js-yaml/commits)\n\n---\nupdated-dependencies:\n- dependency-name: js-yaml\n  dependency-version: 4.2.0\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": "chore(docs): bump js-yaml from 4.1.1 to 4.2.0 in /web-app (#942)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-23T18:06:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e006be9bd0702c4091bfe69682f856c8b5dece3",
          "body": "Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite), [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). These dependencies needed to be updated together.\n\nUpdates `vite` from 6.4.2 to\n[…]\nndency-version: 4.1.9\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(docs): bump vite, @vitest/ui and vitest in /web-app (#947)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-23T18:05:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "94082da794e13a1660821561f2942ee670a86840",
          "body": "* chore(main): release sdk 0.19.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release sdk 0.19.0 (#949)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-06-23T16:07:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ecd41ecb222e67665580f0b4a2ff509f1d8206a7",
          "body": "Replace static NPM_TOKEN secret with GitHub Actions OIDC for npmjs\npublishing. The token expired, causing E404 on publish. Trusted\npublisher is already configured on npmjs for both @opentdf/sdk and\n@opentdf/ctl.\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(ci): switch npm publish to OIDC trusted publishing (#950)",
          "author_name": "Eugene Yakhnenko",
          "author_login": "eugenioenko",
          "committed_at": "2026-06-23T14:54:35Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a0ad0c28df04e14f7217761767fec0e3216a37d6",
          "body": "Bumps [qs](https://github.com/ljharb/qs) and [body-parser](https://github.com/expressjs/body-parser). These dependencies needed to be updated together.\n\nUpdates `qs` from 6.14.2 to 6.15.2\n- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/qs/comp\n[…]\nqs\n  dependency-version: 6.15.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": "fix(sdk): bump qs and body-parser in /lib (#935)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-18T21:31:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2dc4d918bcd7f1351252e36a4ce53e914bebd2f4",
          "body": "Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 14.1.1 to 14.2.0.\n- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/markdown-it/markdown-it/compare/14.1.1...14.2.0)\n\n---\nupdated-dependencies:\n- dependency-name: mark\n[…]\nit\n  dependency-version: 14.2.0\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": "fix(sdk): bump markdown-it from 14.1.1 to 14.2.0 in /lib (#944)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-18T21:31:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4e40dfdb51354ab5dd4b0b0f6e1dc1a18dd98c50",
          "body": "Bumps [form-data](https://github.com/form-data/form-data) from 4.0.4 to 4.0.6.\n- [Release notes](https://github.com/form-data/form-data/releases)\n- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/form-data/form-data/compare/v4.0.4...v4.0.6)\n[…]\nata\n  dependency-version: 4.0.6\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": "chore(sdk): bump form-data from 4.0.4 to 4.0.6 in /lib (#945)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-18T21:29:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d7f1ded082c476eaf3d92f8594117c7b639d55d3",
          "body": "Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.29.0 to 7.29.7.\n- [Release notes](https://github.com/babel/babel/releases)\n- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/babel/babel/commits/v7.29.7/packages\n[…]\ne\"\n  dependency-version: 7.29.7\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": "chore(docs): bump @babel/core from 7.29.0 to 7.29.7 in /web-app (#946)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-18T21:29:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f9109bfc0aee5527086242f18c47f17152fa6aa3",
          "body": "Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 4.2.0.\n- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/nodeca/js-yaml/commits)\n\n---\nupdated-dependencies:\n- dependency-name: js-yaml\n  dependency-version: 4.2.0\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": "fix(cli): bump js-yaml from 4.1.1 to 4.2.0 in /cli (#943)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-18T21:22:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85b0eaea35809915c13910d4e8f45ab06f7d7219",
          "body": "* chore(main): release sdk 0.18.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release sdk 0.18.0 (#941)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-06-18T17:49:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19bed9d22b689b8e9a86a2e74f1a934a79b2b38d",
          "body": "Regenerate platform proto bindings against protocol/go/v0.33.1 which\nincludes search/sort/filter types from selectors.proto (PageRequest,\nPageResponse, Search, per-entity Sort messages).\n\nAlso removes Certificate type and rootCerts from Namespace, which were\ndropped in protocol/go/v0.33.0 (DSPX-2998).\n\nSigned-off-by: Eugene Yakhnenko <eugene.yakhnenko@virtru.com>\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(sdk): update proto bindings to protocol/go/v0.33.1 (#948)",
          "author_name": "Eugene Yakhnenko",
          "author_login": "eugenioenko",
          "committed_at": "2026-06-17T20:58:52Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "04f3ae4d3e6dc5501871788c215d2ef83b7d27b0",
          "body": "…(#940)\n\n* fix(ci): replace GitHub Contents API with git push in update-protos workflow\n\nThe file-by-file upload via gh api PUT broke on large generated files\n(validate_pb.ts) with \"Argument list too long\", blocking proto updates\nfor 5+ days.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n[…]\n.6 <noreply@anthropic.com>\n\n* fix(ci): scope git add to known proto outputs\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(ci): fix update-protos workflow failing on large generated files …",
          "author_name": "Eugene Yakhnenko",
          "author_login": "eugenioenko",
          "committed_at": "2026-06-17T18:50:12Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0a4ada61a63864744a6b96c4d8aba0c5b667b58f",
          "body": "Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.4 to 0.2.7.\n- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.4...v0.2.7)\n\n---\nupdated-dependencies:\n- dependency-name: tmp\n  dependency-version: 0.2.7\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": "chore(sdk): bump tmp from 0.2.4 to 0.2.7 in /lib (#936)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-28T14:53:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d78a647526694218aa59f02568a8de31c67a8237",
          "body": "Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 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.0...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": "chore(sdk): bump fast-uri from 3.1.0 to 3.1.2 in /lib (#931)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-11T15:36:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e79f5debb0321c415f8ede0293094698060794c5",
          "body": "Bumps [ip-address](https://github.com/beaugunderson/ip-address) from 10.1.0 to 10.2.0.\n- [Commits](https://github.com/beaugunderson/ip-address/commits)\n\n---\nupdated-dependencies:\n- dependency-name: ip-address\n  dependency-version: 10.2.0\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": "chore(sdk): bump ip-address from 10.1.0 to 10.2.0 in /lib (#930)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-07T16:36:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a71c0939ad7a28faf5b0a7bd2e4053cfaa851caa",
          "body": "* chore(main): release sdk 0.17.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release sdk 0.17.0 (#929)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-04-29T19:26:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d43919cd86d96f66ad0eb9de2d6df42b501c5942",
          "body": "…(#928)\n\nRe-export SubjectMappingOperatorEnum, ConditionBooleanTypeEnum,\nAttributeRuleTypeEnum, and ActiveStateEnum from the main @opentdf/sdk\nentry point so users can import them directly instead of reaching into\ngenerated proto paths.\n\nCompanion to opentdf/platform#3408 (Go SDK) and opentdf/java-sdk#357\n(Java SDK).\n\nSigned-off-by: Mary Dickson <mary.dickson@virtru.com>\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(sdk): re-export policy enums from barrel for convenient imports …",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-04-28T20:36:33Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "037e43e60ec517608be16ec8badd8cb206765b1a",
          "body": "Bumps [postcss](https://github.com/postcss/postcss) from 8.5.3 to 8.5.12.\n- [Release notes](https://github.com/postcss/postcss/releases)\n- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/postcss/postcss/compare/8.5.3...8.5.12)\n\n---\nupdated-depend\n[…]\nss\n  dependency-version: 8.5.12\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": "chore(docs): bump postcss from 8.5.3 to 8.5.12 in /web-app (#927)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-28T14:14:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "edece8c620afb9f2beaac1be0b2890004f0f2102",
          "body": "* chore(main): release sdk 0.16.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release sdk 0.16.0 (#924)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-04-27T16:23:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "66aad4e2f398a3ada7683f4a74d38d68eb682b6a",
          "body": "…922)\n\n* fix: improve AES-GCM decryption handling and logging\n\n* clean up debug logging\n\n* 🤖 🎨 Autoformat\n\n* fix(crypto): remove redundant IV assignment in symmetric decryption\n\n* fix(ciphers): support ArrayBuffer in decrypt method\n\n* keep fixes for tests (coderabbit)",
          "is_bot": false,
          "headline": "fix(sdk): bound browser decrypt memory for large chunker downloads (#…",
          "author_name": "Brad Robinson",
          "author_login": "bnrobinson93",
          "committed_at": "2026-04-23T20:30:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c02e1fccf619c1f877192327d3a23e794d36dd3",
          "body": "Bumps [uuid](https://github.com/uuidjs/uuid) from 13.0.0 to 14.0.0.\n- [Release notes](https://github.com/uuidjs/uuid/releases)\n- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/uuidjs/uuid/compare/v13.0.0...v14.0.0)\n\n---\nupdated-dependencies:\n- depen\n[…]\nndency-version: 14.0.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": "fix(sdk): bump uuid from 13.0.0 to 14.0.0 in /lib (#923)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-23T15:51:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "89603526e8a16f90f8364fe57a06bdcfc140b09c",
          "body": "* chore(main): release sdk 0.15.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release sdk 0.15.0 (#914)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-04-22T18:07:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a14b7771021271e6648d331fbd345dd89bcf13b4",
          "body": "* feat(sdk): add ergonomic Resource constructors for authorization\n\nAdd Resources namespace with forAttributeValues and\nforRegisteredResourceValueFqn helpers to reduce boilerplate when\nbuilding Resource objects for authorization calls.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic\n[…]\nhropic.com>\nSigned-off-by: Mary Dickson <mary.dickson@virtru.com>\n\n---------\n\nSigned-off-by: Mary Dickson <mary.dickson@virtru.com>\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(sdk): add ergonomic Resource constructors for authorization (#921)",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-04-22T14:20:06Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "376c780d17355053348a832006bcdd90bddb00e2",
          "body": "…options (#920)\n\n* feat: add segment batch size and maximum concurrent segment batches options\n\n* tests: decrypt read tuning",
          "is_bot": false,
          "headline": "feat(sdk): add segment batch size and max concurrent segment batches …",
          "author_name": "Brad Robinson",
          "author_login": "bnrobinson93",
          "committed_at": "2026-04-20T22:04:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c4e465b324f153d8a031ec7546d3677d5c775d0",
          "body": "Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.6 to 1.16.0.\n- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)\n- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.6...v1.16.0)\n\n---\nupdated-dependencies\n[…]\nts\n  dependency-version: 1.16.0\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": "chore(sdk): bump follow-redirects from 1.15.6 to 1.16.0 in /lib (#918)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-14T15:05:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8468f4cf86ecf658ee07e9eb0f81725ec97d2849",
          "body": "Bumps [basic-ftp](https://github.com/patrickjuchli/basic-ftp) from 5.2.1 to 5.2.2.\n- [Release notes](https://github.com/patrickjuchli/basic-ftp/releases)\n- [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/patrickjuchli/basic-ftp/compare/\n[…]\n\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Mike Jensen <jentfoo@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(sdk): bump basic-ftp from 5.2.1 to 5.2.2 in /lib (#917)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-13T16:10:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d0ab11560a9f493b7b92fdf04408263fdac97734",
          "body": "… (#916)\n\n* refactor(sdk): namespace EntityIdentifier helpers under EntityIdentifiers\n\nExport helpers as `EntityIdentifiers.forEmail(...)` instead of bare\n`forEmail(...)` to avoid top-level name collisions (e.g. with future\nTDF recipient helpers) and align with the Java SDK pattern.\n\nCloses #915\n\nCo\n[…]\nentifiers export is the recommended path forward.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(sdk): namespace EntityIdentifier helpers under EntityIdentifiers…",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-04-10T23:16:42Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "015176cb56d9155b6b4a050da6688f51021365f7",
          "body": "The bare `npm install` resolves the lockfile's file: reference to\nthe SDK tarball and checks the integrity hash recorded at release\ntime. Since the tarball is freshly built from HEAD, the hash never\nmatches, causing every post-release push to fail with EINTEGRITY.\n\nRemoving the redundant call lets `npm install ../lib/opentdf-sdk-*.tgz`\nhandle all deps and the fresh tarball in one step.\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(ci): remove redundant npm install in dev-artifact workflow (#913)",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-04-10T04:14:51Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "8c37eb2101545b956e417cfce2b037441e2a1bad",
          "body": "* chore(main): release sdk 0.14.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release sdk 0.14.0 (#900)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-04-09T22:21:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f1799c3892dd850cf54ab0f00f76f3545e106c3",
          "body": "Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)\n\n---\nupdated-dependencies:\n- dependency-name: lodash\n  dependency-version: 4.18.1\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": "fix(sdk): bump lodash from 4.17.23 to 4.18.1 in /lib (#909)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-09T21:44:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "14152c4a4e662c66d805db811a8e9f21e89b4205",
          "body": "* fix(ci): allow main scope in PR title validation\n\nRelease-please generates PR titles like `chore(main): release sdk\n0.14.0`, but the scope `main` was not in the allowed scopes list,\ncausing the Conventional Commits Check to fail.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com\n[…]\nhropic.com>\nSigned-off-by: Mary Dickson <mary.dickson@virtru.com>\n\n---------\n\nSigned-off-by: Mary Dickson <mary.dickson@virtru.com>\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(ci): allow main scope in PR title validation (#912)",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-04-09T21:41:53Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0bbe54997f8ef00e9d75a28a115ed85c54ad5a15",
          "body": "* feat(sdk): add EntityIdentifier convenience constructors\n\nAdd helper functions (forEmail, forClientId, forUserName, forToken,\nwithRequestToken) that mirror the Go SDK's EntityIdentifier helpers.\nReduces authorization call setup from ~15 lines of nested object\nliterals to a single function call.\n\nC\n[…]\nhropic.com>\nSigned-off-by: Mary Dickson <mary.dickson@virtru.com>\n\n---------\n\nSigned-off-by: Mary Dickson <mary.dickson@virtru.com>\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(sdk): add EntityIdentifier convenience constructors (#911)",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-04-09T19:03:59Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c412bc947db4d80cda592ee22db784a482feb724",
          "body": "Bumps [basic-ftp](https://github.com/patrickjuchli/basic-ftp) from 5.2.0 to 5.2.1.\n- [Release notes](https://github.com/patrickjuchli/basic-ftp/releases)\n- [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/patrickjuchli/basic-ftp/compare/\n[…]\nftp\n  dependency-version: 5.2.1\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": "chore(sdk): bump basic-ftp from 5.2.0 to 5.2.1 in /lib (#910)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-09T16:17:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "81db92b728a930a7b12c111239ab990f8942aa75",
          "body": "Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.\n- [Release notes](https://github.com/vitejs/vite/releases)\n- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)\n- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages\n[…]\nndency-version: 6.4.2\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(docs): bump vite from 6.4.1 to 6.4.2 in /web-app (#908)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-07T15:38:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f77cb3d335160fa8f753110350670af2543ad6eb",
          "body": "* docs: update root README with interceptor-first examples\n\nLead with the interceptor pattern as the recommended auth approach.\nMove AuthProvider examples to a deprecated section. Update\nPlatformClient examples to use interceptors. Add authProviderInterceptor\nbridge example for migration path.\n\nCo-A\n[…]\ny@anthropic.com>\n\n* chore: replace auth with identity in comment\n\n---------\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\nCo-authored-by: Mary Dickson <mary.dickson@virtru.com>",
          "is_bot": false,
          "headline": "chore: update root README with interceptor-first examples (#907)",
          "author_name": "Eugene Yakhnenko",
          "author_login": "eugenioenko",
          "committed_at": "2026-04-06T18:47:52Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7627b1e66664c4c314fa1fe41f37023e53b71df3",
          "body": "…(#906)\n\n* feat(sdk): add TokenProvider factory functions for common OIDC flows\n\nAdds convenience factories that return a TokenProvider for use with\nauthTokenInterceptor, mirroring the existing AuthProviders pattern:\n\n- clientCredentialsTokenProvider: OAuth2 client credentials grant\n- refreshTokenPr\n[…]\n\n\nSigned-off-by: Mary Dickson <mary.dickson@virtru.com>\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\nCo-authored-by: marythought <10136229+marythought@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat(sdk): add TokenProvider factory functions for common OIDC flows …",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-04-06T18:00:14Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1be800ead70283a4624fb65030c1a941b6beed71",
          "body": "* feat(sdk): deprecate AuthProvider in favor of Interceptor pattern\n\nUnifies auth for both PlatformClient and OpenTDF on the Connect RPC\nInterceptor pattern, eliminating the updateClientPublicKey footgun and\nthe dual-abstraction complexity before 1.0.\n\n- Add authTokenInterceptor, authTokenDPoPInterc\n[…]\ned annotations for authProvider\n\nMark authProvider as deprecated since 0.14.0 across OpenTDFOptions,\nPlatformClientOptions, and ClientConfig.\n\n\n* chore: update opentdf class doc and export interceptor",
          "is_bot": false,
          "headline": "feat(sdk): deprecate AuthProvider in favor of Interceptor pattern (#899)",
          "author_name": "Eugene Yakhnenko",
          "author_login": "eugenioenko",
          "committed_at": "2026-04-01T16:47:38Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "74e350a32c06b99f65a09377d027fecade15010d",
          "body": "* fix(sdk): gate signingKey check on dpopEnabled in withCreds\n\nThe withCreds() method unconditionally required signingKey, causing\nnon-DPoP flows to fail. Now the check is inside the dpopEnabled branch,\nmatching the existing pattern in doPost() and info().\n\nCo-Authored-By: Claude Opus 4.6 (1M contex\n[…]\nhropic.com>\nSigned-off-by: Mary Dickson <mary.dickson@virtru.com>\n\n---------\n\nSigned-off-by: Mary Dickson <mary.dickson@virtru.com>\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(sdk): gate signingKey check on dpopEnabled in withCreds (#898)",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-03-31T20:22:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6148c127c47bd8030c1169e2dba5a1775bc23cb8",
          "body": "* chore(main): release sdk 0.13.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(sdk): release sdk 0.13.0 (#896)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-03-27T17:01:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1818a74a3529cd3f681410c15c2895412178b084",
          "body": "* jti doesnt need to use random bytes from crypto service\n\n* suggestion",
          "is_bot": false,
          "headline": "fix(sdk): Only use crypto service randomBytes where necessary (#889)",
          "author_name": "Elizabeth Healy",
          "author_login": "elizabethhealy",
          "committed_at": "2026-03-27T14:55:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13945f3e03d100001624310d38641387b645b422",
          "body": "Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4.\n- [Release notes](https://github.com/micromatch/picomatch/releases)\n- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.\n[…]\ntch\n  dependency-version: 4.0.4\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": "chore(cli): bump picomatch from 4.0.3 to 4.0.4 in /cli (#895)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-26T14:52:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fef17f647b2495c79d76917cc41fda7acc490a61",
          "body": "Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.\n- [Release notes](https://github.com/micromatch/picomatch/releases)\n- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.\n[…]\ntch\n  dependency-version: 2.3.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": "chore(docs): bump picomatch from 2.3.1 to 2.3.2 in /web-app (#894)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-26T14:48:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "29fb0be5fc7c0c0811a94ec48c965e08042160fb",
          "body": "Bumps  and [picomatch](https://github.com/micromatch/picomatch). These dependencies needed to be updated together.\n\nUpdates `picomatch` from 4.0.3 to 4.0.4\n- [Release notes](https://github.com/micromatch/picomatch/releases)\n- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.\n[…]\ntch\n  dependency-version: 4.0.4\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": "fix(sdk): bump picomatch in /lib (#893)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-26T14:47:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "03635388a18188b8ca33d18c478b6aa8f35e3395",
          "body": "Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.\n- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)\n\n---\nupdated-dependencies:\n- dependency-name: flatted\n  dependency-version: 3.4.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": "chore(sdk): bump flatted from 3.3.3 to 3.4.2 in /lib (#892)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-23T16:03:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0d5baf46bf2e40a2143d6efd05b19dd9cb0e3b0b",
          "body": "Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.\n- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)\n\n---\nupdated-dependencies:\n- dependency-name: flatted\n  dependency-version: 3.4.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": "chore(docs): bump flatted from 3.3.3 to 3.4.2 in /web-app (#891)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-23T16:02:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "801f9c0cebcb90936346bdf91b2adae366396339",
          "body": "Bumps [flatted](https://github.com/WebReflection/flatted) from 3.4.1 to 3.4.2.\n- [Commits](https://github.com/WebReflection/flatted/compare/v3.4.1...v3.4.2)\n\n---\nupdated-dependencies:\n- dependency-name: flatted\n  dependency-version: 3.4.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": "chore(cli): bump flatted from 3.4.1 to 3.4.2 in /cli (#890)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-23T16:02:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "836f4ae93f1e0a69b4baaf6d1bde596a527dc0af",
          "body": "…ore managable files (#888)\n\n* break up the crypto service into smaller files\n\n* restore comments/docs\n\n* fix other small changes that occured on move",
          "is_bot": false,
          "headline": "chore(sdk): Break up the crypto service implementation into smaller m…",
          "author_name": "Elizabeth Healy",
          "author_login": "elizabethhealy",
          "committed_at": "2026-03-20T15:39:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "975161a2dfbdddd3b2e546ceaa06003d72cd6e63",
          "body": "* chore(main): release sdk 0.12.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(sdk): release sdk 0.12.0 (#885)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-03-19T15:06:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2e5c118d200b14a2c1fca25deda7d835dde5515",
          "body": null,
          "is_bot": false,
          "headline": "update the pr title and release notes on new proto version (#887)",
          "author_name": "Elizabeth Healy",
          "author_login": "elizabethhealy",
          "committed_at": "2026-03-18T17:34:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f1c0ec5def6309996d9a8548bef77887c22e1df",
          "body": "* fix(sdk): update lib README with current SDK usage patterns\n\nReplace outdated browser-only refresh token example with\nclientSecretAuthProvider pattern matching current docs.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n* fix(sdk): use refreshAuthProvider in README for browser context\n\n[…]\ns — secrets\nwould be exposed to end users. Use refreshAuthProvider instead.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(sdk): update lib README with current SDK usage patterns (#886)",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-03-17T18:59:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "bfb23f84ded2ec9efb05e2a1a278eebed7b5dcfa",
          "body": "* fix(sdk): correct inverted disableDPoP flag in OpenTDF constructor\n\n`!!disableDPoP` coerces to boolean without negating, so\n`disableDPoP: true` was enabling DPoP. Change to `!disableDPoP`.\n\nFixes #869\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\n\n* chore(sdk): add tests fo\n[…]\narn instead of silently\n  swallowing DPoP key binding failures\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(sdk): correct disableDPoP flag and add eager DPoP key binding (#883)",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-03-17T17:17:14Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a1acca2ad77db1d043fecb9a2cf6b66868321645",
          "body": "The previous pattern used ${branch} as the scope, generating titles like\n`chore(main): release sdk 0.11.0` which fail the conventional commit\ncheck since 'main' is not an allowed scope.\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>\nCo-authored-by: Mary Dickson <mary.dickson@virtru.com>",
          "is_bot": false,
          "headline": "fix(ci): use 'sdk' scope in release-please PR title pattern (#867)",
          "author_name": "Paul Flynn",
          "author_login": "pflynn-virtru",
          "committed_at": "2026-03-17T16:53:11Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "fccb38f8b543ab49de2441a24033a1fe74401a8a",
          "body": "* chore(main): release sdk 0.11.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(sdk): release sdk 0.11.0 (#864)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-03-17T16:24:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dac180d883f7c2dc79442018b61578393f994521",
          "body": "* update libs\n\n* try to recursively find the modules\n\n* use platform go work and call service command from platform repo\n\n* fix helper",
          "is_bot": false,
          "headline": "chore(ci): Run provisioning from checked-out platform (#884)",
          "author_name": "Elizabeth Healy",
          "author_login": "elizabethhealy",
          "committed_at": "2026-03-17T15:34:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d9058d7a78b9951675849b0fb27585e25876ae7",
          "body": "…tag (#868)\n\nRelease Please changed the tag format from sdk/v* to sdk-v* starting at\nv0.4.1. The scripts already handle both formats, but the tests only\ncovered the old sdk/v* pattern. This adds test coverage for sdk-v* and\nupdates the gh-semver.sh comment to reflect the current format.\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(ci): update tests to cover sdk-v* tag format for npm latest dist-…",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-03-16T14:16:54Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f14d6eb09605e65855b69bed39dbbd1241276d63",
          "body": "…ct (#858)\n\n* fix(ci): fix dev-artifact EINTEGRITY and deliver registry propagation\n\nDev Artifact: `npm ci` in cli/ fails with EINTEGRITY because the\nlockfile integrity hash doesn't match the freshly-built SDK tgz.\nSwitch to `npm install` which doesn't enforce lockfile integrity\nfor local file depen\n[…]\nregateError\n   thrown after exhausting retries contained no useful context.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(sdk): await sleep in retry backoff; fix CI deliver and dev-artifa…",
          "author_name": "Paul Flynn",
          "author_login": "pflynn-virtru",
          "committed_at": "2026-03-12T12:18:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "17d32a750ed2ef85d4746a4e995b698d8255cc79",
          "body": "* chore: fix dependabot security alerts and bump all dependencies\n\nFix 3 open high-severity dependabot alerts:\n- serialize-javascript RCE (lib, cli) via overrides → 7.0.4\n- koa Host Header Injection (lib) via overrides → 2.16.4\n\nBump dependencies from 20 open dependabot PRs:\n- lib: @bufbuild/buf 1.6\n[…]\neph` dist-tag instead of `latest`, leaving the\nnpm `latest` stuck at 0.4.0.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: fix dependabot alerts, bump deps, Node 24 LTS, release fix (#857)",
          "author_name": "Paul Flynn",
          "author_login": "pflynn-virtru",
          "committed_at": "2026-03-11T18:24:34Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6f63079c0385cf0d058f8a842b83ef175d8a8e13",
          "body": "* chore(main): release sdk 0.10.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(sdk): release sdk 0.10.0 (#838)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-03-11T16:46:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "84503b06b7220001aaa46185380ce4a140c6dfc9",
          "body": "…#855)\n\n* feat(sdk): add createTDF alias for createZTDF, deprecate createZTDF\n\n`createZTDF` is a misnomer — the OpenTDF SDK produces standard TDF\ncontainers, not ZTDF (which is a DSP SDK capability). Add `createTDF`\nas the preferred method and `CreateTDFOptions` as the preferred type,\nand mark the o\n[…]\nc.com>\n\n* fix(sdk): update cli.ts to use createTDF and CreateTDFOptions\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(sdk): add createTDF alias for createZTDF, deprecate createZTDF (…",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-03-10T19:37:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6ab17cc000481b0845378b5fb44c004b05d393c4",
          "body": "… (#835)\n\n* feat(sdk): Extend the crypto service interface (#803)\n\n* extend the crypto service interface\n\n* 🤖 🎨 Autoformat\n\nSigned-off-by: Elizabeth Healy <ehealy@virtru.com>\n\n* enable ci for this branch, gemini suggestions\n\n* add ec methods to crypto service\n\n* format\n\n* extend the crypto service i\n[…]\nuggable crypto JWT/assertion key handling and DER/cert compatibility (#854)\n\n* codex suggestions on review\n\n* copilot and gemini comments\n\n---------\n\nSigned-off-by: Elizabeth Healy <ehealy@virtru.com>",
          "is_bot": false,
          "headline": "feat(sdk): Encapsulate all crypto in cryptoservice, make it pluggable…",
          "author_name": "Elizabeth Healy",
          "author_login": "elizabethhealy",
          "committed_at": "2026-03-10T17:06:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "263bdf6ea35170c2baf17f8335e82e5b63d54697",
          "body": "Bumps  and [minimatch](https://github.com/isaacs/minimatch). These dependencies needed to be updated together.\n\nUpdates `minimatch` from 3.1.2 to 3.1.5\n- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)\n- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)\n\n\n[…]\ntch\n  dependency-version: 9.0.9\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": "chore(docs): bump minimatch in /web-app (#852)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-02T16:36:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d3331b157d681ccd0b72e0f5933df05388239d0c",
          "body": "Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5.\n- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)\n- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)\n\n---\nupdated-dependencies:\n- dependency-name: minimatch\n  dependency-version: 3.1.5\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": "chore(cli): bump minimatch from 3.1.2 to 3.1.5 in /cli (#851)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-02T16:35:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ecbac8f5d7ea4866b8f126e8f53ac81f102b9c07",
          "body": "Bumps  and [minimatch](https://github.com/isaacs/minimatch). These dependencies needed to be updated together.\n\nUpdates `minimatch` from 3.1.2 to 3.1.5\n- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)\n- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)\n\n\n[…]\ntch\n  dependency-version: 5.1.9\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": "fix(sdk): bump minimatch in /lib (#850)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-02T16:34:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a2d1a436b580e3c20215d795780dca784a39fcf7",
          "body": "Bumps [rollup](https://github.com/rollup/rollup) from 4.40.1 to 4.59.0.\n- [Release notes](https://github.com/rollup/rollup/releases)\n- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/rollup/rollup/compare/v4.40.1...v4.59.0)\n\n---\nupdated-dependenc\n[…]\nup\n  dependency-version: 4.59.0\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": "chore(docs): bump rollup from 4.40.1 to 4.59.0 in /web-app (#849)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-26T16:53:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "27dbcbc481073df22791fe306ded0be86d88d171",
          "body": "Bumps [rollup](https://github.com/rollup/rollup) from 4.25.0 to 4.59.0.\n- [Release notes](https://github.com/rollup/rollup/releases)\n- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/rollup/rollup/compare/v4.25.0...v4.59.0)\n\n---\nupdated-dependenc\n[…]\nup\n  dependency-version: 4.59.0\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": "fix(sdk): bump rollup from 4.25.0 to 4.59.0 in /lib (#848)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-26T16:52:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f8161a4a7c273eb214bfdd766f65ff6d25ae4e8a",
          "body": "Bumps [basic-ftp](https://github.com/patrickjuchli/basic-ftp) from 5.1.0 to 5.2.0.\n- [Release notes](https://github.com/patrickjuchli/basic-ftp/releases)\n- [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/patrickjuchli/basic-ftp/compare/\n[…]\nftp\n  dependency-version: 5.2.0\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": "chore(sdk): bump basic-ftp from 5.1.0 to 5.2.0 in /lib (#847)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-26T16:16:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "06c596415a4a3600e9401fce2f7658b9d23190e1",
          "body": "* feat(sdk): DSPX-2418 add attribute discovery methods\n\n---------\n\nSigned-off-by: Mary Dickson <mary.dickson@virtru.com>\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(sdk): DSPX-2418 add attribute discovery methods (#841)",
          "author_name": "Mary Dickson",
          "author_login": "marythought",
          "committed_at": "2026-02-19T21:53:39Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3c03f128e3f0a631241cc70079b5007e6d0fb049",
          "body": "Bumps [webpack](https://github.com/webpack/webpack) from 5.98.0 to 5.105.0.\n- [Release notes](https://github.com/webpack/webpack/releases)\n- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/webpack/webpack/compare/v5.98.0...v5.105.0)\n\n---\nupdated-\n[…]\nency-version: 5.105.0\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(sdk): bump webpack from 5.98.0 to 5.105.0 in /lib (#834)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-17T16:31:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "44afd7d90f0f10aa29bc177ee171454c6537de77",
          "body": "Bumps [qs](https://github.com/ljharb/qs) from 6.14.1 to 6.14.2.\n- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/qs/compare/v6.14.1...v6.14.2)\n\n---\nupdated-dependencies:\n- dependency-name: qs\n  dependency-version: 6.14.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": "fix(sdk): bump qs from 6.14.1 to 6.14.2 in /lib (#839)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-17T16:28:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3c440c667194bcca97c9b3fb2ad9d3cc7d23fd3",
          "body": "* Update curve name from P-512 to P-521 in crypto utilities\n\n* Refactor curve name handling to use `NamedCurve` enum\n\n* 🤖 🎨 Autoformat\n\nSigned-off-by: Paul Flynn <pflynn@virtru.com>\n\n---------\n\nSigned-off-by: Paul Flynn <pflynn@virtru.com>",
          "is_bot": false,
          "headline": "fix: Update curve name from P-512 to P-521 in crypto utilities (#837)",
          "author_name": "Paul Flynn",
          "author_login": "pflynn-virtru",
          "committed_at": "2026-02-13T19:15:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af55d1d9e52b854d0b513a3f30b838e8cd9f4aa1",
          "body": "* chore(main): release sdk 0.9.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(sdk): release sdk 0.9.0 (#802)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-01-28T17:22:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "28eb417a1f1beaf030c9d6bd069249d0ab94a53d",
          "body": "* feat(sdk): Pull kas keys from definitions and namespaces.\n\nSigned-off-by: Chris Reed <creed@virtru.com>\n\n* tests.\n\nSigned-off-by: Chris Reed <creed@virtru.com>\n\n* refactor.\n\nSigned-off-by: Chris Reed <creed@virtru.com>\n\n* 🤖 🎨 Autoformat\n\nSigned-off-by: Chris Reed <creed@virtru.com>\n\n---------\n\nSigned-off-by: Chris Reed <creed@virtru.com>",
          "is_bot": false,
          "headline": "feat(sdk): Pull kas keys from definitions and namespaces. (#808)",
          "author_name": "Chris Reed",
          "author_login": "c-r33d",
          "committed_at": "2026-01-28T16:06:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be7e4ae81b3cd7661bc66453b60ade76dd71a9ff",
          "body": "* security: fix HIGH and MODERATE vulnerabilities in web-app\n\n- Fix glob CLI command injection (CVE HIGH, CVSS 7.5)\n  Updated read-installed-packages to resolve transitive glob vulnerability\n\n- Fix @babel/helpers ReDoS (CVE MODERATE, CVSS 6.2)\n  Updated @babel/helpers to version without inefficient \n[…]\nb3c07dd3\n\nThis is a safe minor version update with no breaking changes.\n\nCo-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: all vulnerabilities and update tooling (#812)",
          "author_name": "Paul Flynn",
          "author_login": "pflynn-virtru",
          "committed_at": "2026-01-26T21:36:54Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "abc3acd4007da8c2e60efa9be32f89ed43ebadd8",
          "body": "Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)\n\n---\nupdated-dependencies:\n- dependency-name: lodash\n  dependency-version: 4.17.23\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": "fix(sdk): bump lodash from 4.17.21 to 4.17.23 in /lib (#810)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-22T16:39:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a7cd8b47599c58d9e01b4a281ed3795ba113984",
          "body": "* feat(ci): add dev artifact workflow for main branch builds\n\nPublishes opentdf-ctl tarball to a `dev` GitHub release on every push to main.\nThis allows downstream consumers (like xtest) to download pre-built artifacts\ninstead of building from source.\n\nAlso adds 14-day retention to existing CLI arti\n[…]\n Claude Opus 4.5 <noreply@anthropic.com>\nSigned-off-by: Paul Flynn <pflynn@virtru.com>\n\n---------\n\nSigned-off-by: Paul Flynn <pflynn@virtru.com>\nCo-authored-by: Claude Opus 4.5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(ci): add dev artifact workflow for main branch builds (#807)",
          "author_name": "Paul Flynn",
          "author_login": "pflynn-virtru",
          "committed_at": "2026-01-22T15:25:01Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "71bbee33f60a75cdf5595f18a005035f792ec207",
          "body": "Signed-off-by: strantalis <strantalis@virtru.com>",
          "is_bot": false,
          "headline": "docs: add AGENTS.md guidelines (#795)",
          "author_name": "Sean Trantalis",
          "author_login": "strantalis",
          "committed_at": "2026-01-21T16:18:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6a87956e9982eb6c3198cfdfa19651bb8d446d70",
          "body": "Remove all NanoTDF format support and related APIs from the SDK:\n- Remove NanoTDFClient, NanoTDFDatasetClient, createNanoTDF(), createNanoTDFCollection()\n- Remove @opentdf/sdk/nano export path\n- Rename nanotdf-crypto/ to crypto/ (preserved for TDF3 crypto primitives)\n- Update CLI to only support ZTD\n[…]\nuse createZTDF()\n- Update CI/CD roundtrip tests to remove NanoTDF tests\n- Update documentation with ZTDF migration guide\n\nThis is a breaking change. Users must migrate to ZTDF format via createZTDF().",
          "is_bot": false,
          "headline": "feat!: remove NanoTDF support (#791)",
          "author_name": "Sean Trantalis",
          "author_login": "strantalis",
          "committed_at": "2026-01-20T21:09:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0677d7ae4609e18432150b0f3e9ebab8b78884fb",
          "body": "* chore(main): release sdk 0.8.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>\nCo-authored-by: Paul Flynn <43211074+pflynn-virtru@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(sdk): release sdk 0.8.0 (#792)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-01-14T16:11:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "18a75d7ef6f00b2e74505df1eb21e565e11e4c9d",
          "body": "* Revert \"chore(ci): SRE-5791 Update action and debug npmrc file (#799)\"\n\nThis reverts commit 11e8f7897d8cd625ab61da068aa81ee5ab0309b3.\n\n* Revert \"chore(ci): SRE-5791 Unset token when using provenence (#798)\"\n\nThis reverts commit 5aed12032a459c02008d996c237d588209f44268.\n\n* Revert \"feat(ci): add npm\n[…]\n#797)\"\n\nThis reverts commit 4d342ce714759a62cd6a51f341adf1bbae72b5c4.\n\n* Revert \"chore(ci): SRE-5791 Update workflows to use OIDC (#796)\"\n\nThis reverts commit 873e95a6b30e45efa8af69f963b0fee4ceb5977d.",
          "is_bot": false,
          "headline": "chore(ci): SRE-5791 Revert OIDC CI changes (#801)",
          "author_name": "Devin Collins",
          "author_login": "ImDevinC",
          "committed_at": "2026-01-14T14:29:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "11e8f7897d8cd625ab61da068aa81ee5ab0309b3",
          "body": null,
          "is_bot": false,
          "headline": "chore(ci): SRE-5791 Update action and debug npmrc file (#799)",
          "author_name": "Devin Collins",
          "author_login": "ImDevinC",
          "committed_at": "2026-01-14T13:26:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5aed12032a459c02008d996c237d588209f44268",
          "body": null,
          "is_bot": false,
          "headline": "chore(ci): SRE-5791 Unset token when using provenence (#798)",
          "author_name": "Devin Collins",
          "author_login": "ImDevinC",
          "committed_at": "2026-01-14T00:55:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d342ce714759a62cd6a51f341adf1bbae72b5c4",
          "body": "- Add NPM_PROVENANCE environment variable to reusable_deliver workflow\n- Conditionally include --provenance flag in npm publish commands\n- Enables supply chain security through package attestation",
          "is_bot": false,
          "headline": "feat(ci): add npm provenance support for package publishing (#797)",
          "author_name": "Devin Collins",
          "author_login": "ImDevinC",
          "committed_at": "2026-01-13T20:05:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "873e95a6b30e45efa8af69f963b0fee4ceb5977d",
          "body": null,
          "is_bot": false,
          "headline": "chore(ci): SRE-5791 Update workflows to use OIDC (#796)",
          "author_name": "Devin Collins",
          "author_login": "ImDevinC",
          "committed_at": "2026-01-13T18:39:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7d56b3407ddbfa5d1e2a19dd8609beb8d757b0e",
          "body": null,
          "is_bot": false,
          "headline": "feat: DSPX-2234-key-management-and-obligation-client-stub (#793)",
          "author_name": "Eugene Yakhnenko",
          "author_login": "eugenioenko",
          "committed_at": "2026-01-12T19:57:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e00a90999afda524529d2f0d01d039f2e8029ef0",
          "body": "Bumps [glob](https://github.com/isaacs/node-glob) from 10.4.5 to 10.5.0.\n- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)\n- [Commits](https://github.com/isaacs/node-glob/compare/v10.4.5...v10.5.0)\n\n---\nupdated-dependencies:\n- dependency-name: glob\n  dependency-version: 10.5.0\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": "fix(cli): bump glob from 10.4.5 to 10.5.0 in /cli (#787)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-09T21:29:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d4893a71b70644d0641efbee4c8fde4a9ea2e95",
          "body": "Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.\n- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)\n\n---\nupdated-dependencies:\n- dependency-name: js-yaml\n  dependency-version: 3.14.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": "chore(sdk): bump js-yaml from 3.14.1 to 3.14.2 in /lib (#786)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-09T20:37:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e342f961eb7056db04aa7d976322a2fc55395e2",
          "body": "Bumps [qs](https://github.com/ljharb/qs) and [body-parser](https://github.com/expressjs/body-parser). These dependencies needed to be updated together.\n\nUpdates `qs` from 6.13.0 to 6.14.1\n- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/qs/comp\n[…]\ner\n  dependency-version: 1.20.4\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": "fix(sdk): bump qs and body-parser in /lib (#789)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-09T19:55:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5a0f03cad48ab73fa124aadf851775bf3ea09b0b",
          "body": "* chore(main): release sdk 0.7.0\n\n* Update dependencies\n\n---------\n\nCo-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release sdk 0.7.0 (#788)",
          "author_name": "opentdf-automation[bot]",
          "author_login": "opentdf-automation[bot]",
          "committed_at": "2026-01-09T19:09:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 29,
      "commits_last_year": 126,
      "latest_release_at": "2026-07-17T19:12:48Z",
      "latest_release_tag": "dev",
      "releases_from_tags": false,
      "days_since_last_push": 1,
      "active_weeks_last_year": 33,
      "days_since_latest_release": 5,
      "mean_days_between_releases": 13.4
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 62,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@opentdf/ctl",
          "exists": true,
          "license": "BSD-3-Clause-Clear",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@opentdf/ctl",
          "is_deprecated": false,
          "latest_version": "0.20.0",
          "repository_url": "https://github.com/opentdf/web-sdk",
          "versions_count": 138,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 4,
          "monthly_downloads": 5218,
          "first_published_at": "2024-11-14T22:12:55.836000Z",
          "latest_published_at": "2026-07-10T19:16:09.159000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 12
        },
        {
          "name": "@opentdf/sdk",
          "exists": true,
          "license": "BSD-3-Clause-Clear",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@opentdf/sdk",
          "is_deprecated": false,
          "latest_version": "0.20.0",
          "repository_url": "https://github.com/opentdf/web-sdk",
          "versions_count": 166,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 4,
          "monthly_downloads": 152025,
          "first_published_at": "2024-11-14T22:12:44.113000Z",
          "latest_published_at": "2026-07-10T19:15:56.063000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 12
        },
        {
          "name": "web-app",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": false,
          "registry_url": "https://www.npmjs.com/package/web-app",
          "is_deprecated": false,
          "latest_version": "0.1.0",
          "repository_url": "https://github.com/alanbakhri/node",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 439,
          "first_published_at": "2017-02-02T08:52:09.554000Z",
          "latest_published_at": "2017-02-02T08:52:09.554000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 3457
        }
      ]
    },
    "popularity": {
      "forks": 5,
      "stars": 10,
      "watchers": 15,
      "fork_history": {
        "days": [
          {
            "date": "2024-06-14",
            "count": 1
          },
          {
            "date": "2025-04-29",
            "count": 1
          },
          {
            "date": "2025-07-23",
            "count": 1
          },
          {
            "date": "2026-04-01",
            "count": 1
          },
          {
            "date": "2026-07-11",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 5,
        "total_forks": 5
      },
      "star_history": null,
      "open_issues_and_prs": 58
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "cli/tsconfig.json",
        "lib/tsconfig.json",
        "web-app/tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 235768,
      "source_files_sampled": 185,
      "oversized_source_files": 2,
      "agent_instruction_files": [
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 2274
    },
    "dependencies": {
      "manifests": [
        "cli/package.json",
        "lib/package.json",
        "web-app/package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 20,
        "malicious_count": 0,
        "assessed_package": "npm:@opentdf/ctl@0.20.0",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@opentdf/sdk",
          "manifest": "cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "file:../lib/opentdf-sdk-0.20.0.tgz"
        },
        {
          "name": "yargs",
          "manifest": "cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^18.0.0"
        },
        {
          "name": "@connectrpc/connect",
          "manifest": "lib/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.2"
        },
        {
          "name": "@connectrpc/connect-web",
          "manifest": "lib/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.2"
        },
        {
          "name": "buffer-crc32",
          "manifest": "lib/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.0"
        },
        {
          "name": "jose",
          "manifest": "lib/package.json",
          "ecosystem": "npm",
          "version_constraint": "6.0.8"
        },
        {
          "name": "json-canonicalize",
          "manifest": "lib/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.6"
        },
        {
          "name": "uuid",
          "manifest": "lib/package.json",
          "ecosystem": "npm",
          "version_constraint": "~14.0.0"
        },
        {
          "name": "@opentdf/sdk",
          "manifest": "web-app/package.json",
          "ecosystem": "npm",
          "version_constraint": "file:../lib/opentdf-sdk-0.20.0.tgz"
        },
        {
          "name": "clsx",
          "manifest": "web-app/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.1.1"
        },
        {
          "name": "dpop",
          "manifest": "web-app/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.4.1"
        },
        {
          "name": "native-file-system-adapter",
          "manifest": "web-app/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.1"
        },
        {
          "name": "react",
          "manifest": "web-app/package.json",
          "ecosystem": "npm",
          "version_constraint": "^19.0.0"
        },
        {
          "name": "react-dom",
          "manifest": "web-app/package.json",
          "ecosystem": "npm",
          "version_constraint": "^19.2.4"
        },
        {
          "name": "streamsaver",
          "manifest": "web-app/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.6"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@connectrpc/connect",
            "direct": true,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@connectrpc/connect",
            "direct": true,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@connectrpc/connect-web",
            "direct": true,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@connectrpc/connect-web",
            "direct": true,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@opentdf/sdk",
            "direct": true,
            "version": "0.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-crc32",
            "direct": true,
            "version": "0.2.13",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-crc32",
            "direct": true,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "clsx",
            "direct": true,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "dpop",
            "direct": true,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "jose",
            "direct": true,
            "version": "6.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "json-canonicalize",
            "direct": true,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "json-canonicalize",
            "direct": true,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "native-file-system-adapter",
            "direct": true,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": true,
            "version": "19.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": true,
            "version": "19.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "streamsaver",
            "direct": true,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": true,
            "version": "14.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": true,
            "version": "15.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": true,
            "version": "16.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": true,
            "version": "17.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": true,
            "version": "18.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@aashutoshrathi/word-wrap",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/css-color",
            "direct": false,
            "version": "2.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.28.6",
            "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/helper-validator-option",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-react-jsx-self",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-react-jsx-source",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@bcoe/v8-coverage",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/buf",
            "direct": false,
            "version": "1.66.1",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/buf-darwin-arm64",
            "direct": false,
            "version": "1.66.1",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/buf-darwin-x64",
            "direct": false,
            "version": "1.66.1",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/buf-linux-aarch64",
            "direct": false,
            "version": "1.66.1",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/buf-linux-armv7",
            "direct": false,
            "version": "1.66.1",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/buf-linux-x64",
            "direct": false,
            "version": "1.66.1",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/buf-win32-arm64",
            "direct": false,
            "version": "1.66.1",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/buf-win32-x64",
            "direct": false,
            "version": "1.66.1",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/protobuf",
            "direct": false,
            "version": "2.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/protobuf",
            "direct": false,
            "version": "2.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/protobuf",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/protoc-gen-es",
            "direct": false,
            "version": "2.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/protoplugin",
            "direct": false,
            "version": "2.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "@colors/colors",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@cspotcode/source-map-support",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/color-helpers",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-calc",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-color-parser",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-parser-algorithms",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-tokenizer",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@discoveryjs/json-ext",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-array",
            "direct": false,
            "version": "0.21.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-array",
            "direct": false,
            "version": "0.23.3",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "3.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "8.57.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "9.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "9.39.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "9.39.4",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "2.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esm-bundle/chai",
            "direct": false,
            "version": "4.3.4-fix.0",
            "ecosystem": "npm"
          },
          {
            "name": "@gerrit0/mini-shiki",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/core",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/node",
            "direct": false,
            "version": "0.16.6",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/node",
            "direct": false,
            "version": "0.16.7",
            "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": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@istanbuljs/load-nyc-config",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@istanbuljs/schema",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/diff-sequences",
            "direct": false,
            "version": "30.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/expect-utils",
            "direct": false,
            "version": "30.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/get-type",
            "direct": false,
            "version": "30.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/pattern",
            "direct": false,
            "version": "30.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/schemas",
            "direct": false,
            "version": "30.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jest/types",
            "direct": false,
            "version": "30.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/remapping",
            "direct": false,
            "version": "2.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/source-map",
            "direct": false,
            "version": "0.3.11",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@mdn/browser-compat-data",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.scandir",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.walk",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/fs",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/fs",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.137.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgjs/parseargs",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgr/core",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgr/core",
            "direct": false,
            "version": "0.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "@playwright/test",
            "direct": false,
            "version": "1.56.1",
            "ecosystem": "npm"
          },
          {
            "name": "@polka/url",
            "direct": false,
            "version": "1.0.0-next.29",
            "ecosystem": "npm"
          },
          {
            "name": "@puppeteer/browsers",
            "direct": false,
            "version": "2.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.0-rc.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/plugin-inject",
            "direct": false,
            "version": "5.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/plugin-node-resolve",
            "direct": false,
            "version": "15.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/pluginutils",
            "direct": false,
            "version": "5.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/pluginutils",
            "direct": false,
            "version": "5.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/engine-oniguruma",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/langs",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/themes",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/types",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@shikijs/vscode-textmate",
            "direct": false,
            "version": "10.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@sinclair/typebox",
            "direct": false,
            "version": "0.34.48",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/commons",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/fake-timers",
            "direct": false,
            "version": "15.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/fake-timers",
            "direct": false,
            "version": "15.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/samsam",
            "direct": false,
            "version": "8.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/samsam",
            "direct": false,
            "version": "9.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@socket.io/component-emitter",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tootallnate/quickjs-emscripten",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node10",
            "direct": false,
            "version": "1.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node12",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node14",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node16",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/accepts",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__code-frame",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__core",
            "direct": false,
            "version": "7.20.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__generator",
            "direct": false,
            "version": "7.6.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__template",
            "direct": false,
            "version": "7.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/babel__traverse",
            "direct": false,
            "version": "7.20.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/body-parser",
            "direct": false,
            "version": "1.19.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/buffer-crc32",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "4.3.20",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/co-body",
            "direct": false,
            "version": "6.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/command-line-args",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/connect",
            "direct": false,
            "version": "3.4.35",
            "ecosystem": "npm"
          },
          {
            "name": "@types/content-disposition",
            "direct": false,
            "version": "0.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/convert-source-map",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/cookies",
            "direct": false,
            "version": "0.7.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/cors",
            "direct": false,
            "version": "2.8.17",
            "ecosystem": "npm"
          },
          {
            "name": "@types/debounce",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/eslint",
            "direct": false,
            "version": "9.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/eslint-scope",
            "direct": false,
            "version": "3.7.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/esrecurse",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/express",
            "direct": false,
            "version": "4.17.17",
            "ecosystem": "npm"
          },
          {
            "name": "@types/express-serve-static-core",
            "direct": false,
            "version": "4.17.34",
            "ecosystem": "npm"
          },
          {
            "name": "@types/hast",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/http-assert",
            "direct": false,
            "version": "1.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/http-errors",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/istanbul-lib-coverage",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/istanbul-lib-report",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/istanbul-reports",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jest",
            "direct": false,
            "version": "30.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsdom",
            "direct": false,
            "version": "21.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsdom",
            "direct": false,
            "version": "21.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsonwebtoken",
            "direct": false,
            "version": "9.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/keygrip",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/koa",
            "direct": false,
            "version": "2.13.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/koa-compose",
            "direct": false,
            "version": "3.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mime",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mocha",
            "direct": false,
            "version": "10.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ms",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "20.8.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "24.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/parse5",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/qs",
            "direct": false,
            "version": "6.9.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/range-parser",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react",
            "direct": false,
            "version": "19.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react-dom",
            "direct": false,
            "version": "19.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/readable-stream",
            "direct": false,
            "version": "4.0.23",
            "ecosystem": "npm"
          },
          {
            "name": "@types/resolve",
            "direct": false,
            "version": "1.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/send",
            "direct": false,
            "version": "0.17.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/serve-static",
            "direct": false,
            "version": "1.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/sinon",
            "direct": false,
            "version": "17.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/sinon",
            "direct": false,
            "version": "21.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/sinonjs__fake-timers",
            "direct": false,
            "version": "15.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/sinonjs__fake-timers",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/stack-utils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/streamsaver",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/tough-cookie",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/uuid",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/wicg-file-system-access",
            "direct": false,
            "version": "2023.10.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ws",
            "direct": false,
            "version": "7.4.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ws",
            "direct": false,
            "version": "8.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yargs",
            "direct": false,
            "version": "17.0.35",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yargs-parser",
            "direct": false,
            "version": "21.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yauzl",
            "direct": false,
            "version": "2.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "8.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "8.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "8.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "8.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "8.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "8.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "8.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "8.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript/vfs",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/structured-clone",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-react",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/ui",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@web/browser-logs",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@web/config-loader",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@web/dev-server",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@web/dev-server-core",
            "direct": false,
            "version": "0.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "@web/dev-server-esbuild",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@web/dev-server-rollup",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "@web/parse5-utils",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@web/test-runner",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "@web/test-runner-chrome",
            "direct": false,
            "version": "0.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "@web/test-runner-commands",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@web/test-runner-core",
            "direct": false,
            "version": "0.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "@web/test-runner-coverage-v8",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@web/test-runner-mocha",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/ast",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/floating-point-hex-parser",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-api-error",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-buffer",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-numbers",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-wasm-bytecode",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-wasm-section",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/ieee754",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/leb128",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/utf8",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-edit",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-gen",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-opt",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-parser",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wast-printer",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webpack-cli/configtest",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webpack-cli/info",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webpack-cli/serve",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@xtuc/ieee754",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@xtuc/long",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "abbrev",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "accepts",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-import-phases",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "8.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "aggregate-error",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.12.6",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-formats",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-keywords",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "6.1.0",
            "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": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "anymatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "append-transform",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "archy",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "arg",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "array-back",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "array-back",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "array-find-index",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "array-union",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ast-types",
            "direct": false,
            "version": "0.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "astral-regex",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "async",
            "direct": false,
            "version": "2.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "asynckit",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "audit-ci",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "b4a",
            "direct": false,
            "version": "1.7.3",
            "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.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "bare-fs",
            "direct": false,
            "version": "4.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "bare-os",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "bare-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bare-stream",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "bare-url",
            "direct": false,
            "version": "2.3.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": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.38",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.9.19",
            "ecosystem": "npm"
          },
          {
            "name": "basic-ftp",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "1.20.5",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.14",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.16",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "browser-stdout",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.2",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "c8",
            "direct": false,
            "version": "10.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "cache-content-type",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "caching-transform",
            "direct": false,
            "version": "4.0.0",
            "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": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001770",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001799",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "5.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk-template",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "check-error",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "check-error",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "3.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "chrome-launcher",
            "direct": false,
            "version": "0.15.2",
            "ecosystem": "npm"
          },
          {
            "name": "chrome-trace-event",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "chromium-bidi",
            "direct": false,
            "version": "13.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ci-info",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "clean-stack",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-cursor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "clone",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "clone-deep",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "co",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "co-body",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "colorette",
            "direct": false,
            "version": "2.0.20",
            "ecosystem": "npm"
          },
          {
            "name": "colors",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "combined-stream",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "command-line-args",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "command-line-usage",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "2.20.3",
            "ecosystem": "npm"
          },
          {
            "name": "commondir",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "connect",
            "direct": false,
            "version": "3.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "content-disposition",
            "direct": false,
            "version": "0.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "cookies",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "cors",
            "direct": false,
            "version": "2.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "create-require",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "cssstyle",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "custom-event",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "data-uri-to-buffer",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "data-urls",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "date-format",
            "direct": false,
            "version": "4.0.14",
            "ecosystem": "npm"
          },
          {
            "name": "debounce",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "2.6.9",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "decimal.js",
            "direct": false,
            "version": "10.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "deep-eql",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "deep-equal",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "deepmerge",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "default-gateway",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "default-require-extensions",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "define-lazy-prop",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "degenerator",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "delayed-stream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "delegates",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "depd",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "depd",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dependency-graph",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "destroy",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "devtools-protocol",
            "direct": false,
            "version": "0.0.1551306",
            "ecosystem": "npm"
          },
          {
            "name": "di",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "8.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "dir-glob",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dom-serialize",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "eastasianwidth",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ee-first",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.286",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.375",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "10.6.0",
            "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": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "encodeurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "end-of-stream",
            "direct": false,
            "version": "1.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "engine.io",
            "direct": false,
            "version": "6.6.9",
            "ecosystem": "npm"
          },
          {
            "name": "engine.io-parser",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.19.0",
            "ecosystem": "npm"
          },
          {
            "name": "ent",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "envinfo",
            "direct": false,
            "version": "7.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "errorstacks",
            "direct": false,
            "version": "2.4.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-module-lexer",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "es6-error",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.25.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": "escodegen",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "10.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "8.57.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "9.39.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-prettier",
            "direct": false,
            "version": "10.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-chai-friendly",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-chai-friendly",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-prettier",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-prettier",
            "direct": false,
            "version": "5.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "7.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "9.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "10.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "11.2.0",
            "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.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "etag",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "event-stream",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "eventemitter3",
            "direct": false,
            "version": "4.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "events",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "events-universal",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "expect",
            "direct": false,
            "version": "30.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "extend",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "extract-zip",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-diff",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-fifo",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-glob",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "fastest-levenshtein",
            "direct": false,
            "version": "1.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.13.0",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "fd-slicer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "fetch-blob",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fflate",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "finalhandler",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "find-cache-dir",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "find-replace",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "follow-redirects",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "2.0.0",
            "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": "fresh",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "from",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "fromentries",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-east-asian-width",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-package-type",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-uri",
            "direct": false,
            "version": "6.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "10.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "11.1.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": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-to-regexp",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "13.24.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "16.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "17.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "globby",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "graphemer",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hasha",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "he",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "6.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "html-encoding-sniffer",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "html-escaper",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "http-assert",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "1.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy",
            "direct": false,
            "version": "1.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-agent",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.4.24",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "7.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "import-local",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "inflation",
            "direct": false,
            "version": "2.1.0",
            "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": "internal-ip",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "interpret",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ip-address",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ip-regex",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ipaddr.js",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-binary-path",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.16.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-docker",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-generator-function",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-ip",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-module",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-path-inside",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-object",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-potential-custom-element-name",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-typedarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-windows",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-wsl",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "isbinaryfile",
            "direct": false,
            "version": "4.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "isbinaryfile",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isobject",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-coverage",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-hook",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-instrument",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-processinfo",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-report",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-source-maps",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-reports",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "jest-diff",
            "direct": false,
            "version": "30.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-matcher-utils",
            "direct": false,
            "version": "30.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-message-util",
            "direct": false,
            "version": "30.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-mock",
            "direct": false,
            "version": "30.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-regex-util",
            "direct": false,
            "version": "30.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jest-util",
            "direct": false,
            "version": "30.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "jest-worker",
            "direct": false,
            "version": "27.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "jju",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "3.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsdom",
            "direct": false,
            "version": "26.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsonparse",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonstream-next",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "karma",
            "direct": false,
            "version": "6.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "karma-chrome-launcher",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "karma-mocha",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "keygrip",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "kind-of",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "koa",
            "direct": false,
            "version": "2.16.4",
            "ecosystem": "npm"
          },
          {
            "name": "koa-compose",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "koa-convert",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "koa-etag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "koa-send",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "koa-static",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "license-checker-rseidelsohn",
            "direct": false,
            "version": "4.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "lighthouse-logger",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "loader-runner",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.camelcase",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.clonedeep",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.flattendeep",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "log-symbols",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "log-update",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "log4js",
            "direct": false,
            "version": "6.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "loupe",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "loupe",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "10.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "7.18.3",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "8.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "lunr",
            "direct": false,
            "version": "2.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "make-error",
            "direct": false,
            "version": "1.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "map-stream",
            "direct": false,
            "version": "0.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it",
            "direct": false,
            "version": "14.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "marky",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "media-typer",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": false,
            "version": "2.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.35",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.4",
            "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": "9.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mitt",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "mocha",
            "direct": false,
            "version": "11.7.5",
            "ecosystem": "npm"
          },
          {
            "name": "mrmime",
            "direct": false,
            "version": "2.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": "nanocolors",
            "direct": false,
            "version": "0.2.13",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.15",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "neo-async",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "netmask",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "node-domexception",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-preload",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.27",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.47",
            "ecosystem": "npm"
          },
          {
            "name": "nopt",
            "direct": false,
            "version": "7.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-normalize-package-bin",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "nwsapi",
            "direct": false,
            "version": "2.2.16",
            "ecosystem": "npm"
          },
          {
            "name": "nyc",
            "direct": false,
            "version": "18.0.0",
            "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": "obug",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "on-finished",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "on-finished",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "only",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "open",
            "direct": false,
            "version": "8.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "p-event",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-finally",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-map",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-timeout",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-try",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pac-proxy-agent",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pac-resolver",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "package-hash",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "7.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "parseurl",
            "direct": false,
            "version": "1.3.3",
            "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-scurry",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pathval",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pathval",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pause-stream",
            "direct": false,
            "version": "0.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "pend",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-dir",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "playwright",
            "direct": false,
            "version": "1.56.1",
            "ecosystem": "npm"
          },
          {
            "name": "playwright-core",
            "direct": false,
            "version": "1.56.1",
            "ecosystem": "npm"
          },
          {
            "name": "portfinder",
            "direct": false,
            "version": "1.0.32",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier-linter-helpers",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "prettier-linter-helpers",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-format",
            "direct": false,
            "version": "30.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "process",
            "direct": false,
            "version": "0.11.10",
            "ecosystem": "npm"
          },
          {
            "name": "process-on-spawn",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "progress",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-agent",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-from-env",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "pump",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "punycode.js",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "puppeteer-core",
            "direct": false,
            "version": "24.36.0",
            "ecosystem": "npm"
          },
          {
            "name": "qjobs",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.15.2",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "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": "react-is",
            "direct": false,
            "version": "18.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-refresh",
            "direct": false,
            "version": "0.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-installed-packages",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "read-package-json",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "readline-transform",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "rechoir",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "release-zalgo",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "require-main-filename",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "requires-port",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.10",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-cwd",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-path",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "restore-cursor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "6.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "npm"
          },
          {
            "name": "rrweb-cssom",
            "direct": false,
            "version": "0.8.0",
            "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": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "saxes",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "scheduler",
            "direct": false,
            "version": "0.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "schema-utils",
            "direct": false,
            "version": "4.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "send",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "7.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "7.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "set-blocking",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "setprototypeof",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "setprototypeof",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "shallow-clone",
            "direct": false,
            "version": "3.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": "side-channel",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-list",
            "direct": false,
            "version": "1.0.0",
            "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": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "sinon",
            "direct": false,
            "version": "21.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "sinon",
            "direct": false,
            "version": "21.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "sirv",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "slide",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "smart-buffer",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "socket.io",
            "direct": false,
            "version": "4.8.0",
            "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": "socks",
            "direct": false,
            "version": "2.8.7",
            "ecosystem": "npm"
          },
          {
            "name": "socks-proxy-agent",
            "direct": false,
            "version": "8.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": false,
            "version": "0.5.21",
            "ecosystem": "npm"
          },
          {
            "name": "spawn-wrap",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-compare",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-correct",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-correct",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-exceptions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-exceptions",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.21",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.23",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-ranges",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-satisfies",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "split",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "stack-utils",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-combiner",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "streamroller",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "streamx",
            "direct": false,
            "version": "2.23.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-width",
            "direct": false,
            "version": "7.2.0",
            "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.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "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": "symbol-tree",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "synckit",
            "direct": false,
            "version": "0.11.12",
            "ecosystem": "npm"
          },
          {
            "name": "synckit",
            "direct": false,
            "version": "0.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "table-layout",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "tapable",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tar-fs",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "tar-stream",
            "direct": false,
            "version": "3.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "terser",
            "direct": false,
            "version": "5.46.0",
            "ecosystem": "npm"
          },
          {
            "name": "terser-webpack-plugin",
            "direct": false,
            "version": "5.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "test-exclude",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "test-exclude",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "text-decoder",
            "direct": false,
            "version": "1.2.3",
            "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": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.15",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tldts",
            "direct": false,
            "version": "6.1.60",
            "ecosystem": "npm"
          },
          {
            "name": "tldts-core",
            "direct": false,
            "version": "6.1.60",
            "ecosystem": "npm"
          },
          {
            "name": "tmp",
            "direct": false,
            "version": "0.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "toidentifier",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "totalist",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tough-cookie",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "treeify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-node",
            "direct": false,
            "version": "10.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "tsconfig-paths",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsscmp",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-detect",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "type-detect",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.21.3",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-is",
            "direct": false,
            "version": "1.6.18",
            "ecosystem": "npm"
          },
          {
            "name": "typed-query-selector",
            "direct": false,
            "version": "2.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "typedarray-to-buffer",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "typedoc",
            "direct": false,
            "version": "0.28.17",
            "ecosystem": "npm"
          },
          {
            "name": "typedoc-plugin-markdown",
            "direct": false,
            "version": "4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript-eslint",
            "direct": false,
            "version": "8.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript-eslint",
            "direct": false,
            "version": "8.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript-eslint",
            "direct": false,
            "version": "8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "typical",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "typical",
            "direct": false,
            "version": "7.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ua-parser-js",
            "direct": false,
            "version": "0.7.35",
            "ecosystem": "npm"
          },
          {
            "name": "ua-parser-js",
            "direct": false,
            "version": "1.0.40",
            "ecosystem": "npm"
          },
          {
            "name": "uc.micro",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "5.26.5",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "unpipe",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "utils-merge",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "v8-compile-cache-lib",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "v8-to-istanbul",
            "direct": false,
            "version": "9.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "validate-npm-package-license",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "vary",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "void-elements",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "w3c-xmlserializer",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "watchpack",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "web-streams-polyfill",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "webdriver-bidi-protocol",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "webpack",
            "direct": false,
            "version": "5.105.2",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-cli",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-merge",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-sources",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-encoding",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "14.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-module",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "wildcard",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "wordwrapjs",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "workerpool",
            "direct": false,
            "version": "9.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "6.2.0",
            "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": "wrap-ansi",
            "direct": false,
            "version": "9.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "write-file-atomic",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "7.5.11",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "8.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "xml-name-validator",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "xmlchars",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "18.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "20.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "22.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-unparser",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yauzl",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "ylru",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "yn",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": false,
            "version": "3.25.76",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 1137,
        "direct_count": 21,
        "indirect_count": 1116
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 42,
        "merged_prs": 493,
        "open_issues": 16,
        "closed_ratio": 0.568,
        "closed_issues": 21,
        "closed_unmerged_prs": 399
      },
      "bus_factor": 1,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "dmihalcik-virtru",
          "commits": 217,
          "avatar_url": "https://avatars.githubusercontent.com/u/38867245?v=4"
        },
        {
          "type": "User",
          "login": "ivanovSPvirtru",
          "commits": 28,
          "avatar_url": "https://avatars.githubusercontent.com/u/41641307?v=4"
        },
        {
          "type": "User",
          "login": "pflynn-virtru",
          "commits": 25,
          "avatar_url": "https://avatars.githubusercontent.com/u/43211074?v=4"
        },
        {
          "type": "User",
          "login": "elizabethhealy",
          "commits": 20,
          "avatar_url": "https://avatars.githubusercontent.com/u/35498075?v=4"
        },
        {
          "type": "User",
          "login": "eugenioenko",
          "commits": 16,
          "avatar_url": "https://avatars.githubusercontent.com/u/17834212?v=4"
        },
        {
          "type": "User",
          "login": "marythought",
          "commits": 13,
          "avatar_url": "https://avatars.githubusercontent.com/u/10136229?v=4"
        },
        {
          "type": "User",
          "login": "danielRicaud",
          "commits": 12,
          "avatar_url": "https://avatars.githubusercontent.com/u/8967166?v=4"
        },
        {
          "type": "User",
          "login": "el-virt",
          "commits": 8,
          "avatar_url": "https://avatars.githubusercontent.com/u/85858507?v=4"
        },
        {
          "type": "User",
          "login": "jentfoo",
          "commits": 8,
          "avatar_url": "https://avatars.githubusercontent.com/u/2165757?v=4"
        },
        {
          "type": "User",
          "login": "strantalis",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/18211470?v=4"
        }
      ],
      "contributors_sampled": 29,
      "top_contributor_share": 0.561
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "backport.yaml",
        "build-and-test.yaml",
        "codeql.yaml",
        "create-release-branch.yaml",
        "deliver.yaml",
        "dependency-review.yaml",
        "dev-artifact.yaml",
        "docker-compose.yaml",
        "format.yaml",
        "frontend-ingress-values.yaml",
        "keycloak_data.yaml",
        "large-tests.yaml",
        "main-dependency-review.yaml",
        "mock-secrets.yaml",
        "opentdf.yaml",
        "release.yaml",
        "reusable_build-and-test.yaml",
        "reusable_deliver.yaml",
        "update-protos.yaml",
        "values.yaml"
      ],
      "has_docs_dir": false,
      "linter_configs": [
        "eslint.config.mjs"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 1,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 5 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 5,
            "reason": "dependency not pinned by hash detected -- score normalized to 5",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool is run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 2,
            "reason": "8 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "c25e2cd5aedb701277513309db8979b79dbb7f0e",
        "ran_at": "2026-07-23T01:32:41Z",
        "aggregate_score": 5.7,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": true,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-23T00:55:09Z",
      "oldest_open_prs": [
        {
          "number": 281,
          "created_at": "2024-05-13T15:15:28Z",
          "last_comment_at": "2024-05-13T15:17:41Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 343,
          "created_at": "2024-08-30T18:55:54Z",
          "last_comment_at": "2024-08-30T19:18:43Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 378,
          "created_at": "2024-11-10T00:57:49Z",
          "last_comment_at": "2024-11-10T01:37:08Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 389,
          "created_at": "2024-11-15T20:13:01Z",
          "last_comment_at": "2024-11-18T14:58:13Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 392,
          "created_at": "2024-11-20T16:58:35Z",
          "last_comment_at": "2024-11-20T17:00:55Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 394,
          "created_at": "2024-12-03T18:47:27Z",
          "last_comment_at": "2024-12-03T20:12:14Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 396,
          "created_at": "2024-12-04T18:07:16Z",
          "last_comment_at": "2024-12-06T19:34:52Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 490,
          "created_at": "2025-03-21T20:38:22Z",
          "last_comment_at": "2025-03-22T13:20:14Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 527,
          "created_at": "2025-04-07T17:16:57Z",
          "last_comment_at": "2025-04-18T14:09:13Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 566,
          "created_at": "2025-04-29T16:17:01Z",
          "last_comment_at": "2025-04-29T16:32:03Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 694,
          "created_at": "2025-07-22T15:04:02Z",
          "last_comment_at": "2025-08-18T15:25:44Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 744,
          "created_at": "2025-10-02T15:58:32Z",
          "last_comment_at": "2025-10-02T15:59:23Z",
          "last_comment_author": "gemini-code-assist"
        },
        {
          "number": 779,
          "created_at": "2025-10-27T21:31:41Z",
          "last_comment_at": "2025-10-27T22:04:03Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 840,
          "created_at": "2026-02-17T16:21:33Z",
          "last_comment_at": "2026-02-20T16:48:59Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 845,
          "created_at": "2026-02-19T22:47:28Z",
          "last_comment_at": "2026-03-18T17:39:50Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 859,
          "created_at": "2026-03-12T12:03:13Z",
          "last_comment_at": "2026-03-17T16:57:18Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 860,
          "created_at": "2026-03-12T12:03:20Z",
          "last_comment_at": "2026-04-09T22:53:22Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 861,
          "created_at": "2026-03-12T12:03:25Z",
          "last_comment_at": "2026-03-19T15:01:14Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 862,
          "created_at": "2026-03-12T12:03:32Z",
          "last_comment_at": "2026-03-17T16:57:04Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 863,
          "created_at": "2026-03-12T12:03:39Z",
          "last_comment_at": "2026-03-26T14:49:57Z",
          "last_comment_author": "coderabbitai"
        }
      ],
      "last_merged_pr_at": "2026-07-17T19:12:14Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 166,
          "created_at": "2023-03-22T17:26:02Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 239,
          "created_at": "2023-09-24T23:12:59Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 272,
          "created_at": "2024-05-07T19:30:47Z",
          "last_comment_at": "2024-05-13T13:31:50Z",
          "last_comment_author": "strantalis"
        },
        {
          "number": 276,
          "created_at": "2024-05-08T18:28:16Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 293,
          "created_at": "2024-05-23T11:09:45Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 326,
          "created_at": "2024-08-21T22:09:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 341,
          "created_at": "2024-08-30T12:30:28Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 344,
          "created_at": "2024-08-30T19:13:17Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 368,
          "created_at": "2024-10-23T23:00:22Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 382,
          "created_at": "2024-11-13T19:16:42Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 695,
          "created_at": "2025-07-23T14:44:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 734,
          "created_at": "2025-09-23T03:22:58Z",
          "last_comment_at": "2025-09-26T18:12:38Z",
          "last_comment_author": "nibsbin"
        },
        {
          "number": 813,
          "created_at": "2026-01-26T21:00:02Z",
          "last_comment_at": "2026-03-11T18:09:35Z",
          "last_comment_author": "pflynn-virtru"
        },
        {
          "number": 870,
          "created_at": "2026-03-14T22:54:34Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 882,
          "created_at": "2026-03-16T20:28:32Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 926,
          "created_at": "2026-04-23T19:54:55Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/opentdf/web-sdk",
    "host": "github.com",
    "name": "web-sdk",
    "owner": "opentdf"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 70,
      "inputs": {
        "security": 66,
        "vitality": 88,
        "community": 62,
        "governance": 64,
        "engineering": 70
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 88,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 87,
            "inputs": {
              "commits_last_year": 126,
              "human_commit_share": 0.46,
              "days_since_last_push": 1,
              "active_weeks_last_year": 33
            },
            "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": "33/52 weeks with commits",
                "points": 22.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 33
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "126 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 126
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 29,
              "latest_release_tag": "dev",
              "releases_from_tags": false,
              "days_since_latest_release": 5,
              "mean_days_between_releases": 13.4
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "29 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 29
                    }
                  }
                ],
                "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 ~13.4 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 13.4
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 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": "moderate",
        "name": "Community & Adoption",
        "value": 62,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 27,
            "inputs": {
              "forks": 5,
              "stars": 10,
              "watchers": 15,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "10 stars",
                "points": 15.5,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "5 forks",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "15 watchers",
                "points": 6.4,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 15
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "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 (BSD-3-Clause-Clear)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "BSD-3-Clause-Clear"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "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": 87,
            "inputs": {
              "packages": [
                "@opentdf/ctl",
                "@opentdf/sdk"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 157243
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "157,243 downloads/month across npm",
                "points": 69.3,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 157243,
                      "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": "moderate",
        "name": "Sustainability & Governance",
        "value": 64,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 42,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 29,
              "top_contributor_share": 0.561
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 56% of commits",
                "points": 9.9,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 56
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "29 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 29
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 63,
            "inputs": {
              "merged_prs": 493,
              "open_issues": 16,
              "closed_issues": 21,
              "issue_closed_ratio": 0.568,
              "closed_unmerged_prs": 399
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "57% of issues closed",
                "points": 26.6,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 57
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "493/892 decided PRs merged",
                "points": 21.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 493,
                      "decided": 892
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 62,
            "inputs": {
              "followers": 115,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "opentdf",
              "public_repos": 11,
              "account_age_days": 1783
            },
            "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": "115 followers of opentdf",
                "points": 14.8,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 115,
                      "login": "opentdf"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "11 public repos, account ~4 yr old",
                "points": 17.6,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 11
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 4
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@opentdf/ctl",
                "@opentdf/sdk"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 12
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "2 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 2,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 12 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 12
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "166 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 166
                    }
                  }
                ],
                "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": 70,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 84,
            "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": "20 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 20
                    }
                  }
                ],
                "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": "eslint.config.mjs",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.mjs"
                    }
                  }
                ],
                "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": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "topics": [
                "data-encryption",
                "data-tagging",
                "drm",
                "end-to-end-encryption",
                "file-encryption",
                "open-source",
                "opensource",
                "opentdf",
                "tdf",
                "webclient",
                "zero-trust",
                "zero-trust-security"
              ],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "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": 0,
                "status": "missed",
                "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": "12 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 66,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 57,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 5.7
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 5",
                "points": 2.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is run on all commits",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "8 existing vulnerabilities detected",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@opentdf/ctl@0.20.0 runtime dependency closure — what installing the published package pulls in — 20 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@opentdf/ctl@0.20.0",
                  "assessed": 20
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 20,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 20,
              "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": 4
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "excellent",
        "name": "AI Readiness",
        "value": 92,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "agent_instruction_files": [
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 2274
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "46 of 46 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 46,
                      "sampled": 46
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "excellent",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 95,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "cli/tsconfig.json",
                "lib/tsconfig.json",
                "web-app/tsconfig.json"
              ],
              "agent_commit_share": 0.25,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.4
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": "eslint.config.mjs",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.mjs"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "cli/tsconfig.json, lib/tsconfig.json, web-app/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "cli/tsconfig.json, lib/tsconfig.json, web-app/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "25 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 25,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "40 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 40,
                      "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 5",
                "points": 5,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 235768,
              "source_files_sampled": 185,
              "oversized_source_files": 2
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "2/185 source files over 60KB",
                "points": 54.4,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 185,
                      "oversized": 2
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "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",
    "npm package 'web-app' points at a different repository (https://github.com/alanbakhri/node); excluded from ecosystem scoring"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-23T01:33:10.826376Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/o/opentdf/web-sdk.svg",
  "full_name": "opentdf/web-sdk",
  "license_state": "standard",
  "license_spdx": "BSD-3-Clause-Clear"
}

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

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

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