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

Dexter-DAO / dexter-vault-sdk

Canonical off-chain mirror of the dexter-vault Solana Anchor program. Instruction builders, message encoders, account decoders, precompile helpers, signer interfaces.

TypeScriptMIT★ 1 estrella⑂ 0 forksdesde jun 2026Ver en GitHub ↗

Dexter-DAO/dexter-vault-sdk tiene un índice de salud de 44 sobre 100, lo que lo sitúa en la banda En riesgo. Su puntuación más alta es Vitality (69/100) y la más baja, Community & Adoption (33/100). Se actualizó por última vez hace 5 días. Una sola persona concentra la mayor parte del trabajo reciente.

44
global / 100
En riesgo

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

44
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

Dexter AIOrganización
4 seguidores13 repositorios públicosdesde dic 2025

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

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
npm@dexterai/vault0.37.3512255hace 5 díassolanadextervaultpasskeywebauthnswigsecp256r1ed25519otstabx402

Métricas por categoría

Vitalidad

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

69Moderado · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 5 días
4.8/36Cadencia de commits — 7/52 semanas con commits
18/18Volumen de commits — 226 commits en el último año
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Datos de entrada utilizados
commits_last_year226
human_commit_share1
days_since_last_push5
active_weeks_last_year7
Cómo se puntúa
27/27Publica versiones — 1 versiones publicadas
36/36Recencia de las versiones — última versión hace 35 días
12.6/27Cadencia de publicación — cadencia desconocida (una sola versión)
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count1
latest_release_tagv0.10.0
releases_from_tagsno
days_since_latest_release35
mean_days_between_releases
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

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

33En riesgo · 18% del índice global
Cómo se puntúa
0/60Estrellas — 1 estrellas
0/25Forks — 0 forks
0/15Observadores — 0 observadores
Datos de entrada utilizados
forks0
stars1
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (MIT)
0/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno
Cómo se puntúa
49.5/80Descargas mensuales — 5122 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packages@dexterai/vault
dependents
ecosystemsnpm
total_downloads
monthly_downloads5122
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?

35En riesgo · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
0/22.5Distribución de commits — el principal contribuyente firma el 100% de los commits
1.4/13.5Amplitud de contribuyentes — 1 contribuyentes
3/10OpenSSF Scorecard: Contributors — project has 1 contributing companies or organizations -- score normalized to 3
Datos de entrada utilizados
bus_factor1
contributors_sampled1
top_contributor_share1
Cómo se puntúa
0/46.8Resolución de issues — sin issues o sin datos
0/38.3Aceptación de PR — sin PR decididos o sin datos
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs0
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Excluidos de la puntuación (sin datos o no aplicable): Resolución de issues, Aceptación de PR. Los pesos restantes se han renormalizado.
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
5/25Alcance del propietario — 4 seguidores de Dexter-DAO
9.5/25Trayectoria — 13 repos públicos, cuenta de ~0 años
Datos de entrada utilizados
followers4
owner_typeOrganization
is_verified
owner_loginDexter-DAO
public_repos13
account_age_days208
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en npm
35/35Recencia de publicación — última publicación hace 5 días
20/20Historial de versiones — 55 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packages@dexterai/vault
ecosystemsnpm
any_deprecatedno
min_days_since_publish5

Calidad de Ingeniería

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

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

Documentación

65Moderado
Cómo se puntúa
30/30README
0/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://dexter.cash
10/10Descripción del repositorio
0/10Topics
10/10Wiki
Datos de entrada utilizados
topics
has_wiki
homepagehttps://dexter.cash
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?

34En riesgo · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — sin datos
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
0.8/2.5Contributors — project has 1 contributing companies or organizations -- score normalized to 3
0/10Dangerous-Workflow — sin datos
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
0/5Packaging — sin datos
0/5Pinned-Dependencies — sin datos
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — sin datos
5.2/7.5Vulnerabilities — 3 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated12
scorecard_versionv5.5.0
checks_inconclusive6
scorecard_aggregate2,4
Excluidos de la puntuación (sin datos o no aplicable): ci_tests, dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions. 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
8.4/25Dependencias indirectas libres de avisos conocidos — 2 afectados: bigint-buffer 1.1.5 (high 7.5), uuid 8.3.2 (high 7.5)
29.1/40Sin avisos pendientes — 2 paquete(s) con avisos sin atender más allá de 90 días; el más antiguo publicado hace 475 días
Datos de entrada utilizados
sourceosv
advisories2
affected_packages2
assessed_packages111
unassessed_packages0
affected_by_severityhigh 2
direct_affected_packages0
Se cotejó el cierre de dependencias en tiempo de ejecución de npm:@dexterai/vault@0.37.3 —lo que arrastra la instalación del paquete publicado—: 111 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.

60Moderado · 0% del índice global
Cómo se puntúa
0/45Instrucciones para agentes — sin CLAUDE.md / AGENTS.md / reglas de editor
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 85 de 100 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,85
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
0/18Arranque con un solo comando
22/22Pruebas automatizadas
0/11Configuración de lint / formato
11/11Verificación estática de tipos — tsconfig.json
10/10Entorno reproducible — lockfile
10/10Práctica demostrada con agentes — 73 de los últimos 100 commits con autoría o crédito de agente
0/8Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — sin datos
Datos de entrada utilizados
has_nixno
has_tests
lockfilespackage-lock.json
has_dockerfileno
typed_language
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configstsconfig.json
agent_commit_share0,73
toolchain_manifests
dependency_bot_commit_share0
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Pinned-Dependencies. Los pesos restantes se han renormalizado.
Cómo se puntúa
45/45Código verificable por tipos — TypeScript (tipado estático)
55/55Tamaños de archivo manejables — 0/165 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageTypeScript
largest_source_bytes38.328
source_files_sampled165
oversized_source_files0

Datos clave

1estrellas de GitHub
1contribuidores
226commits en los últimos 12 meses
5días desde el último push
1versiones publicadas
1factor bus
0issues abiertas
npmecosistemas de paquetes

Advertencias de recopilación de datos

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

Más detalle

OpenSSF Scorecard 2.4 / 10
2.4agregado

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 19:08 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
n/dCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
3Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
n/dDangerous-Workflowno workflows found
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
n/dPackagingpackaging workflow not detected
n/dPinned-Dependenciesno dependencies found
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
n/dSigned-Releasesno releases found
n/dToken-PermissionsNo tokens found
7Vulnerabilities3 existing vulnerabilities detected
Dependencias directas 10
RegistroPaqueteRestricción de versiónManifiesto
npm@noble/curves^1.9.7package.json
npm@noble/hashes^1.8.0package.json
npm@solana-program/token^0.5.1package.json
npm@solana/kit^2.3.0package.json
npm@solana/spl-token^0.4.9package.json
npm@solana/web3.js^1.98.0package.json
npm@swig-wallet/kit^1.9.0package.json
npm@swig-wallet/lib^1.9.0package.json
npmbs58^6.0.0package.json
npmtweetnacl^1.0.3package.json
Todas las dependencias 317

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

RegistroPaqueteVersiónRelación
npm@noble/curves1.9.7directa
npm@noble/hashes1.8.0directa
npm@solana-program/token0.5.1directa
npm@solana/kit2.3.0directa
npm@solana/spl-token0.4.14directa
npm@solana/web3.js1.98.4directa
npm@swig-wallet/kit1.9.1directa
npm@swig-wallet/lib1.9.1directa
npmbs584.0.1directa
npmbs586.0.0directa
npmtweetnacl1.0.3directa
npm@asamuzakjp/css-color5.1.11indirecta
npm@asamuzakjp/dom-selector7.1.1indirecta
npm@asamuzakjp/generational-cache1.0.1indirecta
npm@asamuzakjp/nwsapi2.3.9indirecta
npm@babel/runtime7.29.7indirecta
npm@bramus/specificity2.4.2indirecta
npm@csstools/color-helpers6.0.2indirecta
npm@csstools/css-calc3.2.1indirecta
npm@csstools/css-color-parser4.1.7indirecta
npm@csstools/css-parser-algorithms4.0.0indirecta
npm@csstools/css-syntax-patches-for-csstree1.1.5indirecta
npm@csstools/css-tokenizer4.0.0indirecta
npm@emnapi/core1.10.0indirecta
npm@emnapi/runtime1.10.0indirecta
npm@emnapi/wasi-threads1.2.1indirecta
npm@esbuild/aix-ppc640.27.7indirecta
npm@esbuild/android-arm0.27.7indirecta
npm@esbuild/android-arm640.27.7indirecta
npm@esbuild/android-x640.27.7indirecta
npm@esbuild/darwin-arm640.27.7indirecta
npm@esbuild/darwin-x640.27.7indirecta
npm@esbuild/freebsd-arm640.27.7indirecta
npm@esbuild/freebsd-x640.27.7indirecta
npm@esbuild/linux-arm0.27.7indirecta
npm@esbuild/linux-arm640.27.7indirecta
npm@esbuild/linux-ia320.27.7indirecta
npm@esbuild/linux-loong640.27.7indirecta
npm@esbuild/linux-mips64el0.27.7indirecta
npm@esbuild/linux-ppc640.27.7indirecta
npm@esbuild/linux-riscv640.27.7indirecta
npm@esbuild/linux-s390x0.27.7indirecta
npm@esbuild/linux-x640.27.7indirecta
npm@esbuild/netbsd-arm640.27.7indirecta
npm@esbuild/netbsd-x640.27.7indirecta
npm@esbuild/openbsd-arm640.27.7indirecta
npm@esbuild/openbsd-x640.27.7indirecta
npm@esbuild/openharmony-arm640.27.7indirecta
npm@esbuild/sunos-x640.27.7indirecta
npm@esbuild/win32-arm640.27.7indirecta
npm@esbuild/win32-ia320.27.7indirecta
npm@esbuild/win32-x640.27.7indirecta
npm@exodus/bytes1.15.1indirecta
npm@jridgewell/gen-mapping0.3.13indirecta
npm@jridgewell/resolve-uri3.1.2indirecta
npm@jridgewell/sourcemap-codec1.5.5indirecta
npm@jridgewell/trace-mapping0.3.31indirecta
npm@napi-rs/wasm-runtime1.1.4indirecta
npm@oxc-project/types0.133.0indirecta
npm@rolldown/binding-android-arm641.0.3indirecta
npm@rolldown/binding-darwin-arm641.0.3indirecta
npm@rolldown/binding-darwin-x641.0.3indirecta
npm@rolldown/binding-freebsd-x641.0.3indirecta
npm@rolldown/binding-linux-arm-gnueabihf1.0.3indirecta
npm@rolldown/binding-linux-arm64-gnu1.0.3indirecta
npm@rolldown/binding-linux-arm64-musl1.0.3indirecta
npm@rolldown/binding-linux-ppc64-gnu1.0.3indirecta
npm@rolldown/binding-linux-s390x-gnu1.0.3indirecta
npm@rolldown/binding-linux-x64-gnu1.0.3indirecta
npm@rolldown/binding-linux-x64-musl1.0.3indirecta
npm@rolldown/binding-openharmony-arm641.0.3indirecta
npm@rolldown/binding-wasm32-wasi1.0.3indirecta
npm@rolldown/binding-win32-arm64-msvc1.0.3indirecta
npm@rolldown/binding-win32-x64-msvc1.0.3indirecta
npm@rolldown/pluginutils1.0.1indirecta
npm@rollup/rollup-android-arm-eabi4.61.0indirecta
npm@rollup/rollup-android-arm644.61.0indirecta
npm@rollup/rollup-darwin-arm644.61.0indirecta
npm@rollup/rollup-darwin-x644.61.0indirecta
npm@rollup/rollup-freebsd-arm644.61.0indirecta
npm@rollup/rollup-freebsd-x644.61.0indirecta
npm@rollup/rollup-linux-arm-gnueabihf4.61.0indirecta
npm@rollup/rollup-linux-arm-musleabihf4.61.0indirecta
npm@rollup/rollup-linux-arm64-gnu4.61.0indirecta
npm@rollup/rollup-linux-arm64-musl4.61.0indirecta
npm@rollup/rollup-linux-loong64-gnu4.61.0indirecta
npm@rollup/rollup-linux-loong64-musl4.61.0indirecta
npm@rollup/rollup-linux-ppc64-gnu4.61.0indirecta
npm@rollup/rollup-linux-ppc64-musl4.61.0indirecta
npm@rollup/rollup-linux-riscv64-gnu4.61.0indirecta
npm@rollup/rollup-linux-riscv64-musl4.61.0indirecta
npm@rollup/rollup-linux-s390x-gnu4.61.0indirecta
npm@rollup/rollup-linux-x64-gnu4.61.0indirecta
npm@rollup/rollup-linux-x64-musl4.61.0indirecta
npm@rollup/rollup-openbsd-x644.61.0indirecta
npm@rollup/rollup-openharmony-arm644.61.0indirecta
npm@rollup/rollup-win32-arm64-msvc4.61.0indirecta
npm@rollup/rollup-win32-ia32-msvc4.61.0indirecta
npm@rollup/rollup-win32-x64-gnu4.61.0indirecta
npm@rollup/rollup-win32-x64-msvc4.61.0indirecta
npm@solana/accounts2.3.0indirecta
npm@solana/addresses2.3.0indirecta
npm@solana/assertions2.3.0indirecta
npm@solana/buffer-layout4.0.1indirecta
npm@solana/buffer-layout-utils0.2.0indirecta
npm@solana/codecs2.0.0-rc.1indirecta
npm@solana/codecs2.3.0indirecta
npm@solana/codecs-core2.0.0-rc.1indirecta
npm@solana/codecs-core2.3.0indirecta
npm@solana/codecs-data-structures2.0.0-rc.1indirecta
npm@solana/codecs-data-structures2.3.0indirecta
npm@solana/codecs-numbers2.0.0-rc.1indirecta
npm@solana/codecs-numbers2.3.0indirecta
npm@solana/codecs-strings2.0.0-rc.1indirecta
npm@solana/codecs-strings2.3.0indirecta
npm@solana/errors2.0.0-rc.1indirecta
npm@solana/errors2.3.0indirecta
npm@solana/fast-stable-stringify2.3.0indirecta
npm@solana/functional2.3.0indirecta
npm@solana/instructions2.3.0indirecta
npm@solana/keys2.3.0indirecta
npm@solana/nominal-types2.3.0indirecta
npm@solana/options2.0.0-rc.1indirecta
npm@solana/options2.3.0indirecta
npm@solana/programs2.3.0indirecta
npm@solana/promises2.3.0indirecta
npm@solana/rpc2.3.0indirecta
npm@solana/rpc-api2.3.0indirecta
npm@solana/rpc-parsed-types2.3.0indirecta
npm@solana/rpc-spec2.3.0indirecta
npm@solana/rpc-spec-types2.3.0indirecta
npm@solana/rpc-subscriptions2.3.0indirecta
npm@solana/rpc-subscriptions-api2.3.0indirecta
npm@solana/rpc-subscriptions-channel-websocket2.3.0indirecta
npm@solana/rpc-subscriptions-spec2.3.0indirecta
npm@solana/rpc-transformers2.3.0indirecta
npm@solana/rpc-transport-http2.3.0indirecta
npm@solana/rpc-types2.3.0indirecta
npm@solana/signers2.3.0indirecta
npm@solana/spl-token-group0.0.7indirecta
npm@solana/spl-token-metadata0.1.6indirecta
npm@solana/subscribable2.3.0indirecta
npm@solana/sysvars2.3.0indirecta
npm@solana/transaction-confirmation2.3.0indirecta
npm@solana/transaction-messages2.3.0indirecta
npm@solana/transactions2.3.0indirecta
npm@standard-schema/spec1.1.0indirecta
npm@swc/helpers0.5.23indirecta
npm@swig-wallet/coder1.9.1indirecta
npm@tybys/wasm-util0.10.2indirecta
npm@types/chai5.2.3indirecta
npm@types/connect3.4.38indirecta
npm@types/deep-eql4.0.2indirecta
npm@types/estree1.0.9indirecta
npm@types/jsdom28.0.3indirecta
npm@types/node12.20.55indirecta
npm@types/node22.19.19indirecta
npm@types/tough-cookie4.0.5indirecta
npm@types/uuid10.0.0indirecta
npm@types/ws7.4.7indirecta
npm@types/ws8.18.1indirecta
npm@vitest/expect4.1.8indirecta
npm@vitest/mocker4.1.8indirecta
npm@vitest/pretty-format4.1.8indirecta
npm@vitest/runner4.1.8indirecta
npm@vitest/snapshot4.1.8indirecta
npm@vitest/spy4.1.8indirecta
npm@vitest/utils4.1.8indirecta
npmacorn8.16.0indirecta
npmagentkeepalive4.6.0indirecta
npmany-promise1.3.0indirecta
npmassertion-error2.0.1indirecta
npmbase-x3.0.11indirecta
npmbase-x5.0.1indirecta
npmbase64-js1.5.1indirecta
npmbidi-js1.0.3indirecta
npmbigint-buffer1.1.5indirecta
npmbignumber.js9.3.1indirecta
npmbindings1.5.0indirecta
npmbn.js5.2.3indirecta
npmborsh0.7.0indirecta
npmbuffer6.0.3indirecta
npmbufferutil4.1.0indirecta
npmbundle-require5.1.0indirecta
npmcac6.7.14indirecta
npmchai6.2.2indirecta
npmchalk5.6.2indirecta
npmchokidar4.0.3indirecta
npmcommander12.1.0indirecta
npmcommander14.0.3indirecta
npmcommander2.20.3indirecta
npmcommander4.1.1indirecta
npmconfbox0.1.8indirecta
npmconsola3.4.2indirecta
npmconvert-source-map2.0.0indirecta
npmcss-tree3.2.1indirecta
npmdata-urls7.0.0indirecta
npmdebug4.4.3indirecta
npmdecimal.js10.6.0indirecta
npmdelay5.0.0indirecta
npmdetect-libc2.1.2indirecta
npmentities8.0.0indirecta
npmes-module-lexer2.1.0indirecta
npmes6-promise4.2.8indirecta
npmes6-promisify5.0.0indirecta
npmesbuild0.27.7indirecta
npmestree-walker3.0.3indirecta
npmeventemitter35.0.4indirecta
npmexpect-type1.3.0indirecta
npmeyes0.1.8indirecta
npmfast-stable-stringify1.0.0indirecta
npmfastestsmallesttextencoderdecoder1.0.22indirecta
npmfdir6.5.0indirecta
npmfile-uri-to-path1.0.0indirecta
npmfix-dts-default-cjs-exports1.0.1indirecta
npmfsevents2.3.3indirecta
npmhtml-encoding-sniffer6.0.0indirecta
npmhumanize-ms1.2.1indirecta
npmieee7541.2.1indirecta
npmis-potential-custom-element-name1.0.1indirecta
npmisomorphic-ws4.0.1indirecta
npmjayson4.3.0indirecta
npmjoycon3.1.1indirecta
npmjsdom29.1.1indirecta
npmjson-stringify-safe5.0.1indirecta
npmlightningcss1.32.0indirecta
npmlightningcss-android-arm641.32.0indirecta
npmlightningcss-darwin-arm641.32.0indirecta
npmlightningcss-darwin-x641.32.0indirecta
npmlightningcss-freebsd-x641.32.0indirecta
npmlightningcss-linux-arm-gnueabihf1.32.0indirecta
npmlightningcss-linux-arm64-gnu1.32.0indirecta
npmlightningcss-linux-arm64-musl1.32.0indirecta
npmlightningcss-linux-x64-gnu1.32.0indirecta
npmlightningcss-linux-x64-musl1.32.0indirecta
npmlightningcss-win32-arm64-msvc1.32.0indirecta
npmlightningcss-win32-x64-msvc1.32.0indirecta
npmlilconfig3.1.3indirecta
npmlines-and-columns1.2.4indirecta
npmload-tsconfig0.2.5indirecta
npmlru-cache11.5.1indirecta
npmmagic-string0.30.21indirecta
npmmdn-data2.27.1indirecta
npmmlly1.8.2indirecta
npmms2.1.3indirecta
npmmz2.7.0indirecta
npmnanoid3.3.12indirecta
npmnode-fetch2.7.0indirecta
npmnode-gyp-build4.8.4indirecta
npmobject-assign4.1.1indirecta
npmobug2.1.2indirecta
npmparse58.0.1indirecta
npmpathe2.0.3indirecta
npmpicocolors1.1.1indirecta
npmpicomatch4.0.4indirecta
npmpirates4.0.7indirecta
npmpkg-types1.3.1indirecta
npmpostcss8.5.15indirecta
npmpostcss-load-config6.0.1indirecta
npmpunycode2.3.1indirecta
npmreaddirp4.1.2indirecta
npmrequire-from-string2.0.2indirecta
npmresolve-from5.0.0indirecta
npmrolldown1.0.3indirecta
npmrollup4.61.0indirecta
npmrpc-websockets9.3.9indirecta
npmsafe-buffer5.2.1indirecta
npmsaxes6.0.0indirecta
npmsiginfo2.0.0indirecta
npmsource-map0.7.6indirecta
npmsource-map-js1.2.1indirecta
npmstackback0.0.2indirecta
npmstd-env4.1.0indirecta
npmstream-chain2.2.5indirecta
npmstream-json1.9.1indirecta
npmsucrase3.35.1indirecta
npmsuperstruct2.0.2indirecta
npmsymbol-tree3.2.4indirecta
npmtext-encoding-utf-81.0.2indirecta
npmthenify3.3.1indirecta
npmthenify-all1.6.0indirecta
npmtinybench2.9.0indirecta
npmtinyexec0.3.2indirecta
npmtinyexec1.2.4indirecta
npmtinyglobby0.2.17indirecta
npmtinyrainbow3.1.0indirecta
npmtldts7.4.3indirecta
npmtldts-core7.4.3indirecta
npmtough-cookie6.0.1indirecta
npmtr460.0.3indirecta
npmtr466.0.0indirecta
npmtree-kill1.2.2indirecta
npmts-interface-checker0.1.13indirecta
npmtslib2.8.1indirecta
npmtsup8.5.1indirecta
npmtypescript5.9.3indirecta
npmufo1.6.4indirecta
npmundici7.28.0indirecta
npmundici-types6.21.0indirecta
npmundici-types7.27.0indirecta
npmutf-8-validate5.0.10indirecta
npmutf-8-validate6.0.6indirecta
npmuuid14.0.0indirecta
npmuuid8.3.2indirecta
npmvite8.0.16indirecta
npmvitest4.1.8indirecta
npmw3c-xmlserializer5.0.0indirecta
npmwebidl-conversions3.0.1indirecta
npmwebidl-conversions8.0.1indirecta
npmwhatwg-mimetype5.0.0indirecta
npmwhatwg-url16.0.1indirecta
npmwhatwg-url5.0.0indirecta
npmwhy-is-node-running2.3.0indirecta
npmws7.5.11indirecta
npmws8.21.0indirecta
npmxml-name-validator5.0.0indirecta
npmxmlchars2.2.0indirecta
Avisos de dependencias 2

Instalar npm:@dexterai/vault@0.37.3 arrastra 111 paquetes, directos y transitivos: 2 tienen avisos conocidos, de los cuales 0 son dependencias directas.

PaqueteVersiónRelaciónGravedadAvisosCorregido en
bigint-buffer1.1.5indirectaalta1
uuid8.3.2indirectaalta113.0.1

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

Informe JSON sin procesar legible por máquina
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 1545,
      "has_wiki": true,
      "homepage": "https://dexter.cash",
      "languages": {
        "Shell": 2921,
        "JavaScript": 54958,
        "TypeScript": 839062
      },
      "pushed_at": "2026-07-18T11:38:50Z",
      "created_at": "2026-06-03T20:02:16Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-18T11:38:55Z",
      "description": "Canonical off-chain mirror of the dexter-vault Solana Anchor program. Instruction builders, message encoders, account decoders, precompile helpers, signer interfaces.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://dexter.cash",
      "name": "Dexter AI",
      "type": "Organization",
      "login": "Dexter-DAO",
      "company": null,
      "location": "Solana",
      "followers": 4,
      "avatar_url": "https://avatars.githubusercontent.com/u/251671417?v=4",
      "created_at": "2025-12-27T01:56:55Z",
      "is_verified": null,
      "public_repos": 13,
      "account_age_days": 208
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.10.0",
          "kind": "minor",
          "published_at": "2026-06-17T20:13:08Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "6d2ccfbc19725b88d061aff0ecf0ab4c57c4c406",
          "body": null,
          "is_bot": false,
          "headline": "0.37.3",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:38:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8eea5a1610c0f0e21761bf40ebed66a89bac69ea",
          "body": "…t messages barrel\n\nSurfaces rebuild + verify the intent bytes client-side before the passkey\nsigns; importing via instructions/ dragged swig kit into browser bundles.\ninstructions/ re-exports for back-compat.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "refactor(messages): swap op-message builder moves to the browser-ligh…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:38:26Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b41be6b14e4d043d093f25e5c8cf32a28c470000",
          "body": "…the SDK fail loudly\n\nScans every consumer repo for op-message tags, PDA seeds, and discriminator\nderivations outside the SDK; reviewed exceptions live in the allowlist with\ntracked TODOs (facilitator credit-root discs, x402-sdk session domain). First\nrun caught 2 real cases (both fixed same-day) an\n[…]\n\ndexter-fe/operationMessages.ts can no longer hide. npm run audit:drift.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "feat(audit): byte-drift auditor — protocol bytes hand-rolled outside …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:24:07Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1e8dc91f22587d178e52f8e18b088798d97b10a7",
          "body": null,
          "is_bot": false,
          "headline": "0.37.2",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:17:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2cf3826838d28efbca82c81a8e875c5ca7dbd61b",
          "body": "…al, force-release, claim challenge, prove-passkey\n\nBypass-drift kill (Rule 7): dexter-fe/app/lib/vault/operationMessages.ts\nreimplemented protocol bytes the SDK must own. Byte-parity tested; the FE\nmigrates to these and deletes its copy.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "feat(messages): absorb dexter-fe's hand-rolled op messages — withdraw…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:17:46Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f98dc190459687b06896d8876fb8d75b8bb1bbe4",
          "body": null,
          "is_bot": false,
          "headline": "0.37.1",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:04:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d991e9dc728973c5d994e54e09be069fa57eaa8",
          "body": "…e for the swap bracket\n\nThe facilitator's numeric role allowlist cannot cover the swap role (marker-\nmatched, variable index across the backfilled fleet). This gate allows co-sign\nONLY for the exact bracket shape (all swig ops SignV2, swap_for_carry+finish_swap\npresent, program-mirroring adjacency)\n[…]\n(vault, swap_for_carry) authority. Fails\nclosed on any resolution error.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "feat(swap-leg): isCarrySwapCoSignSafe — marker-verified fee-payer gat…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:04:43Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9fe4ea986bea9ab07b0663799477baa98d3f5f81",
          "body": "…nst the shipped IDL\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "chore(exports): expose ./idl subpath — consumers can pin layouts agai…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T10:45:06Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e6c08e7a25cfa1f981a69aa4a029c3c3bc37ca0e",
          "body": null,
          "is_bot": false,
          "headline": "0.37.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T10:31:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "58983fce7dd1ba2dfc609e027cdceb77206ebbdd",
          "body": "…ctions, role-9 SignV2 wrap\n\nSDK-owned assembly for the carry swap bracket (mirrors finalizeBundle for\nwithdrawals): 111-byte passkey op message (challenge = sha256(op_msg)),\nswap_for_carry/finish_swap instructions byte-parity-tested against the deployed\nIDL, and the Swig SignV2 wrap that resolves r\n[…]\np_role_not_enrolled failure. Landmines from GATE-1 documented in-module.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "feat(swap-leg): swapForCarry builders — op message, byte-exact instru…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T10:31:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5d9eb6b2bad3b862a11fe38ec8c0c305e3762f43",
          "body": null,
          "is_bot": false,
          "headline": "0.36.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T08:48:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "739e37ae466054f4ede8e904e5522a9687ffccb8",
          "body": "… adds swap_for_carry/finish_swap (v6 byte-parity green)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "fix(idl): refresh dexter_vault.json from the deployed 1d6e752 build —…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T08:48:26Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "fdd52d7dd3c0cae3bb479fdbea611fc7d353f6c0",
          "body": "…(Rule 7 / GATE-1)\n\nThe on-chain set_swig_atomic added role 9 for the carry swap leg; this SDK\nbirth path (buildSwigCreationBundle) is the OTHER path used on mainnet and had\nNOT been bumped, so SDK-born vaults would silently revert on carry-swap\n(fail-closed, no custody risk — but a launch blocker).\n[…]\ny to enroll role 9 on existing vaults before\nthe swap service goes live.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Pn4MfGNNA9nUj76k3VQH2Z",
          "is_bot": false,
          "headline": "feat(swig): role 9 — ProgramExec(swap_for_carry) in the birth bundle …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T00:38:42Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "42b31a4239b65a14ff5c6b10f6f4175203123a6f",
          "body": null,
          "is_bot": false,
          "headline": "0.35.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-07T00:49:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "307d879cbe7482b0cff3598006a1964d1b1f0ef7",
          "body": "…e (K-T2a)\n\nWalk the K-T1 #77 Option<Pubkey> tail with the existing moving cursor:\nlegacy 191-byte claims read the tag from guaranteed-zero allocation\npadding → null (the fork proof — never over-read, never a phantom key);\nnew 224-byte claims → the seed-proven seller as base58. Byte-level\nfixtures h\n[…]\nwith NO dataSize gPA filter, so both generations flow through unchanged.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_011eEBpshD2YPvJNR8VEJm5i",
          "is_bot": false,
          "headline": "feat(reader): LockedClaim allowed_counterparty tail — dual-size decod…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-07T00:47:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8227a83cb59cf1c208c7422deded99a869aa6fb4",
          "body": "… @159..167 (K-T2a)\n\nDecode the K-T1 #77 field carved from the reserved head (total 221\nunchanged), plus effectiveMaxSellerAtRiskAtomic — the ONE place the\n0-means-unset → MAX_SELLER_AT_RISK_DEFAULT (10_000 = $0.01 penny)\nsubstitution lives, so every consumer inherits identical semantics.\nExports MA\n[…]\ncount 0xFF and carves only 157..167 so any\nfuture field shuffle screams.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_011eEBpshD2YPvJNR8VEJm5i",
          "is_bot": false,
          "headline": "feat(reader): GraphConfig penny-lock knob — max_seller_at_risk_atomic…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-07T00:47:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "be307ad4cdce9e24b8aca840dd1f363cc579834b",
          "body": "… that let a red tsc ship silently\n\nRoot cause of the TS2532 surviving multiple sessions: neither the build (tsup/esbuild strips types without checking) nor the tests (vitest transpiles per-file) run tsc, and prepublishOnly was build+test only. A type error in a .test.ts passed every automated gate. Now no publish proceeds on a red typecheck.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Exzn8FNgc1EKnjFdsXKdJU",
          "is_bot": false,
          "headline": "chore(gate): typecheck runs in prepublishOnly — closes the blind spot…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-06T03:48:56Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b600aed24bf5bf72d15c51b90f10c02f8694eb5a",
          "body": null,
          "is_bot": false,
          "headline": "0.34.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-06T03:47:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f5a763c5c7842f3547f23c47ad7bacd2ab141e4f",
          "body": "…typecheck red\n\nPre-existing red from 1d7288a (events.test.ts:87); tsc --noEmit now clean.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Exzn8FNgc1EKnjFdsXKdJU",
          "is_bot": false,
          "headline": "fix(credit): narrow evs[0] after length assertion — kills the TS2532 …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-06T03:47:07Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "35bc75182a45d7d1f1f738ea344fac63fc9ac1e8",
          "body": "…en-register (K-T4a)\n\nThe shared primitive for the §6a guard migration: every caller that today\nsilently re-registers over a LIVE session must compose\n[secp(revoke), revoke_session_key, secp(register), register_session_key]\nin ONE transaction. fetches the session PDA; live → requires a\nrevokeCeremon\n[…]\n.\nOn-chain proof: dexter-vault tests/revoke-then-register-atomic.e2e.ts.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Exzn8FNgc1EKnjFdsXKdJU",
          "is_bot": false,
          "headline": "feat(session): composeRevokeThenRegister — atomic single-tx revoke-th…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-06T03:31:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1d7288ac8a09ddd132615e55179e67bdece2b948",
          "body": "…r + V7 register node account\n\n- src/credit/events.ts: hand-decoded (no Anchor runtime) event-CPI decoder\n  for CreditRepaid / CollateralSeized / PositionLiquidated / CreditDrawn,\n  discriminators pinned from the IDL, layout drift fails loudly. V7 makes\n  CreditRepaid.{principal_paid,interest_paid,t\n[…]\n- byte-parity tests: node appended last / data unchanged / omitted = V6.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FKB3LscG6HjsxMpJkT5p4c",
          "is_bot": false,
          "headline": "feat(spread): SDK owns the settlement-event ABI — spread-event decode…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-04T03:57:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6f45326971071984c01de42031721fdb9380f995",
          "body": "…r bound)\n\nA settlement built within the 2s sysvar margin of a clock-advancing touch\n(draw / reprice / settle) quoted BEFORE the node's accrual clock and\nreverted AccrualTsInvalid — the fork carry test hit exactly this (repay\nimmediately after a draw). accrualTsFor() = max(chain quote, last_accrual)\n[…]\nredit + seizeCollateral; exported for keepers that quote\ntheir own legs.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FKB3LscG6HjsxMpJkT5p4c",
          "is_bot": false,
          "headline": "fix(spread): floor the accrual_ts quote at node.last_accrual (D6 lowe…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-04T03:37:37Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1f5a2de0efc03fecae7d4c1688d84f58cf8dc26a",
          "body": "…BlockTime\n\ngetBlockTime's corrected bank timestamps can run AHEAD of the executing\nbank's clock sysvar — the program's accrual_ts <= now check then rejects the\nquote as future-dated (AccrualTsInvalid; observed live on the fork). The 2s\nmargin costs nothing: un-quoted seconds accrue at the next touch.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0194vgshTc7K1iiQcteDr3Ft",
          "is_bot": false,
          "headline": "fix(spread): quote accrual_ts from the CLOCK SYSVAR minus 2s, not get…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-04T03:10:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ba2bb255a4f16f39efda3164a184ef4b84ac635b",
          "body": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0194vgshTc7K1iiQcteDr3Ft",
          "is_bot": false,
          "headline": "chore: 0.33.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-04T02:48:20Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "70721c7dea64dbb562837d820a8fab89955b5d35",
          "body": "…nt legs\n\n- credit/accrual.ts: BigInt mirror of the on-chain formula (interestDue,\n  totalInterestAt, treasuryCut, quoteRepay/quotePayoff/quoteSeize) + parity\n  tests pinned to accrual.rs's unit-test constants.\n- instructions: repay_credit/seize_collateral encode accrual_ts (i64);\n  create_node enco\n[…]\nerved-tail carve).\n- IDL refreshed from the spread-engine program build.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0194vgshTc7K1iiQcteDr3Ft",
          "is_bot": false,
          "headline": "feat(spread): 0.33.0 — accrual math, accrual_ts args, quoted settleme…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-04T02:48:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "57767eb3763cc3a7df2063e70ac972ee71dc2450",
          "body": "…d pair\n\nThe passkey verifier pins the secp256r1 precompile at finalize−1 (fork-proven:\nan ATA-create between precompile and finalize fails PasskeyVerificationFailed),\nso the ATA-create cannot ride inside the same list as [finalize, SignV2].\nContract: [CB, ...preInstructions, precompileIx, ...instructions].\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Xsi6v1PEYdR37CVTeeddvK",
          "is_bot": false,
          "headline": "fix(withdraw): bundle splits preInstructions from the adjacency-locke…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-03T22:22:17Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ef10606bd4cb8ff1e78ee96d1c278c2f5b279623",
          "body": "… SDK owns the production finalize bytes (0.32.0)\n\nThe bundle is the ONE assembly of the finalize tail: [createDestAta?],\nfinalize_withdrawal, SignV2(net → user ATA, fee → treasury ATA), fee and\ntreasury read from GraphConfig on-chain (never a local constant). ATA-create\nordered BEFORE the vault ix \n[…]\ned (migrate_graph_config_v2,\nset_withdrawal_fee, GraphConfig V2 fields).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Xsi6v1PEYdR37CVTeeddvK",
          "is_bot": false,
          "headline": "feat(withdraw): buildFinalizeWithdrawBundle + GraphConfig V2 reader —…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-03T21:49:54Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "591462d082e89b437444446d4542a6f1d54cd5c3",
          "body": "…UIRED, $1000 default deleted\n\nbuildSwigCreationBundle, buildSetSwigAtomicInstruction, and\nbuildSetSwigAtomicFromIdentity now REQUIRE the user-authored role-2\nallowance (atomic USDC) and session TTL. Zero/omitted throws — the\nDEFAULT_SPEND_LIMIT_ATOMIC / DEFAULT_SESSION_TTL_SECONDS copies are\nDELETE\n[…]\n\n460 tests green incl. new fail-closed cases + byte-parity tail asserts.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Ehj8WG1ZZgkpHhYhLZBWdn",
          "is_bot": false,
          "headline": "feat(spend-policy): 0.31.0 — spendLimitAtomic + sessionTtlSeconds REQ…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-02T19:30:17Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a82b97e9a0563d866e58977d3117bed6309c254c",
          "body": "…c (0.30.0)\n\nReconciles the SDK builders with the dexter-vault program's money-leg-binding upgrade.\n\n- swigBundle: append seize_ancestor ProgramExec authority -> canonical 8-role set (index differs from program; sign-time resolves BY MARKER, only the SET must match).\n- withdraw.buildFinalizeWithdraw\n[…]\nmit b6d9713. Publish 0.30.0, then migrate dexter-api's pin off ^0.29.0.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01NnGLdqPmYgrghp2PS6Ud24",
          "is_bot": false,
          "headline": "feat(swig): seize_ancestor 8th authority + Rule #7 account-layout syn…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-02T13:11:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c95156c952ca4c9727049822b9fcdc39aadc9c2f",
          "body": "… bump\n\npackage.json was bumped to 0.29.0 in aa09e52 but the lockfile's own\nversion fields were left behind by the stranded session. Two-line sync,\nno dependency changes.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01XKcL6Cah9XRLbwQ83XhEjH",
          "is_bot": false,
          "headline": "chore(rescue): sync package-lock.json to the committed 0.29.0 version…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-02T01:18:43Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "bb20f046e78fc6163b394555afc8704e5db4131b",
          "body": "… assembleSignV2 resolves role by marker\n\nSurfaces 2+3 of the swig authority-set divergence fix (companion to dexter-vault set_swig_atomic).\n- swigBundle.ts: append repay_credit + seize_collateral ProgramExec authorities (roles 5/6) so the\n  client bundle mints the SAME canonical 7-authority set as \n[…]\n the set_swig_atomic byte-parity snapshot — instruction data unchanged).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01DctvftBZDA9u4GjGg2hrfT",
          "is_bot": false,
          "headline": "feat(swig): 2-path reconciliation 2/2 — swigBundle mints repay/seize;…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-01T22:38:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "aa09e52644650f4ad159f5c2a0f2f791edefbf99",
          "body": "…CreditRoot convergence\n\n- buildUpgradeCreditRootInstruction (disc 3139012f…) + UpgradeCreditRootParams:\n  flip an existing version=2 root to version=1 in place via a fresh π₂ proof for\n  the same nullifier. Mirrors establish; accounts match the on-chain UpgradeCreditRoot.\n- Sync src/idl/dexter_vaul\n[…]\nnt_state + LightClientState/errors/events the shipped IDL was missing).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(credit): buildUpgradeCreditRootInstruction — operator→trustless …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-01T06:02:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "dd374249ed4a543baa8f8b056346a49a548328b8",
          "body": null,
          "is_bot": false,
          "headline": "0.28.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-29T20:02:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8a7804055b6a615826a6d50afbecb60d95a93ef",
          "body": "…-griefing reclaim\n\nClient builder for the new on-chain close_node instruction (reclaims a terminal\nPrincipalNode's rent + un-welds the vault). Matches buildCreateNodeInstruction\nexactly — same module (instructions/credit.ts → @dexterai/vault/instructions\nsubpath), same hand-computed discriminator (\n[…]\nan.\n\nNOT published — ships in the next release with the program deploy.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(instructions): buildCloseNodeInstruction for the close_node anti…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-29T17:00:03Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "905c64528ead07a8e9fca5dbd98674295e6fbcc0",
          "body": null,
          "is_bot": false,
          "headline": "0.27.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-29T15:09:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1e4ae1f4f9163104221b9299c1646fb9d4813f8",
          "body": "The depth-N successor to open_standby for turning on a credit line: the\nclient's passkey signs b\"attach_node\"||vault(32)||node(32) (75B, matches\nattach_node.rs), the facilitator assembles [secp256r1 precompile, attach_node].\nKills the test-local duplication of this builder + the consumer bypass-drif\n[…]\nhe messages\nbarrel; ships in the next @dexterai/vault publish (0.27.0).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(messages): buildAttachNodeMessage for the depth-N /credit/open path",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-28T23:20:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a3011015b6255aae15b3561c92c1ae07914dafe5",
          "body": "Recourse-rooted delegation credit graph (depth-N), financier-tier (financier-made-whole\nis an on-chain invariant: capital-in + recourse-out both bound to the node's recorded\nfinancier), and the canonical credit mint as a GraphConfig deploy parameter. Validator-\nproven (both binds reject + happy path), SSS-clean, adversarial review GO (0 findings).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "merge: recourse-graph depth-N + financier-tier + GraphConfig.usdc_mint",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-28T04:25:39Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1efe95ee7a39cb44dd63932f4bdc0e675194b55f",
          "body": null,
          "is_bot": false,
          "headline": "0.26.0 — financier-tier + GraphConfig.usdc_mint",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-28T04:10:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c7927976b26552ada6f1eded980a444591c1ffe",
          "body": "…c IDL\n\nMirrors the program's GraphConfig.usdc_mint (canonical credit-settlement mint,\nmainnet = USDC). buildInitGraphConfigInstruction gains a required usdcMint param\nappended in struct order (disc || admin || pause || max_depth(u8) || usdc_mint).\nIDL re-synced from the program (carries usdc_mint +\n[…]\nte-parity test\nupdated to the new 105-byte layout. 448 SDK tests green.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(graph): thread usdc_mint through init_graph_config builder + syn…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-28T03:12:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e8f2188bec3ca44c2237e0e0c0eb148cb7913a0c",
          "body": "…alNode decode\n\nSync IDL (dexter-vault 3af1886/3d1313e). CreateNodeArgs gains financier:pubkey\nafter parent Option; PrincipalNode gains financier:pubkey appended after\nlast_accrual. Builder + decoder + GraphClient facade + node-buffer test helper\nupdated; byte-parity asserts cover the new field. De-risking verbs untouched\n(financier-destination is handler-derived on-chain).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(graph): wire on-chain financier field into create_node + Princip…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-28T00:43:59Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a0f71046109e636614c0f3a10c7ca9e285d21945",
          "body": "…node account\n\nThe program's finalize_withdrawal now takes an optional PrincipalNode at idx 4 (the\ncredit-liability pin, dexter-vault 34efaf6). Sync the regenerated IDL and extend\nbuildFinalizeWithdrawalInstruction with node?: PublicKey | null — emitted at idx 4,\nNone sentinel = the program id (Anch\n[…]\nlayout (no-node sentinel + welded-node cases); full SDK suite 448 pass.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(sdk): finalize_withdrawal builder + IDL sync for the credit-pin …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-27T20:17:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "21e942eafae090b0b728cf5f1935eed43f5aa8bc",
          "body": "drawCredit/repayCredit/seizeCollateral and GraphClient.cascadeSeize returned\n[vaultIx, ...signV2Ixs], but @swig-wallet/kit's getSignInstructions already\nreturns its preInstructions IN the ordered output (signV2Ixs CONTAINS vaultIx).\nSo against the real kit each verb ran the vault instruction TWICE —\n[…]\naithful (echo\nvaultIx, as the real kit does) and added exactly-once discriminator regression\npins so the suite can no longer hide a re-prepend.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(tab): credit verbs double-included the vault ix via preInstructions",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-27T20:10:00Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9cb9186555d5f56bf5894391f026621b61f8b454",
          "body": "…stale-slot (Important)\n\n1. decodeVaultFull/readVaultFull (accountReader.ts): V6 `node` is a FIXED Pubkey,\n   not an Option. An UNWELDED vault stores the default/all-zero pubkey, which the\n   reader returned as the truthy base58 '111…111' instead of null — so a credit\n   gate (`if (vault.node)`) tre\n[…]\nal recent slot). Ships in prod draw/cascade assembly.\n\ntypecheck clean.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "fix(sdk): credit-gate decode null-default (Critical) + ensureRootAlt …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-27T19:52:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6e134f98b3476deea085d26d2b55e41224faa711",
          "body": "…ize unit (+ fix stale reader doc)\n\nCloses the Task-13 coverage gap flagged in review: the new graph builders\nand the cascade allocation had zero automated tests.\n\n- tests/graph.byte-parity.test.ts: IDL-driven account-order/disc/arg parity for\n  create_node, attach_node, attach_root, emancipate, set\n[…]\nry builder matched the IDL (no mismatch\nfound). Full suite 446 passing.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "test(graph): byte-parity for the 8 depth-N graph builders + cascadeSe…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-27T15:17:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "80ea0bcc846930d285e5795012f66f6720440f43",
          "body": "…epth-N builders, GraphClient + ALTs)\n\nSync the vendored IDL to the depth-N recourse-graph program (765369f) and expose\nthe graph off-chain:\n\n- credit/derive.ts: derivePrincipalNodePda / deriveGraphConfigPda /\n  deriveEventAuthorityPda (mirror deriveStandbyBackerPda).\n- reader/accountReader.ts: deco\n[…]\nhinery + builders; simulateDraw is\nthe mechanism, the e2e is the proof.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(graph): Task 13 — SDK graph layer (PDAs, PrincipalNode reader, d…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-27T15:01:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "063ad7f2cc2eac8c5d4557d8c9e411e0bee1f4c4",
          "body": "…vention + domain-prefix invariant\n\nCloses the SDK-side doc gap dexter-agents flagged (their endpoint side documented in dfffa397). Backend-verified ops (revoke/enable agent-spend) sign the RAW domain-separated message as the WebAuthn challenge; on-chain ops sign sha256(message) for the secp256r1 pr\n[…]\n — mandatory on every new op-message. Doc-only; rides the next publish.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "docs(messages): record the backend-raw vs on-chain-sha256 signing con…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-25T21:08:00Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "78d53552f2177a42cc3d144bd9a4319f151808ae",
          "body": null,
          "is_bot": false,
          "headline": "0.25.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-25T18:54:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "849b63ba9972a05a4dd97a097cfaac83d4e59f5f",
          "body": "…nator (+ IDL sync)\n\n- buildEstablishCreditRootTrustedInstruction: the authority-attested CreditRoot\n  path that rooted the first mainnet Orb (it had no SDK builder — the rooting\n  was a one-off ad-hoc ix; open-D punch-list #1). + INTERIM_ROOT_AUTHORITY\n  constant. Verified against the program IDL (\n[…]\ns pass, build clean. Additive only (new exports, no signature changes).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(credit): trusted-root builder + whole-book scan + Vault discrimi…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-25T18:54:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "821cdac4bc4c89afba6824428e0f9d2e2b457dbd",
          "body": "…fee-payer admin surface\n\ndexter-agents verified the master key is role-2 (NOT role-0), but found the admin\nsurface is real via a different mechanism: /internal/sign-transaction applies the\nDeXterR2 fee-payer (role-0 ManageAuthority) co-signature UNCONDITIONALLY, so a swig\nAddAuthority/RemoveAuthori\n[…]\nit defeats the whole cap model. Cheap: one allowlist call.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(instructions): swig co-sign allowlist — close the unconditional …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-24T16:43:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b42a6e2f01abcb66a0c771f5d28e9ab40b77767f",
          "body": "…e-2 bypass (heal §5)\n\nThe agent-spend off-switch (#98) gates /build-swig-x402-payment, but the generic\nmaster co-signer /internal/sign-transaction (alsoSignWithSessionMaster) could be\nhanded a role-2 swig spend and master-sign it, bypassing the gate. dexter-agents\nfound it; this ships the SDK detec\n[…]\noffset drift, reusable by the Desk\nrouter's tx inspection.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(instructions): swig Sign inspector — close the master-signer rol…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-24T16:16:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "bc7cde47897c7b9e932c360760bccd2d0ebab170",
          "body": "…(#98)\n\nThe anon-pay heal §5 control surface. Under Branch's AUTOMATIC agent-spend\n(ON by default, opt-out), revoke is THE off-switch. An off-switch with no\non-switch is a one-way trap, so this ships both as a symmetric pair\n(dexter-agents' catch).\n\n- revokeAgentSpendMessage (96B): idempotent off-sw\n[…]\ninated + locked with dexter-agents (the §5 verifier side).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(messages): agent-spend off/on switch — revoke + enable builders …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-24T15:19:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7cda183b4717d23e1e3ddf6c79a3d12dbd46a966",
          "body": null,
          "is_bot": false,
          "headline": "0.21.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-22T14:52:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90cf9cb9572a220d929bc16930cda673024f8e43",
          "body": "… arm-check)\n\nThe \"is the session armed?\" primitive for the agent-pay heal. Reads a Swig\naccount's session-based role (e.g. role-2 Ed25519Session, master 3SWJ) and\ndecides liveness against the current SLOT — never Date.now() — since the swig\nsession expiry (currentSessionExpiration) is a slot number\n[…]\naths). Full suite\n374 pass. typecheck + build clean. NOT YET PUBLISHED.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(session): readSwigSessionRole — swig session liveness read (heal…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-22T14:49:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "01437f3cb09c752c6dea3f0e0dd3f89f1f50f310",
          "body": "…redit-only)\n\nThe register example now resolves the ATA via resolveVaultUsdcAta and passes the\nPublicKey|null result; adds a note that a credit-only vault passes null (own-USDC\ncounted as 0). Lists resolveVaultUsdcAta in the /session export table.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "docs(readme): document resolveVaultUsdcAta + optional vaultUsdcAta (c…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-22T02:53:51Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "5ee14b5f88f10dc3894aec4567d7cc7dd7b8a7a4",
          "body": "register_session_key's vault_usdc_ata is now Anchor-optional (program side).\nBuilder accepts PublicKey|null and emits the program-ID None sentinel; add\nresolveVaultUsdcAta (the single derive-and-probe source of truth) so callers\npass null for a credit-only vault whose ATA was never created. own-USDC\n[…]\nalone. Omission can\nonly understate backing, never inflate it. v0.20.0.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(session): optional vault_usdc_ata — credit-only vaults need no ATA",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-22T02:27:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1afd3f88a3ad1fcb4a2cf4179516e1842af7eb8e",
          "body": "… webauthn E2E (0.19.0)\n\nDeliverable 1 — interface collapse: PasskeySignerWithPublicKey declares ONE\ncanonical signOperation(operationMessage) (no throwing sign() stub).\nDexterApiBrowserPasskeySigner honors it for both auth and guest keyings:\nhashes sha256(op) internally, mints a server challenge bo\n[…]\ngreen.\n\ntsc clean; 363 unit tests pass; e2e 2 pass on a live validator.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(signers): collapse to one honest signOperation() + real on-chain…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T15:53:54Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b8f090702bf4d9bfce759803f9a85862d71a0ec3",
          "body": "…challenge === sha256(op)\n\nThe auth DexterApiBrowserPasskeySigner.sign() asserted over its raw input\nwithout hashing, while its callers (grant/approve, deployVault) pass raw\noperation messages. The on-chain webauthn.rs law requires\nclientDataJSON.challenge === sha256(operation_message). The auth pat\n[…]\n comment in deployVault.ts.\n\nBump 0.17.0 -> 0.18.0 (auth behavior fix).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "fix(signers): auth path hashes operation internally — clientDataJSON.…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T15:34:57Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7a58a65b5a186adc3a75ecb6b8c229872a318079",
          "body": "Adds the no-account guest keying to the canonical browser passkey signer so\na connector guest can authorize tab-opens and spends. One class, two keyings,\nmirroring dexter-fe's kind:'auth'|'guest' reference:\n\n- auth (UNCHANGED): credentialId + ServerPolicy; sign() / signWithServerChallenge().\n- guest\n[…]\nfaces\nthe server-resolved credentialId after the first signOperation().\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(signers): ANON guest path on DexterApiBrowserPasskeySigner (0.17.0)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T15:17:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f3cee40c1f523a82dfcfbc96101073722c931297",
          "body": "…e into SDK\n\nLift the proven 84-byte open_standby passkey op-message helper from\ndexter-vault's test-only credit.ts into the published package so the\nfrontend/connector can construct the challenge a user's passkey signs:\n\n  \"open_standby\" (12) || vaultPda(32) || financierSwig(32) || cap u64 LE(8)\n\nE\n[…]\n 84, tag, both pubkey slices,\ncap LE). Additive; bump 0.15.0 -> 0.16.0.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(messages): buildOpenStandbyMessage — lift open_standby op-messag…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T14:10:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e650735da7141c661b262f3179a27ec224f7f875",
          "body": "Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "Merge credit-tab-funding-leg (#73 personhood-blind credit rail)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T10:34:48Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "8ba0c1dc9e6826c38671dcb4add7bab71ea98c20",
          "body": "Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "chore(release): @dexterai/vault 0.15.0 — vault credit-tail reader fields",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T09:28:52Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "fdb717b16343ea6bb79b79446b0ae7d6d83d0824",
          "body": "…yCap/borrowRecoveryAt)\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(reader): decode vault credit tail (borrowed/standbyBacker/standb…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T09:25:12Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f4fc9b64089bbd5709fb1b3138caf574bdff408a",
          "body": null,
          "is_bot": false,
          "headline": "0.14.1",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T08:05:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b2a685b983565c592e7c9fb159813ba34e472cb",
          "body": "…default-export trap); add regression\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "fix(reader): fetchCreditEvents CJS-safe base58 via PublicKey (bs58@6 …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T08:04:25Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "633502c3f30f8930aed2bdd1fe1fc02333e7d762",
          "body": null,
          "is_bot": false,
          "headline": "0.14.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T07:29:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6064443d66eb8d96ddbe1f834be400f3bccc921f",
          "body": null,
          "is_bot": false,
          "headline": "chore: sync package-lock version field (stale 0.11.0 -> 0.13.0)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T07:29:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1cc8bed88f7f2bd9a03a952b74ea3c3814faf745",
          "body": "…— welded-vault + derivation were unreachable)",
          "is_bot": false,
          "headline": "fix(credit): export src/credit via ./credit subpath (publish-blocker …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T07:26:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0fd83b3177bb532960668864d9a79c481749a8e0",
          "body": "…t_event + CreditRoot/CreditEvent (unblock v6 byte-parity)\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "fix(idl): refresh bundled IDL with establish_credit_root/record_credi…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T07:16:51Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d9f0125c31d71d3a40377d3dc6d4c7eece171732",
          "body": "…credit→ledger loop\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "test(credit-identity): SDK-driven fixture E2E proving the personhood …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T07:09:39Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7c01f687a63c5d423c94214a2fcc9675af376197",
          "body": "…et decoders)\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(credit-identity): readCreditRoot + fetchCreditEvents (fixed-offs…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T07:03:10Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f439c9e8ad350ea457e85543250596bce7256b42",
          "body": "…(nullifier‖agent_id), secret agent_id)",
          "is_bot": false,
          "headline": "feat(credit-identity): welded-vault creation (identity_claim = SHA256…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T06:57:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b782c49ce7d320f9a710ea85a527bb24e3a5c24",
          "body": "…, no dexter_authority)\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(credit-identity): buildRecordCreditEventInstruction (payer-gated…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T06:53:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a5f13a03e53dda7e07475b78859e05af5c0139c7",
          "body": null,
          "is_bot": false,
          "headline": "feat(credit-identity): buildEstablishCreditRootInstruction",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T06:50:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "915bf74db1e4581a9317744f80fa9b704ce38989",
          "body": "…rivation",
          "is_bot": false,
          "headline": "feat(credit-identity): identity-claim + CreditRoot/CreditEvent PDA de…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T06:46:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d09dea0cafeb0db8655f187577a22d006dab49db",
          "body": "…t/CreditEvent",
          "is_bot": false,
          "headline": "feat(credit-identity): discriminators + account offsets for CreditRoo…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T06:40:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec9f7662a7a7d1e11ece56d2abab2c4e1448a248",
          "body": "…me low-level openTab\n\nAdd PasskeySignerWithPublicKey (PasskeySigner + readonly 33-byte SEC1 publicKey)\nand implement it on DexterApiBrowserPasskeySigner, sourcing publicKey from config.\nThis lets x402's tab adapter consume vault's canonical signer with no bridge shim.\n\nRename low-level instruction-\n[…]\nrrel + tests. Pre-launch: no back-compat alias.\n\nBump 0.12.0 -> 0.13.0.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(signers,tab): eager publicKey on canonical passkey signer + rena…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T04:13:25Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "47a0f2ee25b7a4400a5df279a8bb08a9d8066110",
          "body": "…+ DexterApiBrowserPasskeySigner\n\n0.11.0 (published 06-18 10:03Z) predates the ./create surface (createVault/deployVault/\ncreateDexterResolver) and the canonical DexterApiBrowserPasskeySigner; this ships them.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "chore(release): @dexterai/vault 0.12.0 — publish createVault surface …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T03:12:46Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7500cb356b7d247fe850d76223d3c54a79cf7377",
          "body": "Signs set_swig op message (bytes(\"set_swig\")||swigStatePda) via\nPasskeySigner, POSTs base64-encoded { clientDataJSON, authenticatorData,\nsignature } to /api/passkey-vault-anon/warmup. HTTP 409\ninsufficient_funds_for_deploy surfaces as typed\nInsufficientFundsForDeployError with floorAtomic + balanceAtomic.\nIdempotent: alreadyActive:true returned as-is.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(create): add deployVault zero-config deploy helper",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-19T13:22:14Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "30318745f3fd2bb467b80a004bf0bd53fcc94b1e",
          "body": "POST /api/passkey-vault-anon/initialize, returns { swigStateAddress,\nreceiveAddress }. Throws on null receiveAddress (fail-safe: never coerce\nto swigStateAddress). Injectable fetch for unit tests. Exports wired in\nsrc/create/index.ts.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(create): add createDexterResolver zero-config helper",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-19T13:22:03Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "37a143ad7331b6ade4f4a62de69b034786ddd918",
          "body": "…in writes\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "test(create): Decision D invariant — createVault performs zero on-cha…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T20:26:19Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6e2505c8310b9746a878d19875bcfea87e205b5c",
          "body": "…ed signer (unify fe + x402 forks)\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(signers): DexterApiBrowserPasskeySigner — canonical policy-wrapp…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T20:23:44Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6a2b67ac29d5c5893a2d4a44d4fb3a17f48d2288",
          "body": "…s, idempotent resume, ./create export\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(create): createVault() zero-config surface — zero on-chain write…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T20:19:21Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "997f842636beb695be388876c2b885ae15d20bb4",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "test(create): cover odd-y (0x03 prefix) SEC1 branch in parseAttestation",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T20:12:35Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "cc247fb0d2b420792bae1c83362674c0461ca5ae",
          "body": "…, local 16-byte userHandle, SEC1 pubkey\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(create): enrollPasskey — backend-free WebAuthn create() ceremony…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T19:54:33Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ff0afbd7a112b1cb0564764128de16809be57894",
          "body": "…eposit-address resolver, receiveAddress fail-safe\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(create): resolveVaultAddresses — client vault PDA + injectable d…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T19:46:19Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "8c60030ea60f3e3d6e39a2b751e57f993e9ce2f4",
          "body": "… npm test\n\nPlan A places SDK tests in src/<module>/__tests__/; the vitest include glob\nonly covered tests/**. Without this, generateUserHandle's test (and later\nPlan A tests) would pass via explicit path but be invisible to bare `npm test`.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(test): include src/**/__tests__ glob so create/ tests run under…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T19:45:27Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3729fe0d6601833673191e2adab137c2fc219f5d",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(create): generateUserHandle — 16-byte client-side vault handle",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T19:32:27Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ca7b02829239818673345e089b5bf4e8c0b86a52",
          "body": null,
          "is_bot": false,
          "headline": "0.11.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T10:03:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f5574f9fe8fe7ff9f487f63b2fb90a4c31a6904",
          "body": "…act)\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(sdk): sync lockfile self-version to 0.10.0 (local-install artif…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T10:03:24Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "790803e5b575728051d59057ce0c173e0fe67afe",
          "body": "…claims receipt\n\nsettle_locked_voucher builder marks dexter_authority writable (the on-chain\nclose=dexter_authority now requires it); bundled IDL refreshed to 31 instrs\n(adds close_locked_claim, settle writable); mainnet proof receipt pinned\n(18/18 green: close-on-settle + close_locked_claim janitor, real USDC).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(sdk): settle dexter_authority writable + refresh IDL + closable-…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T09:49:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a7bca927f072b3f1633639b409e9e6d53f922828",
          "body": "Client builder for the new close_locked_claim instruction. Discriminator\nlifted from the regenerated IDL (not guessed); accounts {vault ro, claim\nwritable, dexter_authority signer+writable}; empty args. vitest 5/5,\nbuild green. Settle builder unchanged (close adds no account).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(sdk): buildCloseLockedClaimInstruction",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T08:49:42Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "bf124e852b041ad8b280cb9773265653c3680c15",
          "body": "vault 9LmX3SdA… seller 9QiLRgt8… lock 57gogWVB… settle Syj9CJog…\nclaim Settled, seller_ata_delta 100000, outstanding 0. First end-to-end\nlock lifecycle proven on mainnet with real USDC via the shipped SDK +\nfacilitator endpoints.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "proof: lock-rail mainnet receipt (real USDC, SDK + facilitator, 12/12)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T07:14:33Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "2d4c776f89044920f3afd69180ccb1d993c51722",
          "body": "prove-sdk-credit.ts ran on mainnet: registerProgramAuthority, setStandbyReserve\n(committed_reserve=5000000 confirmed), closeStandby (standby_backer=null\nconfirmed) — all SDK-assembled real submits. Pins the tx signatures so the\ncredit surface is citable like the drain-protection receipt.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "proof: SDK credit-surface mainnet receipt (3 real submits)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T20:00:56Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f96e1c16af452ae10a3ba9a7ef7499b67566ea80",
          "body": "Document the crystallized-claim reader shipped in 0.10.0: a new \"Read\ncrystallized claims (the reservation tier)\" section covering\noutstandingLockedAmount on readVaultFull, fetchVaultLockedClaims, and\ndecodeLockedClaim, with the sum(Pending)===outstanding reconciliation\ninvariant. Add the three read\n[…]\nble, fix the\n\"not decodable by 0.9.x\" version refs to 0.10.x, and note the\nsettle_locked_voucher marker + reader landed in 0.10.0.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(readme): Step-4 LockedClaim reader surface + 0.10.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T18:30:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8640775299c2cc2485dd169b6b2f868fefdb6a5e",
          "body": "…ven)",
          "is_bot": false,
          "headline": "chore(release): @dexterai/vault 0.10.0 (Step-4 lock-mode, mainnet-pro…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T18:03:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f8f565a834d837b13a4f66a3ea6e6a54b8d073a",
          "body": "…, e2e proof)",
          "is_bot": false,
          "headline": "merge: Step-4 lock-mode (marker, reader, backfill, factoring role fix…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T18:03:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c39f0f0839924a94ffb8b24f4b65d8e1c42cf22",
          "body": "…e receipt\n\nkit→web3 bundle conversion, swig-bind poll-for-target, lock-mode (no freeze\nbump so the reservation guard fires in isolation), durable redacted receipt.\nresult=PASS: crystallize → outstanding reservation → withdrawal blocked by\nWithdrawalWouldViolateReservation (0x1781) → settle 100%% to seller → claim Settled.",
          "is_bot": false,
          "headline": "feat(scripts): Step-4 lock-mode e2e PROVEN on mainnet — full lifecycl…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T17:52:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a5c71a45552ff62b43736bd3685e592e45c3b2c",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 0.10.0-step4.2 (ESM interop fix)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T17:39:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a6b0dafd94d7323cba58d7280c27288768e2d85",
          "body": "…kit (ESM re-export interop)",
          "is_bot": false,
          "headline": "fix(factoring): import ProgramExec helpers from @swig-wallet/lib not …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T17:39:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d00d6b66b6465d6b365895d845050abff5b2045",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 0.10.0-step4.1 (settle_locked role-by-marker fix)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T17:31:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 1,
      "commits_last_year": 226,
      "latest_release_at": "2026-06-17T20:13:08Z",
      "latest_release_tag": "v0.10.0",
      "releases_from_tags": false,
      "days_since_last_push": 5,
      "active_weeks_last_year": 7,
      "days_since_latest_release": 35,
      "mean_days_between_releases": null
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 37,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@dexterai/vault",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "solana",
            "dexter",
            "vault",
            "passkey",
            "webauthn",
            "swig",
            "secp256r1",
            "ed25519",
            "ots",
            "tab",
            "x402"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@dexterai/vault",
          "is_deprecated": false,
          "latest_version": "0.37.3",
          "repository_url": "https://github.com/Dexter-DAO/dexter-vault-sdk",
          "versions_count": 55,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 5122,
          "first_published_at": "2026-06-03T20:03:50.012000Z",
          "latest_published_at": "2026-07-18T11:38:49.469000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 1,
      "watchers": 0,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 38328,
      "source_files_sampled": 165,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "bigint-buffer",
            "direct": false,
            "version": "1.1.5",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3gc7-fjrx-p6mg"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 475
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "8.3.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-w5hq-g745-h8pq"
            ],
            "fixed_version": "13.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 91
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 2
        },
        "advisory_count": 2,
        "affected_count": 2,
        "assessed_count": 111,
        "malicious_count": 0,
        "assessed_package": "npm:@dexterai/vault@0.37.3",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@noble/curves",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.9.7"
        },
        {
          "name": "@noble/hashes",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.8.0"
        },
        {
          "name": "@solana-program/token",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.5.1"
        },
        {
          "name": "@solana/kit",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.0"
        },
        {
          "name": "@solana/spl-token",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.4.9"
        },
        {
          "name": "@solana/web3.js",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.98.0"
        },
        {
          "name": "@swig-wallet/kit",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.9.0"
        },
        {
          "name": "@swig-wallet/lib",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.9.0"
        },
        {
          "name": "bs58",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.0.0"
        },
        {
          "name": "tweetnacl",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.3"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@noble/curves",
            "direct": true,
            "version": "1.9.7",
            "ecosystem": "npm"
          },
          {
            "name": "@noble/hashes",
            "direct": true,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana-program/token",
            "direct": true,
            "version": "0.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/kit",
            "direct": true,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/spl-token",
            "direct": true,
            "version": "0.4.14",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/web3.js",
            "direct": true,
            "version": "1.98.4",
            "ecosystem": "npm"
          },
          {
            "name": "@swig-wallet/kit",
            "direct": true,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@swig-wallet/lib",
            "direct": true,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "bs58",
            "direct": true,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "bs58",
            "direct": true,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tweetnacl",
            "direct": true,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/css-color",
            "direct": false,
            "version": "5.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/dom-selector",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/generational-cache",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/nwsapi",
            "direct": false,
            "version": "2.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@bramus/specificity",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/color-helpers",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-calc",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-color-parser",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-parser-algorithms",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-syntax-patches-for-csstree",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-tokenizer",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@exodus/bytes",
            "direct": false,
            "version": "1.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.133.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/accounts",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/addresses",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/assertions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/buffer-layout",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/buffer-layout-utils",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-core",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-core",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-data-structures",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-data-structures",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-numbers",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-numbers",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-strings",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-strings",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/errors",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/errors",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/fast-stable-stringify",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/functional",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/instructions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/keys",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/nominal-types",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/options",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/options",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/programs",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/promises",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-api",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-parsed-types",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-spec",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-spec-types",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-subscriptions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-subscriptions-api",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-subscriptions-channel-websocket",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-subscriptions-spec",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-transformers",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-transport-http",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-types",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/signers",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/spl-token-group",
            "direct": false,
            "version": "0.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/spl-token-metadata",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/subscribable",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/sysvars",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/transaction-confirmation",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/transaction-messages",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/transactions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/helpers",
            "direct": false,
            "version": "0.5.23",
            "ecosystem": "npm"
          },
          {
            "name": "@swig-wallet/coder",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/connect",
            "direct": false,
            "version": "3.4.38",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsdom",
            "direct": false,
            "version": "28.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "12.20.55",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "22.19.19",
            "ecosystem": "npm"
          },
          {
            "name": "@types/tough-cookie",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/uuid",
            "direct": false,
            "version": "10.0.0",
            "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": "@vitest/expect",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "agentkeepalive",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "any-promise",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "base-x",
            "direct": false,
            "version": "3.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "base-x",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "bidi-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "bigint-buffer",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "bignumber.js",
            "direct": false,
            "version": "9.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "bindings",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "borsh",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "bufferutil",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "bundle-require",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cac",
            "direct": false,
            "version": "6.7.14",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "5.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "14.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "2.20.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "consola",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "css-tree",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "data-urls",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decimal.js",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "delay",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "es6-promise",
            "direct": false,
            "version": "4.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "es6-promisify",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "eventemitter3",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "eyes",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "fast-stable-stringify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fastestsmallesttextencoderdecoder",
            "direct": false,
            "version": "1.0.22",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-uri-to-path",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fix-dts-default-cjs-exports",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "html-encoding-sniffer",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "humanize-ms",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-potential-custom-element-name",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "isomorphic-ws",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jayson",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "joycon",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsdom",
            "direct": false,
            "version": "29.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stringify-safe",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lilconfig",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "load-tsconfig",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "mdn-data",
            "direct": false,
            "version": "2.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "mlly",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mz",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "node-fetch",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp-build",
            "direct": false,
            "version": "4.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pirates",
            "direct": false,
            "version": "4.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-load-config",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "rpc-websockets",
            "direct": false,
            "version": "9.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "saxes",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.7.6",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-chain",
            "direct": false,
            "version": "2.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "stream-json",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "sucrase",
            "direct": false,
            "version": "3.35.1",
            "ecosystem": "npm"
          },
          {
            "name": "superstruct",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "symbol-tree",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "text-encoding-utf-8",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "thenify",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "thenify-all",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tldts",
            "direct": false,
            "version": "7.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "tldts-core",
            "direct": false,
            "version": "7.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "tough-cookie",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "0.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tree-kill",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ts-interface-checker",
            "direct": false,
            "version": "0.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsup",
            "direct": false,
            "version": "8.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "ufo",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "utf-8-validate",
            "direct": false,
            "version": "5.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "utf-8-validate",
            "direct": false,
            "version": "6.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "8.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "w3c-xmlserializer",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "16.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "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"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 317,
        "direct_count": 11,
        "indirect_count": 306
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 0,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "BranchManager69",
          "commits": 226,
          "avatar_url": "https://avatars.githubusercontent.com/u/121578862?v=4"
        }
      ],
      "contributors_sampled": 1,
      "top_contributor_share": 1
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": true,
      "ci_workflows": [],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "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": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 3,
            "reason": "project has 1 contributing companies or organizations -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project was created within the last 90 days. Please review its contents carefully",
            "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": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 7,
            "reason": "3 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "6d2ccfbc19725b88d061aff0ecf0ab4c57c4c406",
        "ran_at": "2026-07-23T19:08:57Z",
        "aggregate_score": 2.4,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-18T11:38:51Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Dexter-DAO/dexter-vault-sdk",
    "host": "github.com",
    "name": "dexter-vault-sdk",
    "owner": "Dexter-DAO"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 44,
      "inputs": {
        "security": 34,
        "vitality": 69,
        "community": 33,
        "governance": 35,
        "engineering": 44
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 69,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 59,
            "inputs": {
              "commits_last_year": 226,
              "human_commit_share": 1,
              "days_since_last_push": 5,
              "active_weeks_last_year": 7
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "7/52 weeks with commits",
                "points": 4.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 7
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "226 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 226
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 84,
            "inputs": {
              "releases_count": 1,
              "latest_release_tag": "v0.10.0",
              "releases_from_tags": false,
              "days_since_latest_release": 35,
              "mean_days_between_releases": null
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "1 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 35 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 35
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "cadence unknown (single release)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence_unknown",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 33,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 0,
              "stars": 1,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "1 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 62,
            "inputs": {
              "packages": [
                "@dexterai/vault"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 5122
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "5,122 downloads/month across npm",
                "points": 49.5,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 5122,
                      "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": "at_risk",
        "name": "Sustainability & Governance",
        "value": 35,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 13,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 1,
              "top_contributor_share": 1
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 100% of commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "1 contributors",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "critical",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution",
                    "pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "merged_prs": 0,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "no decided pull requests or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_decided_prs_or_data",
                    "params": {}
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 44,
            "inputs": {
              "followers": 4,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "Dexter-DAO",
              "public_repos": 13,
              "account_age_days": 208
            },
            "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": "4 followers of Dexter-DAO",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 4,
                      "login": "Dexter-DAO"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "13 public repos, account ~0 yr old",
                "points": 9.5,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 13
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 0
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@dexterai/vault"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 5 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "55 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 55
                    }
                  }
                ],
                "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": "at_risk",
        "name": "Engineering Quality",
        "value": 44,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "at_risk",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 30,
            "inputs": {
              "has_ci": false,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": "https://dexter.cash",
              "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": "https://dexter.cash",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 34,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "critical",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 24,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 12,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 6,
              "scorecard_aggregate": 2.4
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "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": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "3 existing vulnerabilities detected",
                "points": 5.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Matched the npm:@dexterai/vault@0.37.3 runtime dependency closure — what installing the published package pulls in — 111 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@dexterai/vault@0.37.3",
                  "assessed": 111
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 72,
            "inputs": {
              "source": "osv",
              "advisories": 2,
              "affected_packages": 2,
              "assessed_packages": 111,
              "unassessed_packages": 0,
              "affected_by_severity": "high 2",
              "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": "2 affected: bigint-buffer 1.1.5 (high 7.5), uuid 8.3.2 (high 7.5)",
                "points": 8.4,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 2,
                      "packages": "bigint-buffer 1.1.5 (high 7.5), uuid 8.3.2 (high 7.5)"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "2 advisory-carrying package(s) unaddressed past 90 days; oldest published 475 days ago",
                "points": 29.1,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 2,
                      "oldest": 475
                    }
                  }
                ],
                "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": 111,
              "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": 2
            },
            "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": "moderate",
        "name": "AI Readiness",
        "value": 60,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.85,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "85 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 85,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 59,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "tsconfig.json"
              ],
              "agent_commit_share": 0.73,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "73 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 73,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 38328,
              "source_files_sampled": 165,
              "oversized_source_files": 0
            },
            "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": "0/165 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 165,
                      "oversized": 0
                    }
                  }
                ],
                "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"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-23T19:09:02.655736Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/d/Dexter-DAO/dexter-vault-sdk.svg",
  "full_name": "Dexter-DAO/dexter-vault-sdk",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

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