公开记录
软件健康报告模式 0.27.0 · 指标 1.13.0 · 2026-07-24 06:56 UTC

Shuttle / Shuttle.Access

A simple identity and access control implementation.

C# · VueBSD-3-Clause★ 5 星标⑂ 3 复刻始于 2017年9月在 GitHub 上查看 ↗

Shuttle/Shuttle.Access 的健康指数为 100 分中的 46 分,处于「存在风险」区间。 其得分最高的类别是Vitality(82/100),最低的是Engineering Quality(20/100)。 最近一次更新在 28 天前。 近期的大部分工作由 1 位贡献者完成。

46
总分 / 100
存在风险

软件健康指数

指标归入加权类别,统一采用 1–100 量表。总体分先取类别加权平均;当公开证据触发高风险司法辖区政策时,评级会按政策调整,并设置 49(有风险)的上限。AI 就绪度不计入总体分。

46
优秀85-100堪称典范;基本满足所有检验标准
良好70-84健康;仅有轻微不足
中等50-69可接受,但存在明显不足;建议进行审查
存在风险30-49存在重大薄弱环节;采用时应保持审慎
危急1-29问题严重(项目被弃置、仅有单一维护者、缺乏基本工程规范)
活力社区与采用可持续性与治理工程质量安全AI 就绪度

评分画像

每条轴代表一个类别。形状比平均值更重要——健康的对象会填满整个图形,而“一峰一谷”式画像意味着某一维度的优势正掩盖另一维度的风险。

所有权

Shuttle组织
17 关注者145 个公开仓库始于 2013年11月

该仓库由组织支持——共同承担、可问责的托管责任,可延续于任何单一维护者之后。

软件包生态系统

按类别列示的指标

活力

项目是否仍有生命——是否仍在编写代码,是否仍在发布版本?

82良好 · 占总体的 22%
评分方式
28.8/36推送新近度 — 最近一次推送于 28 天前
18.7/36提交节奏 — 52 周中有 27 周有提交
18/18提交量 — 最近一年 126 次提交
10/10OpenSSF Scorecard:Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
所用输入
commits_last_year126
human_commit_share1
days_since_last_push28
active_weeks_last_year27

发布纪律

90优秀
评分方式
27/27有发布版本 — 已发布 18 个发布版本
36/36发布时效 — 最近一次发布版本于 28 天前
27/27发布节奏 — 约每 7.4 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — Project has not signed or included provenance with any releases.
所用输入
releases_count18
latest_release_tagv11.0.3
releases_from_tags
days_since_latest_release28
mean_days_between_releases7.4

社区与采用

项目是否拥有用户、下载量与关注度,并具备欢迎贡献者参与的配置?

38存在风险 · 占总体的 18%
评分方式
9.8/60星标 — 5 个星标
2.5/25复刻 — 3 个复刻
0/15关注者 — 1 位关注者
所用输入
forks3
stars5
watchers1
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

社区健康

50中等
评分方式
22.5/22.5README
22.5/22.5许可证 — 可识别的许可证(BSD-3-Clause)
0/18CONTRIBUTING 指南
0/13.5行为准则
0/7.2议题模板
0/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template
评分方式
49.2/80累计下载量 — nuget 合计历史 53,812 次下载
0/20注册表被依赖数 — 该生态系统不报告此项
所用输入
packagesShuttle.Access.Application, Shuttle.Access.AspNetCore, Shuttle.Access.Messages, Shuttle.Access.RestClient, Shuttle.Access.SqlServer
dependents
ecosystemsnuget
total_downloads53,812
monthly_downloads
已排除计分(无数据或不适用):注册表被依赖数。 其余权重已重新归一化。

可持续性与治理

项目能否在其成员之外延续——巴士系数、响应能力、由谁支持,以及软件包的维护状况?

44存在风险 · 占总体的 24%
评分方式
9/54巴士系数 — 1 位贡献者贡献了半数提交
0/22.5提交分布 — 头号贡献者编写了 100% 的提交
2.7/13.5贡献者广度 — 2 位贡献者
3/10OpenSSF Scorecard:Contributors — project has 1 contributing companies or organizations -- score normalized to 3
所用输入
bus_factor1
contributors_sampled2
top_contributor_share0.998
评分方式
0/46.8议题解决 — 0% 的议题已关闭
16/38.3PR 接受 — 已裁定的 PR 中 13/31 已合并
0/15OpenSSF Scorecard:Code-Review — Found 0/27 approved changesets -- score normalized to 0
所用输入
merged_prs13
open_issues1
closed_issues0
issue_closed_ratio0
closed_unmerged_prs18
评分方式
30/30所有权背书 — 组织持有
0/20已验证域名
9/25所有者影响力 — Shuttle 有 17 位关注者
25/25既往记录 — 145 个公开仓库,账户约 12 年
所用输入
followers17
owner_typeOrganization
is_verified
owner_loginShuttle
public_repos145
account_age_days4,645
评分方式
25/25已发布且可解析 — nuget 上有 5 个软件包
35/35发布时效 — 最近一次发布于 0 天前
20/20版本历史 — 52 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packagesShuttle.Access.Application, Shuttle.Access.AspNetCore, Shuttle.Access.Messages, Shuttle.Access.RestClient, Shuttle.Access.SqlServer
ecosystemsnuget
any_deprecated
min_days_since_publish0

工程质量

基础的工程与文档实践是否到位?

20危急 · 占总体的 20%
评分方式
0/24CI 工作流
0/24存在测试
0/16Linter 配置
0/9.6Pre-commit 钩子
6.4/6.4.editorconfig
0/20OpenSSF Scorecard:CI-Tests — 0 out of 1 merged PRs checked by a CI test -- score normalized to 0
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config

文档

40存在风险
评分方式
30/30README
0/25文档目录
0/15文档 / 主页站点
10/10仓库描述
0/10主题标签
0/10Wiki
所用输入
topics
has_wiki
homepage
has_readme
has_docs_dir
has_description

安全

可见的安全与供应链实践是否稳固,且不存在未解决的高风险司法辖区暴露?

39存在风险 · 占总体的 16%

安全态势

31存在风险
评分方式
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 — 0 out of 1 merged PRs checked by a CI test -- score normalized to 0
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/27 approved changesets -- score normalized to 0
0.8/2.5Contributors — project has 1 contributing companies or organizations -- score normalized to 3
0/10Dangerous-Workflow — 无数据
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5许可证 — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — 无数据
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — 无数据
0/7.5Vulnerabilities — 20 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate3.1
已排除计分(无数据或不适用):dangerous_workflow, packaging, token_permissions。 其余权重已重新归一化。
评分方式
12/35直接依赖不含已知公告 — 1 个受影响:axios 1.16.1 (high 8.2)
0/25间接依赖不含已知公告 — 在此范围内,传递依赖集合无法与开发和测试依赖区分
40/40没有长期未处理的公告 — 没有公告公开超过 90 天
所用输入
sourceosv
advisories20
affected_packages7
assessed_packages517
unassessed_packages0
affected_by_severitycritical 1, high 5, low 1
direct_affected_packages1
已排除计分(无数据或不适用):间接依赖不含已知公告。 其余权重已重新归一化。 已将 517 个已解析依赖与 OSV 比对。 该仓库未发布任何索引可解析的软件包,因此改为评估仓库依赖图。该图将开发与测试版本固定同交付的依赖混在一起,因此仅对声明的运行时依赖计分;传递性发现仅作为背景信息列出,不计入评分。 未对可达性进行分析。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?这是一枚独立的实验性徽章——权重为 0.0,因此单独呈现,不影响总体健康评分。

34存在风险 · 占总体的 0%
评分方式
0/45代理指令 — 没有 CLAUDE.md / AGENTS.md / 编辑器规则
0/15机器可读文档(llms.txt)
1.1/40可读的提交历史 — 100 次人类提交中有 2 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share0.02
agent_instruction_files
agent_instruction_max_bytes
评分方式
12.6/18一条命令的引导启动 — Shuttle.Access.Application/Shuttle.Access.Application.csproj, Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj, Shuttle.Access.Messages/Shuttle.Access.Messages.csproj(工具链约定,无任务运行器)
0/22自动化测试
0/11Lint / 格式化配置
11/11静态类型检查 — Shuttle.Access.Vue/tsconfig.json
10/10可复现环境 — Dockerfile, lockfile
0/10已体现的代理实践 — 最近 100 次提交中没有代理编写的提交
0/8自动化维护 — 未观察到自动依赖更新
0/10OpenSSF Scorecard:Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
所用输入
has_nix
has_tests
lockfilespackage-lock.json
has_dockerfile
typed_language
bootstrap_files
has_devcontainer
has_linter_config
typecheck_configsShuttle.Access.Vue/tsconfig.json
agent_commit_share0
toolchain_manifestsShuttle.Access.Application/Shuttle.Access.Application.csproj, Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj, Shuttle.Access.Messages/Shuttle.Access.Messages.csproj, Shuttle.Access.RestClient/Shuttle.Access.RestClient.csproj, Shuttle.Access.Server/Shuttle.Access.Server.csproj, Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj, Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj, Shuttle.Access.Tests/Shuttle.Access.Tests.csproj, Shuttle.Access.WebApi.Contracts/Shuttle.Access.WebApi.Contracts.csproj, Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj, Shuttle.Access/Shuttle.Access.csproj
dependency_bot_commit_share0
评分方式
45/45可类型检查的代码 — C#(静态类型)
55/55可控的文件大小 — 采样的 390 个源文件中有 0 个超过 60KB
所用输入
primary_languageC#
largest_source_bytes19,195
source_files_sampled390
oversized_source_files0

关键数据

5GitHub 星标
2贡献者
126最近 12 个月提交数
28距最近推送天数
18发布版本数
1巴士系数(bus factor)
1开放议题
npm, NuGet软件包生态系统数

数据采集警告

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

更多细节

Star 与 Fork 历史 0 ★ / 3 ⇿
0Star
3Fork
4发布

每颗 star 和每个 fork 的添加时间,来自 GitHub 并按天汇总。累计增长位于其构成来源——每日新增——的正上方,二者可相互对照:稳定的自然增长与短暂的突增形态截然不同。当这一差别可被衡量时,它会作为增长真实性予以报告。

12233312018-032021-102025-05
主版本 0次版本 1修订 2

每个点涵盖 7 天。

OpenSSF Scorecard 3.1 / 10
3.1综合

来自开源项目 OpenSSF Scorecard 的独立、工具无关的安全评估。每项检查奖励的是安全实践本身,而非特定供应商的工具。Scorecard 无法判定的检查项标记为 不适用,并从安全评分中剔除(绝不按零分计)。Scorecard v5.5.0 · 2026-07-24 06:56 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
0CI-Tests0 out of 1 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/27 approved changesets -- score normalized to 0
3Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
不适用Dangerous-Workflowno workflows found
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
不适用Packagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
不适用Token-PermissionsNo tokens found
0Vulnerabilities20 existing vulnerabilities detected
直接依赖 81
注册表软件包版本约束清单文件
NuGetShuttle.Contract21.0.1Shuttle.Access.Application/Shuttle.Access.Application.csproj
NuGetShuttle.Mediator21.0.1Shuttle.Access.Application/Shuttle.Access.Application.csproj
NuGetShuttle.Hopper21.0.2Shuttle.Access.Application/Shuttle.Access.Application.csproj
NuGetShuttle.Recall21.0.3Shuttle.Access.Application/Shuttle.Access.Application.csproj
NuGetShuttle.Recall.SqlServer.EventProcessing21.0.3Shuttle.Access.Application/Shuttle.Access.Application.csproj
NuGetShuttle.Recall.SqlServer.Storage21.0.3Shuttle.Access.Application/Shuttle.Access.Application.csproj
NuGetMicrosoft.IdentityModel.JsonWebTokens8.19.1Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj
NuGetShuttle.Contract21.0.1Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj
NuGetShuttle.Extensions.Options21.0.1Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj
NuGetShuttle.Contract21.0.1Shuttle.Access.Messages/Shuttle.Access.Messages.csproj
NuGetRefit11.0.1Shuttle.Access.RestClient/Shuttle.Access.RestClient.csproj
NuGetRefit.HttpClientFactory11.0.1Shuttle.Access.RestClient/Shuttle.Access.RestClient.csproj
NuGetShuttle.Contract21.0.1Shuttle.Access.RestClient/Shuttle.Access.RestClient.csproj
NuGetMicrosoft.Extensions.Hosting10.0.8Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetShuttle.Mediator21.0.1Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetShuttle.Pipelines21.0.2Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetShuttle.Hopper21.0.2Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetShuttle.Hopper.AzureStorageQueues21.0.2Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetShuttle.Hopper.SqlServer.Subscription21.0.2Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetShuttle.Recall.SqlServer.EventProcessing21.0.3Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetShuttle.Recall.SqlServer.Storage21.0.3Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetSerilog.Extensions.Logging10.0.0Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetSerilog.Extensions.Hosting10.0.0Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetSerilog.Settings.Configuration10.0.0Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetSerilog.Sinks.Console6.1.1Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetSerilog.Sinks.File7.0.0Shuttle.Access.Server/Shuttle.Access.Server.csproj
NuGetMicrosoft.EntityFrameworkCore.Design10.0.8Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj
NuGetMicrosoft.EntityFrameworkCore.SqlServer10.0.8Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj
NuGetMicrosoft.EntityFrameworkCore.Tools10.0.8Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj
NuGetMicrosoft.Extensions.Configuration.UserSecrets10.0.8Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj
NuGetMicrosoft.Extensions.Logging.Console10.0.8Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj
NuGetMicrosoft.Extensions.Logging.Debug10.0.8Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj
NuGetShuttle.Recall21.0.3Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj
NuGetShuttle.Recall.SqlServer.EventProcessing21.0.3Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj
NuGetShuttle.Recall.SqlServer.Storage21.0.3Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj
NuGetMicrosoft.AspNetCore.Mvc.Testing10.0.8Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj
NuGetMicrosoft.NET.Test.Sdk18.6.0Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj
NuGetMoq4.20.72Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj
NuGetNUnit4.6.1Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj
NuGetNUnit3TestAdapter6.2.0Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj
NuGetShuttle.Mediator21.0.1Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj
NuGetShuttle.Hopper21.0.2Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj
NuGetShuttle.Recall21.0.3Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj
NuGetMicrosoft.NET.Test.Sdk18.6.0Shuttle.Access.Tests/Shuttle.Access.Tests.csproj
NuGetMoq4.20.72Shuttle.Access.Tests/Shuttle.Access.Tests.csproj
NuGetNUnit4.6.1Shuttle.Access.Tests/Shuttle.Access.Tests.csproj
NuGetNUnit3TestAdapter6.2.0Shuttle.Access.Tests/Shuttle.Access.Tests.csproj
NuGetShuttle.Recall.SqlServer.Storage21.0.3Shuttle.Access.Tests/Shuttle.Access.Tests.csproj
npm@mdi/font7.4.47Shuttle.Access.Vue/package.json
npm@tailwindcss/vite^4.0.14Shuttle.Access.Vue/package.json
npm@vuelidate/core^2.0.3Shuttle.Access.Vue/package.json
npm@vuelidate/validators^2.0.4Shuttle.Access.Vue/package.json
npm@vueuse/core^14.3.0Shuttle.Access.Vue/package.json
npmaxios^1.16.1Shuttle.Access.Vue/package.json
npmmoment^2.30.1Shuttle.Access.Vue/package.json
npmroboto-fontface*Shuttle.Access.Vue/package.json
npmunplugin-auto-import^21.0.0Shuttle.Access.Vue/package.json
npmvue^3.5.35Shuttle.Access.Vue/package.json
npmvue-i18n^11.4.4Shuttle.Access.Vue/package.json
npmvue-router^5.1.0Shuttle.Access.Vue/package.json
npmvuetify^4.0.8Shuttle.Access.Vue/package.json
NuGetAsp.Versioning.Http10.0.0Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetAsp.Versioning.Mvc.ApiExplorer10.0.0Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetMicrosoft.AspNetCore.OpenApi10.0.8Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetMicrosoft.IdentityModel.JsonWebTokens8.19.1Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetMicrosoft.IdentityModel.Tokens8.19.1Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetScalar.AspNetCore2.14.14Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetShuttle.Mediator21.0.1Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetShuttle.Hopper.AzureStorageQueues21.0.2Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetShuttle.Hopper.SqlServer.Subscription21.0.2Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetShuttle.OAuth21.0.6Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetShuttle.Recall.SqlServer.EventProcessing21.0.3Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetSerilog.Extensions.Logging10.0.0Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetSerilog.Extensions.Hosting10.0.0Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetSerilog.Settings.Configuration10.0.0Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetSerilog.Sinks.Console6.1.1Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetSerilog.Sinks.File7.0.0Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj
NuGetMicrosoft.EntityFrameworkCore10.0.8Shuttle.Access/Shuttle.Access.csproj
NuGetMicrosoft.Extensions.Caching.Memory10.0.8Shuttle.Access/Shuttle.Access.csproj
NuGetShuttle.Contract21.0.1Shuttle.Access/Shuttle.Access.csproj
NuGetShuttle.Extensions.Options21.0.1Shuttle.Access/Shuttle.Access.csproj
全部依赖 517

来自 GitHub 依赖图的完整解析依赖集合:51 个直接依赖与 466 个间接(传递)软件包。仓库提交锁文件时,传递闭包才是完整的。

注册表软件包版本关系
npm@mdi/font7.4.47直接
npm@tailwindcss/vite4.2.2直接
npm@vuelidate/core2.0.3直接
npm@vuelidate/validators2.0.4直接
npm@vueuse/core14.3.0直接
npmaxios1.16.1直接
npmmoment2.30.1直接
npmroboto-fontface0.10.0直接
npmunplugin-auto-import21.0.0直接
npmvue3.5.35直接
npmvue-i18n11.4.4直接
npmvue-router5.1.0直接
npmvuetify4.0.8直接
NuGetAsp.Versioning.Http10.0.0直接
NuGetAsp.Versioning.Mvc.ApiExplorer10.0.0直接
NuGetMicrosoft.AspNetCore.Mvc.Testing10.0.8直接
NuGetMicrosoft.AspNetCore.OpenApi10.0.8直接
NuGetMicrosoft.EntityFrameworkCore10.0.8直接
NuGetMicrosoft.EntityFrameworkCore.Design10.0.8直接
NuGetMicrosoft.EntityFrameworkCore.SqlServer10.0.8直接
NuGetMicrosoft.EntityFrameworkCore.Tools10.0.8直接
NuGetMicrosoft.Extensions.Caching.Memory10.0.8直接
NuGetMicrosoft.Extensions.Configuration.UserSecrets10.0.8直接
NuGetMicrosoft.Extensions.Hosting10.0.8直接
NuGetMicrosoft.Extensions.Logging.Console10.0.8直接
NuGetMicrosoft.Extensions.Logging.Debug10.0.8直接
NuGetMicrosoft.IdentityModel.JsonWebTokens8.19.1直接
NuGetMicrosoft.IdentityModel.Tokens8.19.1直接
NuGetMicrosoft.NET.Test.Sdk18.6.0直接
NuGetMoq4.20.72直接
NuGetNUnit4.6.1直接
NuGetNUnit3TestAdapter6.2.0直接
NuGetRefit11.0.1直接
NuGetRefit.HttpClientFactory11.0.1直接
NuGetScalar.AspNetCore2.14.14直接
NuGetSerilog.Extensions.Hosting10.0.0直接
NuGetSerilog.Extensions.Logging10.0.0直接
NuGetSerilog.Settings.Configuration10.0.0直接
NuGetSerilog.Sinks.Console6.1.1直接
NuGetSerilog.Sinks.File7.0.0直接
NuGetShuttle.Contract21.0.1直接
NuGetShuttle.Extensions.Options21.0.1直接
NuGetShuttle.Hopper21.0.2直接
NuGetShuttle.Hopper.AzureStorageQueues21.0.2直接
NuGetShuttle.Hopper.SqlServer.Subscription21.0.2直接
NuGetShuttle.Mediator21.0.1直接
NuGetShuttle.OAuth21.0.6直接
NuGetShuttle.Pipelines21.0.2直接
NuGetShuttle.Recall21.0.3直接
NuGetShuttle.Recall.SqlServer.EventProcessing21.0.3直接
NuGetShuttle.Recall.SqlServer.Storage21.0.3直接
npm@babel/code-frame7.29.7间接
npm@babel/compat-data7.29.7间接
npm@babel/core7.29.7间接
npm@babel/generator7.29.7间接
npm@babel/generator8.0.0-rc.6间接
npm@babel/helper-annotate-as-pure7.29.7间接
npm@babel/helper-compilation-targets7.29.7间接
npm@babel/helper-create-class-features-plugin7.29.7间接
npm@babel/helper-globals7.29.7间接
npm@babel/helper-member-expression-to-functions7.29.7间接
npm@babel/helper-module-imports7.29.7间接
npm@babel/helper-module-transforms7.29.7间接
npm@babel/helper-optimise-call-expression7.29.7间接
npm@babel/helper-plugin-utils7.29.7间接
npm@babel/helper-replace-supers7.29.7间接
npm@babel/helper-skip-transparent-expression-wrappers7.29.7间接
npm@babel/helper-string-parser7.29.7间接
npm@babel/helper-string-parser8.0.0-rc.6间接
npm@babel/helper-validator-identifier7.29.7间接
npm@babel/helper-validator-identifier8.0.0-rc.6间接
npm@babel/helper-validator-option7.29.7间接
npm@babel/helpers7.29.7间接
npm@babel/parser7.29.7间接
npm@babel/parser8.0.0-rc.6间接
npm@babel/plugin-proposal-decorators7.29.7间接
npm@babel/plugin-syntax-decorators7.29.7间接
npm@babel/plugin-syntax-import-attributes7.29.7间接
npm@babel/plugin-syntax-import-meta7.10.4间接
npm@babel/plugin-syntax-jsx7.29.7间接
npm@babel/plugin-syntax-typescript7.29.7间接
npm@babel/plugin-transform-typescript7.29.7间接
npm@babel/template7.29.7间接
npm@babel/traverse7.29.7间接
npm@babel/types7.29.7间接
npm@babel/types8.0.0-rc.6间接
npm@bufbuild/protobuf2.11.0间接
npm@capsizecss/unpack4.0.0间接
npm@emnapi/core1.10.0间接
npm@emnapi/runtime1.10.0间接
npm@emnapi/wasi-threads1.2.1间接
npm@esbuild/aix-ppc640.27.7间接
npm@esbuild/android-arm0.27.7间接
npm@esbuild/android-arm640.27.7间接
npm@esbuild/android-x640.27.7间接
npm@esbuild/darwin-arm640.27.7间接
npm@esbuild/darwin-x640.27.7间接
npm@esbuild/freebsd-arm640.27.7间接
npm@esbuild/freebsd-x640.27.7间接
npm@esbuild/linux-arm0.27.7间接
npm@esbuild/linux-arm640.27.7间接
npm@esbuild/linux-ia320.27.7间接
npm@esbuild/linux-loong640.27.7间接
npm@esbuild/linux-mips64el0.27.7间接
npm@esbuild/linux-ppc640.27.7间接
npm@esbuild/linux-riscv640.27.7间接
npm@esbuild/linux-s390x0.27.7间接
npm@esbuild/linux-x640.27.7间接
npm@esbuild/netbsd-arm640.27.7间接
npm@esbuild/netbsd-x640.27.7间接
npm@esbuild/openbsd-arm640.27.7间接
npm@esbuild/openbsd-x640.27.7间接
npm@esbuild/openharmony-arm640.27.7间接
npm@esbuild/sunos-x640.27.7间接
npm@esbuild/win32-arm640.27.7间接
npm@esbuild/win32-ia320.27.7间接
npm@esbuild/win32-x640.27.7间接
npm@eslint-community/eslint-utils4.9.1间接
npm@eslint-community/regexpp4.12.2间接
npm@eslint/config-array0.23.5间接
npm@eslint/config-helpers0.6.0间接
npm@eslint/core1.2.1间接
npm@eslint/object-schema3.0.5间接
npm@eslint/plugin-kit0.7.2间接
npm@humanfs/core0.19.1间接
npm@humanfs/node0.16.7间接
npm@humanwhocodes/module-importer1.0.1间接
npm@humanwhocodes/retry0.4.3间接
npm@intlify/core-base11.4.4间接
npm@intlify/devtools-types11.4.4间接
npm@intlify/message-compiler11.4.4间接
npm@intlify/shared11.4.4间接
npm@jridgewell/gen-mapping0.3.13间接
npm@jridgewell/remapping2.3.5间接
npm@jridgewell/resolve-uri3.1.2间接
npm@jridgewell/sourcemap-codec1.5.5间接
npm@jridgewell/trace-mapping0.3.31间接
npm@mdi/js7.4.47间接
npm@napi-rs/wasm-runtime1.1.4间接
npm@nodelib/fs.scandir2.1.5间接
npm@nodelib/fs.stat2.0.5间接
npm@nodelib/fs.walk1.2.8间接
npm@oxc-project/types0.132.0间接
npm@parcel/watcher2.5.6间接
npm@parcel/watcher-android-arm642.5.6间接
npm@parcel/watcher-darwin-arm642.5.6间接
npm@parcel/watcher-darwin-x642.5.6间接
npm@parcel/watcher-freebsd-x642.5.6间接
npm@parcel/watcher-linux-arm-glibc2.5.6间接
npm@parcel/watcher-linux-arm-musl2.5.6间接
npm@parcel/watcher-linux-arm64-glibc2.5.6间接
npm@parcel/watcher-linux-arm64-musl2.5.6间接
npm@parcel/watcher-linux-x64-glibc2.5.6间接
npm@parcel/watcher-linux-x64-musl2.5.6间接
npm@parcel/watcher-win32-arm642.5.6间接
npm@parcel/watcher-win32-ia322.5.6间接
npm@parcel/watcher-win32-x642.5.6间接
npm@pkgr/core0.2.9间接
npm@polka/url1.0.0-next.29间接
npm@rolldown/binding-android-arm641.0.2间接
npm@rolldown/binding-darwin-arm641.0.2间接
npm@rolldown/binding-darwin-x641.0.2间接
npm@rolldown/binding-freebsd-x641.0.2间接
npm@rolldown/binding-linux-arm-gnueabihf1.0.2间接
npm@rolldown/binding-linux-arm64-gnu1.0.2间接
npm@rolldown/binding-linux-arm64-musl1.0.2间接
npm@rolldown/binding-linux-ppc64-gnu1.0.2间接
npm@rolldown/binding-linux-s390x-gnu1.0.2间接
npm@rolldown/binding-linux-x64-gnu1.0.2间接
npm@rolldown/binding-linux-x64-musl1.0.2间接
npm@rolldown/binding-openharmony-arm641.0.2间接
npm@rolldown/binding-wasm32-wasi1.0.2间接
npm@rolldown/binding-win32-arm64-msvc1.0.2间接
npm@rolldown/binding-win32-x64-msvc1.0.2间接
npm@rolldown/pluginutils1.0.1间接
npm@tailwindcss/node4.2.2间接
npm@tailwindcss/oxide4.2.2间接
npm@tailwindcss/oxide-android-arm644.2.2间接
npm@tailwindcss/oxide-darwin-arm644.2.2间接
npm@tailwindcss/oxide-darwin-x644.2.2间接
npm@tailwindcss/oxide-freebsd-x644.2.2间接
npm@tailwindcss/oxide-linux-arm-gnueabihf4.2.2间接
npm@tailwindcss/oxide-linux-arm64-gnu4.2.2间接
npm@tailwindcss/oxide-linux-arm64-musl4.2.2间接
npm@tailwindcss/oxide-linux-x64-gnu4.2.2间接
npm@tailwindcss/oxide-linux-x64-musl4.2.2间接
npm@tailwindcss/oxide-wasm32-wasi4.2.2间接
npm@tailwindcss/oxide-win32-arm64-msvc4.2.2间接
npm@tailwindcss/oxide-win32-x64-msvc4.2.2间接
npm@tsconfig/node2222.0.5间接
npm@tybys/wasm-util0.10.1间接
npm@types/esrecurse4.3.1间接
npm@types/estree1.0.8间接
npm@types/jsesc2.5.1间接
npm@types/json-schema7.0.15间接
npm@types/node25.9.1间接
npm@types/web-bluetooth0.0.21间接
npm@typescript-eslint/eslint-plugin8.58.2间接
npm@typescript-eslint/parser8.58.2间接
npm@typescript-eslint/project-service8.58.2间接
npm@typescript-eslint/scope-manager8.58.2间接
npm@typescript-eslint/tsconfig-utils8.58.2间接
npm@typescript-eslint/type-utils8.58.2间接
npm@typescript-eslint/types8.58.2间接
npm@typescript-eslint/typescript-estree8.58.2间接
npm@typescript-eslint/utils8.58.2间接
npm@typescript-eslint/visitor-keys8.58.2间接
npm@vitejs/plugin-vue6.0.7间接
npm@volar/language-core2.4.28间接
npm@volar/source-map2.4.28间接
npm@volar/typescript2.4.28间接
npm@vue-macros/common3.1.2间接
npm@vue/babel-helper-vue-transform-on1.5.0间接
npm@vue/babel-plugin-jsx1.5.0间接
npm@vue/babel-plugin-resolve-type1.5.0间接
npm@vue/compiler-core3.5.35间接
npm@vue/compiler-dom3.5.35间接
npm@vue/compiler-sfc3.5.35间接
npm@vue/compiler-ssr3.5.35间接
npm@vue/devtools-api6.6.4间接
npm@vue/devtools-api7.7.9间接
npm@vue/devtools-api8.1.2间接
npm@vue/devtools-core8.1.2间接
npm@vue/devtools-kit7.7.9间接
npm@vue/devtools-kit8.1.2间接
npm@vue/devtools-shared7.7.9间接
npm@vue/devtools-shared8.1.2间接
npm@vue/eslint-config-prettier10.2.0间接
npm@vue/eslint-config-typescript14.7.0间接
npm@vue/language-core3.3.3间接
npm@vue/reactivity3.5.35间接
npm@vue/runtime-core3.5.35间接
npm@vue/runtime-dom3.5.35间接
npm@vue/server-renderer3.5.35间接
npm@vue/shared3.5.35间接
npm@vue/tsconfig0.9.1间接
npm@vuetify/loader-shared2.1.2间接
npm@vueuse/metadata14.3.0间接
npm@vueuse/shared14.3.0间接
npmacorn8.16.0间接
npmacorn-jsx5.3.2间接
npmagent-base6.0.2间接
npmajv6.14.0间接
npmalien-signals3.2.1间接
npmansi-styles6.2.3间接
npmansis4.2.0间接
npmast-kit2.2.0间接
npmast-walker-scope0.9.0间接
npmasynckit0.4.0间接
npmbalanced-match4.0.4间接
npmbaseline-browser-mapping2.10.33间接
npmbirpc2.9.0间接
npmboolbase1.0.0间接
npmbrace-expansion5.0.5间接
npmbraces3.0.3间接
npmbrowserslist4.28.2间接
npmbundle-name4.1.0间接
npmcall-bind-apply-helpers1.0.2间接
npmcaniuse-lite1.0.30001793间接
npmchokidar5.0.0间接
npmcolorjs.io0.5.2间接
npmcombined-stream1.0.8间接
npmconfbox0.1.8间接
npmconfbox0.2.4间接
npmconvert-source-map2.0.0间接
npmcopy-anything4.0.5间接
npmcross-spawn7.0.6间接
npmcss-tree3.2.1间接
npmcssesc3.0.0间接
npmcsstype3.2.3间接
npmdebug4.4.3间接
npmdeep-is0.1.4间接
npmdefault-browser5.5.0间接
npmdefault-browser-id5.0.1间接
npmdefine-lazy-prop3.0.0间接
npmdelayed-stream1.0.0间接
npmdetect-libc2.1.2间接
npmdunder-proto1.0.1间接
npmelectron-to-chromium1.5.364间接
npmenhanced-resolve5.20.1间接
npmentities7.0.1间接
npmerror-stack-parser-es1.0.5间接
npmes-define-property1.0.1间接
npmes-errors1.3.0间接
npmes-object-atoms1.1.1间接
npmes-set-tostringtag2.1.0间接
npmesbuild0.27.7间接
npmescalade3.2.0间接
npmescape-string-regexp4.0.0间接
npmescape-string-regexp5.0.0间接
npmeslint10.4.1间接
npmeslint-config-prettier10.1.8间接
npmeslint-plugin-prettier5.5.5间接
npmeslint-plugin-vue10.8.0间接
npmeslint-scope9.1.2间接
npmeslint-visitor-keys3.4.3间接
npmeslint-visitor-keys5.0.1间接
npmespree11.2.0间接
npmesquery1.7.0间接
npmesrecurse4.3.0间接
npmestraverse5.3.0间接
npmestree-walker2.0.2间接
npmestree-walker3.0.3间接
npmesutils2.0.3间接
npmexsolve1.0.8间接
npmfast-deep-equal3.1.3间接
npmfast-diff1.3.0间接
npmfast-glob3.3.3间接
npmfast-json-stable-stringify2.1.0间接
npmfast-levenshtein2.0.6间接
npmfastq1.20.1间接
npmfdir6.5.0间接
npmfile-entry-cache8.0.0间接
npmfill-range7.1.1间接
npmfind-up5.0.0间接
npmflat-cache4.0.1间接
npmflatted3.4.2间接
npmfollow-redirects1.16.0间接
npmfontaine0.8.0间接
npmfontkitten1.0.3间接
npmform-data4.0.5间接
npmfsevents2.3.3间接
npmfunction-bind1.1.2间接
npmgensync1.0.0-beta.2间接
npmget-intrinsic1.3.0间接
npmget-proto1.0.1间接
npmglob-parent5.1.2间接
npmglob-parent6.0.2间接
npmgopd1.2.0间接
npmgraceful-fs4.2.11间接
npmhas-flag4.0.0间接
npmhas-symbols1.1.0间接
npmhas-tostringtag1.0.2间接
npmhasown2.0.2间接
npmhookable5.5.3间接
npmhttps-proxy-agent5.0.1间接
npmignore5.3.2间接
npmignore7.0.5间接
npmimmutable5.1.5间接
npmimurmurhash0.1.4间接
npmis-docker3.0.0间接
npmis-extglob2.1.1间接
npmis-glob4.0.3间接
npmis-inside-container1.0.0间接
npmis-number7.0.0间接
npmis-what5.5.0间接
npmis-wsl3.1.1间接
npmisexe2.0.0间接
npmisexe3.1.5间接
npmjiti2.6.1间接
npmjs-tokens4.0.0间接
npmjs-tokens9.0.1间接
npmjsesc3.1.0间接
npmjson-buffer3.0.1间接
npmjson-parse-even-better-errors4.0.0间接
npmjson-schema-traverse0.4.1间接
npmjson-stable-stringify-without-jsonify1.0.1间接
npmjson52.2.3间接
npmkeyv4.5.4间接
npmkolorist1.8.0间接
npmlevn0.4.1间接
npmlightningcss1.32.0间接
npmlightningcss-android-arm641.32.0间接
npmlightningcss-darwin-arm641.32.0间接
npmlightningcss-darwin-x641.32.0间接
npmlightningcss-freebsd-x641.32.0间接
npmlightningcss-linux-arm-gnueabihf1.32.0间接
npmlightningcss-linux-arm64-gnu1.32.0间接
npmlightningcss-linux-arm64-musl1.32.0间接
npmlightningcss-linux-x64-gnu1.32.0间接
npmlightningcss-linux-x64-musl1.32.0间接
npmlightningcss-win32-arm64-msvc1.32.0间接
npmlightningcss-win32-x64-msvc1.32.0间接
npmlocal-pkg1.2.1间接
npmlocate-path6.0.0间接
npmlru-cache5.1.1间接
npmmagic-regexp0.10.0间接
npmmagic-string0.30.21间接
npmmagic-string-ast1.0.3间接
npmmath-intrinsics1.1.0间接
npmmdn-data2.27.1间接
npmmemorystream0.3.1间接
npmmerge21.4.1间接
npmmicromatch4.0.8间接
npmmime-db1.52.0间接
npmmime-types2.1.35间接
npmminimatch10.2.5间接
npmmitt3.0.1间接
npmmlly1.8.2间接
npmmrmime2.0.1间接
npmms2.1.3间接
npmmuggle-string0.4.1间接
npmnanoid3.3.12间接
npmnatural-compare1.4.0间接
npmnode-addon-api7.1.1间接
npmnode-releases2.0.46间接
npmnpm-normalize-package-bin4.0.0间接
npmnpm-run-all28.0.4间接
npmnth-check2.1.1间接
npmobug2.1.1间接
npmohash2.0.11间接
npmopen10.2.0间接
npmoptionator0.9.4间接
npmp-limit3.1.0间接
npmp-locate5.0.0间接
npmpath-browserify1.0.1间接
npmpath-exists4.0.0间接
npmpath-key3.1.1间接
npmpathe2.0.3间接
npmperfect-debounce1.0.0间接
npmperfect-debounce2.1.0间接
npmpicocolors1.1.1间接
npmpicomatch2.3.2间接
npmpicomatch4.0.4间接
npmpidtree0.6.0间接
npmpinia3.0.4间接
npmpkg-types1.3.1间接
npmpkg-types2.3.0间接
npmpostcss8.5.15间接
npmpostcss-selector-parser7.1.1间接
npmprelude-ls1.2.1间接
npmprettier3.8.3间接
npmprettier-linter-helpers1.0.1间接
npmproxy-from-env2.1.0间接
npmpunycode2.3.1间接
npmquansync0.2.11间接
npmqueue-microtask1.2.3间接
npmread-package-json-fast4.0.0间接
npmreaddirp5.0.0间接
npmregexp-tree0.1.27间接
npmreusify1.1.0间接
npmrfdc1.4.1间接
npmrolldown1.0.2间接
npmrun-applescript7.1.0间接
npmrun-parallel1.2.0间接
npmrxjs7.8.2间接
npmsass1.100.0间接
npmsass-embedded1.100.0间接
npmsass-embedded-all-unknown1.100.0间接
npmsass-embedded-android-arm1.100.0间接
npmsass-embedded-android-arm641.100.0间接
npmsass-embedded-android-riscv641.100.0间接
npmsass-embedded-android-x641.100.0间接
npmsass-embedded-darwin-arm641.100.0间接
npmsass-embedded-darwin-x641.100.0间接
npmsass-embedded-linux-arm1.100.0间接
npmsass-embedded-linux-arm641.100.0间接
npmsass-embedded-linux-musl-arm1.100.0间接
npmsass-embedded-linux-musl-arm641.100.0间接
npmsass-embedded-linux-musl-riscv641.100.0间接
npmsass-embedded-linux-musl-x641.100.0间接
npmsass-embedded-linux-riscv641.100.0间接
npmsass-embedded-linux-x641.100.0间接
npmsass-embedded-unknown-all1.100.0间接
npmsass-embedded-win32-arm641.100.0间接
npmsass-embedded-win32-x641.100.0间接
npmscule1.3.0间接
npmsemver6.3.1间接
npmsemver7.7.4间接
npmshebang-command2.0.0间接
npmshebang-regex3.0.0间接
npmshell-quote1.8.3间接
npmsirv3.0.2间接
npmsource-map-js1.2.1间接
npmspeakingurl14.0.1间接
npmstrip-literal3.1.0间接
npmsuperjson2.2.6间接
npmsupports-color8.1.1间接
npmsync-child-process1.0.2间接
npmsync-message-port1.2.0间接
npmsynckit0.11.12间接
npmtailwindcss4.2.2间接
npmtailwindcss4.3.0间接
npmtapable2.3.2间接
npmtiny-inflate1.0.3间接
npmtinyglobby0.2.16间接
npmto-regex-range5.0.1间接
npmtotalist3.0.1间接
npmts-api-utils2.5.0间接
npmtslib2.8.1间接
npmtype-check0.4.0间接
npmtype-level-regexp0.1.17间接
npmtypescript6.0.3间接
npmtypescript-eslint8.58.2间接
npmufo1.6.3间接
npmundici-types7.24.6间接
npmunimport5.7.0间接
npmunplugin2.3.11间接
npmunplugin3.0.0间接
npmunplugin-fonts2.0.0间接
npmunplugin-utils0.3.1间接
npmunplugin-vue-components32.1.0间接
npmupath2.0.1间接
npmupdate-browserslist-db1.2.3间接
npmuri-js4.4.1间接
npmutil-deprecate1.0.2间接
npmvarint6.0.0间接
npmvite8.0.14间接
npmvite-dev-rpc1.1.0间接
npmvite-hot-client2.1.0间接
npmvite-plugin-inspect11.3.3间接
npmvite-plugin-vue-devtools8.1.2间接
npmvite-plugin-vue-inspector6.0.0间接
npmvite-plugin-vuetify2.1.3间接
npmvscode-uri3.1.0间接
npmvue-demi0.13.11间接
npmvue-eslint-parser10.4.0间接
npmvue-tsc3.3.3间接
npmwebpack-virtual-modules0.6.2间接
npmwhich2.0.2间接
npmwhich5.0.0间接
npmword-wrap1.2.5间接
npmwsl-utils0.1.0间接
npmxml-name-validator4.0.0间接
npmyallist3.1.1间接
npmyaml2.9.0间接
npmyocto-queue0.1.0间接
依赖安全公告 7

该仓库未发布可被索引解析的包,因此评估的是其自身的依赖图——共 517 个包,其中也包含从不交付的开发与测试版本固定:7 个存在已知公告,1 个为直接依赖。

软件包版本关系严重程度公告数修复版本
shell-quote1.8.3间接严重21.9.0
axios1.16.1直接101.18.0
brace-expansion5.0.5间接25.0.7
form-data4.0.5间接14.0.6
immutable5.1.5间接25.1.8
vite8.0.14间接28.0.16
esbuild0.27.7间接10.28.1

公告表示依赖图中记录的版本落入某条公告的受影响范围。可达性未经分析,且依赖图包含开发与测试的版本固定——某项发现可能只涉及工具链而非交付的软件。

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 3667,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "C#": 512528,
        "CSS": 386,
        "Vue": 96578,
        "HTML": 343,
        "SCSS": 559,
        "Batchfile": 418,
        "Dockerfile": 409,
        "PowerShell": 2874,
        "TypeScript": 34006
      },
      "pushed_at": "2026-06-25T10:06:09Z",
      "created_at": "2017-09-30T06:42:49Z",
      "owner_type": "Organization",
      "updated_at": "2026-06-25T09:46:06Z",
      "description": "A simple identity and access control implementation.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "BSD-3-Clause",
      "default_branch": "master",
      "license_spdx_raw": "BSD-3-Clause",
      "primary_language": "C#",
      "significant_languages": [
        "C#",
        "Vue"
      ]
    },
    "owner": {
      "blog": "https://pendel.co.za",
      "name": "Shuttle",
      "type": "Organization",
      "login": "Shuttle",
      "company": null,
      "location": "Johannesburg, South Africa",
      "followers": 17,
      "avatar_url": "https://avatars.githubusercontent.com/u/5842503?v=4",
      "created_at": "2013-11-03T09:45:15Z",
      "is_verified": null,
      "public_repos": 145,
      "account_age_days": 4645
    },
    "license": {
      "state": "standard",
      "spdx_id": "BSD-3-Clause",
      "raw_spdx": "BSD-3-Clause",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v11.0.3",
          "kind": "patch",
          "published_at": "2026-06-25T10:06:09Z"
        },
        {
          "tag": "v10.1.4",
          "kind": "patch",
          "published_at": "2026-06-08T06:34:03Z"
        },
        {
          "tag": "v10.1.1",
          "kind": "patch",
          "published_at": "2026-06-04T17:29:42Z"
        },
        {
          "tag": "v10.1.0",
          "kind": "minor",
          "published_at": "2026-06-03T08:00:22Z"
        },
        {
          "tag": "v10.0.4",
          "kind": "patch",
          "published_at": "2026-06-02T08:35:07Z"
        },
        {
          "tag": "v10.0.1",
          "kind": "patch",
          "published_at": "2026-05-23T12:20:25Z"
        },
        {
          "tag": "v10.0.0",
          "kind": "major",
          "published_at": "2026-05-23T05:21:20Z"
        },
        {
          "tag": "v9.0.8",
          "kind": "patch",
          "published_at": "2026-05-10T15:41:10Z"
        },
        {
          "tag": "v9.0.7",
          "kind": "patch",
          "published_at": "2026-04-20T16:50:40Z"
        },
        {
          "tag": "v9.0.5",
          "kind": "patch",
          "published_at": "2026-04-19T14:42:11Z"
        },
        {
          "tag": "v9.0.4",
          "kind": "patch",
          "published_at": "2026-04-18T19:18:59Z"
        },
        {
          "tag": "v9.0.2",
          "kind": "patch",
          "published_at": "2026-04-17T05:29:57Z"
        },
        {
          "tag": "v8.1.0",
          "kind": "minor",
          "published_at": "2025-07-31T17:50:22Z"
        },
        {
          "tag": "v8.0.0",
          "kind": "major",
          "published_at": "2025-06-07T17:34:47Z"
        },
        {
          "tag": "v7.3.0",
          "kind": "minor",
          "published_at": "2025-05-20T03:34:58Z"
        },
        {
          "tag": "v7.2.2",
          "kind": "patch",
          "published_at": "2025-04-14T09:50:28Z"
        },
        {
          "tag": "v6.0.2",
          "kind": "patch",
          "published_at": "2025-02-26T15:43:43Z"
        },
        {
          "tag": "v-sites",
          "kind": "other",
          "published_at": "2020-10-20T06:00:55Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "11d3481ab330a68f2c2e6630c195be4cad15768a",
          "body": null,
          "is_bot": false,
          "headline": "PassThroughNotSupportedOnInterceptor.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-25T09:45:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85bdf1fce221db9d445192e3780d01a9e50e527c",
          "body": null,
          "is_bot": false,
          "headline": "Pass-through added back.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-25T08:58:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f5a6501c48bc69160b6836d12aafb28dbdeea0f",
          "body": null,
          "is_bot": false,
          "headline": "v11.0.2",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-24T12:20:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "973ca56ddf9df9520133b3e481e6d8d69b0dd3ec",
          "body": null,
          "is_bot": false,
          "headline": "Fixture fixes.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-24T12:17:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "209138179b15dc14394bc066cbd202cc8f8745a6",
          "body": null,
          "is_bot": false,
          "headline": "Session retrieval.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-24T11:46:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9cd2f50a77c71723daf512e4a8217fc14882952",
          "body": null,
          "is_bot": false,
          "headline": "GetSelf.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-24T11:15:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0dc3ae29916846ebcd1751000b59f4a9ee8458b9",
          "body": null,
          "is_bot": false,
          "headline": "Session / self.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-24T11:00:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87eebcb9473eaeee79d1736964935a96a507ce65",
          "body": null,
          "is_bot": false,
          "headline": "Authentication interceptor pass-though codefix.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-24T08:40:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "155d9eece34fa053207a0980d8ab526c59ad0d96",
          "body": null,
          "is_bot": false,
          "headline": "v11.0.0",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-24T07:42:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "923c61cb9970523913c842f711a09c3fd77f894f",
          "body": null,
          "is_bot": false,
          "headline": "SessionToken implementation.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-23T17:55:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d23135ed8767961da74d547aff0534b07859241b",
          "body": null,
          "is_bot": false,
          "headline": "Registration / v10.1.4",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-08T06:21:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3cdfa9c52773729c7d9d53625ffb4b9539553255",
          "body": null,
          "is_bot": false,
          "headline": "Session deletion fix.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-05T07:27:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f874187d5fc989216bf4628e58db899f1569311",
          "body": null,
          "is_bot": false,
          "headline": "UI session expansion.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-05T06:49:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e0c677f249bda86809a032fb4249a1aed226e7a",
          "body": null,
          "is_bot": false,
          "headline": "v10.1.2",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-05T06:18:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a7f63527c8a1bff310823c831394bba2f5789e1c",
          "body": null,
          "is_bot": false,
          "headline": "Session fixes / v10.1.2",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-05T06:11:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e388318b43285ce8648ff57866efc605fee7e8f6",
          "body": null,
          "is_bot": false,
          "headline": "Session renewal / configuration / v10.1.1",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-04T17:27:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f44383653bbe3c55a7abca00b73cd8e8650830f",
          "body": null,
          "is_bot": false,
          "headline": "Application-specific sessions.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-03T07:58:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca0d8df358213f3a57baf372134e6101266350a4",
          "body": null,
          "is_bot": false,
          "headline": "Application-specific sessions.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-02T19:24:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44f8e41b7dfaa9d06ac7fa1730cd8a805ff4835a",
          "body": null,
          "is_bot": false,
          "headline": "Session fix.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-06-01T20:49:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4987885f9f306f8b7994be5be95b52d74dcb7ca",
          "body": null,
          "is_bot": false,
          "headline": "Package update.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-31T17:48:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e97009f6ff667c051651c576a881e3410fd5ac9",
          "body": null,
          "is_bot": false,
          "headline": "Removed pass-through / v10.0.2",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-31T16:30:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aceca16e88fe14a52a69b595779c4a3f7c603e92",
          "body": null,
          "is_bot": false,
          "headline": "Session.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-23T17:30:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c576409a4abbd59e4a65874e9f17c04a9352275e",
          "body": null,
          "is_bot": false,
          "headline": "Session registration / v10.0.1",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-23T10:12:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5fc687135ab81a193bcb4639dc389c2fe77a6c6",
          "body": "V10",
          "is_bot": false,
          "headline": "Merge pull request #37 from Shuttle/v10",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-23T05:12:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3aa094618fdf9eab0ed3df39ed977d528c344aef",
          "body": null,
          "is_bot": false,
          "headline": "v10.0.0",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-23T05:12:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a72039603066e1bff6f5e97c716f50744b0cb766",
          "body": null,
          "is_bot": false,
          "headline": "OAuth / tenant permissions.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-20T18:08:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86ebdc62b796763e29b32deff6f5738090690aa5",
          "body": null,
          "is_bot": false,
          "headline": "Return all permissions for all tenants / Using string as token hash.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-17T15:25:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "94299477806d658ede1008a2700be741e173cc62",
          "body": null,
          "is_bot": false,
          "headline": "v9.0.8",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-10T10:11:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b2cd3df8c3971cdc8c9e1a287d795cbf54fec16",
          "body": null,
          "is_bot": false,
          "headline": "Returning system tenant id in configuration.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-10T10:11:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "098cda73dfbd2b9953755b393afc109582c35b34",
          "body": null,
          "is_bot": false,
          "headline": "Fixed identity role status.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-10T10:10:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "350e2da3a07610af58418f7321065624df40af24",
          "body": null,
          "is_bot": false,
          "headline": "System tenant restriction / tenant display and selection.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-10T10:10:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9dcec92c97f175b3441111dd4d3807b5be397c44",
          "body": null,
          "is_bot": false,
          "headline": "Tenant inclusion.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-10T10:09:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77c796be66fad2d82136c0f893e76449e146992f",
          "body": null,
          "is_bot": false,
          "headline": "Tenant inclusion.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-10T10:09:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6503fe649be37a558b1ab736d7f55e20805370cf",
          "body": null,
          "is_bot": false,
          "headline": "Fixed Specification `_excludedIds`.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-10T09:59:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "355f62d605da63426dc342bef386fb5121893c1c",
          "body": null,
          "is_bot": false,
          "headline": "Checking that identity is in tenant before adding role.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-05-09T18:31:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fef756e891e81d64e336dd76dd37fc838004637c",
          "body": null,
          "is_bot": false,
          "headline": "Fixed some tenant scoping on searches.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-20T16:41:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "942f634fb089aac699544839ad2249638278d12c",
          "body": null,
          "is_bot": false,
          "headline": "Fixed role registration.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-20T15:49:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d90cc517e3440eec89dd633388f403c6a7a16fd",
          "body": null,
          "is_bot": false,
          "headline": "v9.0.5 / Fixed tenant registration / UX identity roles.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-19T14:32:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "92499371d21bbc72230e1a377aac6642cfb6433f",
          "body": null,
          "is_bot": false,
          "headline": "UX / Password has registration / Configuration.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-18T19:14:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c222b542be952b3d7424dcf7016a64b2adad4be9",
          "body": null,
          "is_bot": false,
          "headline": "Fixed identity registration.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-18T05:34:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "204c1f5403e5938ab2597bfdd77f7966d4bcdfba",
          "body": null,
          "is_bot": false,
          "headline": "v9.0.2",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-17T05:28:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de2f72cfe976db1fcb2c73d5f162d79f571b08df",
          "body": null,
          "is_bot": false,
          "headline": "Fixed unreachable code.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-17T05:19:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30ef0162bff5ab73aa5d796f11e8ce8f7ef9fcce",
          "body": null,
          "is_bot": false,
          "headline": "Fixed merge error.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-17T05:13:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce826336248312e1287b4c3c8a4a5362abb61d96",
          "body": "V9",
          "is_bot": false,
          "headline": "Merge pull request #36 from Shuttle/v9",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-17T05:06:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "65c3bf8793ed9414e66e4586a4c7747ce16d07df",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'master' into v9",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-17T05:05:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a4785abf5cba5ff936a5871a29ace56939d539c",
          "body": null,
          "is_bot": false,
          "headline": "v9.0.1",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-17T05:01:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7427c44c36786a1d00e5c65354b16ae4942a5eaf",
          "body": null,
          "is_bot": false,
          "headline": "Minor fixes.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-15T09:31:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "265c29dbdba9243d1d94afb828cd2030a4d2c54f",
          "body": null,
          "is_bot": false,
          "headline": "Configure options.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-12T08:21:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c498a41ce9d688bbc34066be442e6bd4fa43dd63",
          "body": null,
          "is_bot": false,
          "headline": "Configure options.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-11T17:10:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2c12ef241d8cc3f3e1f0269db53fafec02f4a88c",
          "body": null,
          "is_bot": false,
          "headline": "Shuttle.Core refactoring / Configuration.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-04-09T18:46:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a287a01b702c58afd9949744623c64a331e80fc",
          "body": null,
          "is_bot": false,
          "headline": "9.0.0-rc7",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-26T18:35:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd456adeebe60db358179c524c7fd222b7fbe33f",
          "body": null,
          "is_bot": false,
          "headline": "9.0.0-rc6",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-25T18:06:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d7b83fb3b8ffb73612e31841f2f18ee3ef7f6ca",
          "body": null,
          "is_bot": false,
          "headline": "Role identities.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-24T18:13:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4e61e5e3ee789c52631373fd5995e5bbdf66f54",
          "body": null,
          "is_bot": false,
          "headline": "UI session.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-22T17:08:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d21fa019e0cf67a4540f4eee36b03339f61a45e",
          "body": null,
          "is_bot": false,
          "headline": "Removed unused `using`.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-22T09:42:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a10f708b571295a88b7ea52fe3d7529acabfe2e",
          "body": null,
          "is_bot": false,
          "headline": "Session management.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-22T09:41:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "228df2ff6c1f8629aff25e547c7af91665cd6d4e",
          "body": null,
          "is_bot": false,
          "headline": "9.0.0-rc4",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-21T16:45:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "423eb9275bfa13f16afce114eb706a84a2d141a6",
          "body": null,
          "is_bot": false,
          "headline": "Removed session repository.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-19T16:36:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae2c03dfb4a5f5398bd8f50ee6836254a41bbd31",
          "body": null,
          "is_bot": false,
          "headline": "Minor session fixes.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-19T15:15:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5325674a742d61997189d686a14f486ff59be9e2",
          "body": null,
          "is_bot": false,
          "headline": "Session management.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-18T19:32:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "304611e35b658dcf8969488de356bdad45678217",
          "body": null,
          "is_bot": false,
          "headline": "Sanity test with blank db.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-16T17:35:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3d01241360e374d2d462ca0827bf32ce6586456",
          "body": null,
          "is_bot": false,
          "headline": "Simplified patching.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-15T19:24:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ef5d55c3366bfdbadb8dae527eb85e41acc0776",
          "body": null,
          "is_bot": false,
          "headline": "Restructure.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-15T15:44:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8cb743306e5190958d581ac545a44dd6edc6cd9",
          "body": null,
          "is_bot": false,
          "headline": "Logging / tenant selection.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-10T17:44:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce748446cc629fd2209685107d3e6e8e5d2f9246",
          "body": null,
          "is_bot": false,
          "headline": "9.0.0-rc2",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-02T19:01:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6b356e159f357596468e9810395c2dc3214e93d",
          "body": null,
          "is_bot": false,
          "headline": "OAuth / session management.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-03-01T17:05:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7dfd298f0bbbd457054d56da131e008840db76d1",
          "body": null,
          "is_bot": false,
          "headline": "Renaming.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-28T18:56:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "879db547d94e6a10f9459a8106611a6b39ab47ce",
          "body": null,
          "is_bot": false,
          "headline": "Do not initialize on `/oauth` / minor refactoring.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-28T15:18:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3552a14bb339e477e20c83ade081e561f3115f7e",
          "body": null,
          "is_bot": false,
          "headline": "Checkpoint / tests passing.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-27T19:09:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca965a6f46e49bd7fa21978d509186f9df536875",
          "body": "…nContext / OAuth.",
          "is_bot": false,
          "headline": "Unique role name per tenant / Dropped session token exchange / Sessio…",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-25T19:44:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f0432f269e6534c055ec8bf8e340e491e7cbb7c",
          "body": null,
          "is_bot": false,
          "headline": "Minor bug fixes to get tests passing.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-24T10:05:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "413efa1e4912b0eeb0f16f756ecff8b2ea7c30ca",
          "body": null,
          "is_bot": false,
          "headline": "Removed mediator helper messages.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-23T18:43:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45098f997b9d9b072c32ad4b3ecbaf19b665c504",
          "body": null,
          "is_bot": false,
          "headline": "Tenant selection.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-21T11:22:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3cb247b438ba728855e519e00ff84bec90f39dc",
          "body": null,
          "is_bot": false,
          "headline": "Tenant checkpoint.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-18T19:16:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "88cd3bb1065d67f7e202de884a9126ceab77db61",
          "body": null,
          "is_bot": false,
          "headline": "Drawers.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-16T18:22:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1769ddbae5b9a4d5b0ed32aa0423adb46ee07950",
          "body": null,
          "is_bot": false,
          "headline": "Message handler refactoring.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-16T16:27:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "368c3937072a9a7bbdec31229e3a08f38c172463",
          "body": null,
          "is_bot": false,
          "headline": "OAuth provider groups.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-13T17:40:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a3c9015b717f9b53275a7a0ca790fa871ad4677",
          "body": null,
          "is_bot": false,
          "headline": "21.0.1-rc1 refactoring.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-13T17:24:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0be33adacca6b1318be3f739889287937e7fc6eb",
          "body": null,
          "is_bot": false,
          "headline": "Navbar.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-07T11:16:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9908407386840a5cd421258d41be5f432caa6682",
          "body": null,
          "is_bot": false,
          "headline": "AuditTenantId.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-02T18:08:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d40a5a8c4f71a89ae83965ef4817385cbbf84f6",
          "body": null,
          "is_bot": false,
          "headline": "Deployment.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-01T14:28:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e21afcae423bbb883984f1286f2e4a7d7c8b97d",
          "body": null,
          "is_bot": false,
          "headline": "Migrations / docker push pre-release.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-02-01T07:38:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d8fdea1d71de3aacf4bb6158fa4715f030313604",
          "body": null,
          "is_bot": false,
          "headline": "Authorization / caching working.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-31T17:51:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f33608a4435c5aceac2b3829ee52e19294ac3203",
          "body": null,
          "is_bot": false,
          "headline": "v-beta tests passing.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-31T14:52:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3775de234532304c949a0c75195cbdfeae97e4f",
          "body": null,
          "is_bot": false,
          "headline": "Keep alive / Removed known applications.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-29T19:33:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "801dba1f470868e922a63c512716a4183acbcb95",
          "body": null,
          "is_bot": false,
          "headline": "UX.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-25T05:49:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "00ce60bf6e799b365ea5c6940e262c3e364e6e82",
          "body": null,
          "is_bot": false,
          "headline": "Icons.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-24T16:20:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70effa98e2070bb3d93b129dff8c82e65134b4d7",
          "body": null,
          "is_bot": false,
          "headline": "Fixtures passing.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-24T10:36:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "002055df919b88ab721a3a1a32f777736177bff1",
          "body": null,
          "is_bot": false,
          "headline": "Audit.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-24T05:34:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d3aba6f7594a5d5ccc11554e7b6a5329cf351add",
          "body": null,
          "is_bot": false,
          "headline": "Removed project query classes.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-24T04:15:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "593c672136c7aa6d04f08e03aff7073993601a86",
          "body": null,
          "is_bot": false,
          "headline": "Auditing / deferred handling.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-22T19:15:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f33da6f7da5dddc6f2651723ec2898319debe60",
          "body": null,
          "is_bot": false,
          "headline": "Tenant status change implementation.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-18T04:59:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aafbee1939e642158292de29ec85e4b2b78af4b5",
          "body": null,
          "is_bot": false,
          "headline": "Added tenants logo columns.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-18T03:36:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6134b08722c1212105c6ecf729b2be9a62ab1ce3",
          "body": null,
          "is_bot": false,
          "headline": "Tenants status display.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-18T03:20:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9f364cc8bfd97e92d85a0328319204ea463a66a",
          "body": null,
          "is_bot": false,
          "headline": "Initial Tenants search.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-18T03:10:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ff9b2cb1665aa6ced46eb3da8f3eac9441cc26f",
          "body": null,
          "is_bot": false,
          "headline": "Added Tenant endpoints.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-18T03:00:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08d2f52242125d911718e63d17492b53d4710a92",
          "body": null,
          "is_bot": false,
          "headline": "Added Tenants route.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-18T02:45:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5047ca1a1bd1dd2585c667e446a1e9636a893052",
          "body": null,
          "is_bot": false,
          "headline": "Sign-in/out.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-17T19:18:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd5eee6cc63a9118d7b3a38f82b5473609562ebb",
          "body": null,
          "is_bot": false,
          "headline": "Tenant migration.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-17T16:57:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc87c93d0d1022a91fca5d1913b1193e4c218ffc",
          "body": null,
          "is_bot": false,
          "headline": "Tenant refactoring checkpoint.",
          "author_name": "Eben",
          "author_login": "eben-roux",
          "committed_at": "2026-01-16T18:39:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 18,
      "commits_last_year": 126,
      "latest_release_at": "2026-06-25T10:06:09Z",
      "latest_release_tag": "v11.0.3",
      "releases_from_tags": false,
      "days_since_last_push": 28,
      "active_weeks_last_year": 27,
      "days_since_latest_release": 28,
      "mean_days_between_releases": 7.4
    },
    "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": "Shuttle.Access.Application",
          "exists": true,
          "license": null,
          "keywords": [
            "iam",
            "identity",
            "authorization",
            "authentication",
            "security",
            "permissions"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/Shuttle.Access.Application",
          "is_deprecated": false,
          "latest_version": "11.0.4",
          "repository_url": "https://github.com/Shuttle/Shuttle.Access",
          "versions_count": 42,
          "total_downloads": 10440,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-24T06:48:43.463000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "Shuttle.Access.AspNetCore",
          "exists": true,
          "license": null,
          "keywords": [
            "iam",
            "middleware",
            "authorization",
            "permissions"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/Shuttle.Access.AspNetCore",
          "is_deprecated": false,
          "latest_version": "11.0.4",
          "repository_url": "https://github.com/Shuttle/Shuttle.Access",
          "versions_count": 45,
          "total_downloads": 11127,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-24T06:48:51.130000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "Shuttle.Access.Messages",
          "exists": true,
          "license": null,
          "keywords": [
            "iam",
            "identity",
            "authorization",
            "authentication",
            "security",
            "permissions"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/Shuttle.Access.Messages",
          "is_deprecated": false,
          "latest_version": "11.0.4",
          "repository_url": "https://github.com/Shuttle/Shuttle.Access",
          "versions_count": 41,
          "total_downloads": 14817,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-24T06:47:32.523000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "Shuttle.Access.RestClient",
          "exists": true,
          "license": null,
          "keywords": [
            "iam",
            "identity",
            "access",
            "restclient",
            "client"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/Shuttle.Access.RestClient",
          "is_deprecated": false,
          "latest_version": "11.0.4",
          "repository_url": "https://github.com/Shuttle/Shuttle.Access",
          "versions_count": 52,
          "total_downloads": 13674,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-24T06:49:05.677000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        },
        {
          "name": "Shuttle.Access.SqlServer",
          "exists": true,
          "license": null,
          "keywords": [
            "iam",
            "identity",
            "authorization",
            "authentication",
            "security",
            "permissions"
          ],
          "ecosystem": "nuget",
          "matches_repo": true,
          "registry_url": "https://www.nuget.org/packages/Shuttle.Access.SqlServer",
          "is_deprecated": false,
          "latest_version": "11.0.4",
          "repository_url": "https://github.com/Shuttle/Shuttle.Access",
          "versions_count": 23,
          "total_downloads": 3754,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-24T06:48:34.473000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        }
      ]
    },
    "popularity": {
      "forks": 3,
      "stars": 5,
      "watchers": 1,
      "fork_history": {
        "days": [
          {
            "date": "2018-03-16",
            "count": 1
          },
          {
            "date": "2021-08-20",
            "count": 1
          },
          {
            "date": "2025-06-04",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 3,
        "total_forks": 3
      },
      "star_history": null,
      "open_issues_and_prs": 6
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "Shuttle.Access.Vue/tsconfig.json"
      ],
      "toolchain_manifests": [
        "Shuttle.Access.Application/Shuttle.Access.Application.csproj",
        "Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj",
        "Shuttle.Access.Messages/Shuttle.Access.Messages.csproj",
        "Shuttle.Access.RestClient/Shuttle.Access.RestClient.csproj",
        "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
        "Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj",
        "Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj",
        "Shuttle.Access.Tests/Shuttle.Access.Tests.csproj",
        "Shuttle.Access.WebApi.Contracts/Shuttle.Access.WebApi.Contracts.csproj",
        "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
        "Shuttle.Access/Shuttle.Access.csproj"
      ],
      "largest_source_bytes": 19195,
      "source_files_sampled": 390,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "Shuttle.Access.Application/Shuttle.Access.Application.csproj",
        "Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj",
        "Shuttle.Access.Messages/Shuttle.Access.Messages.csproj",
        "Shuttle.Access.RestClient/Shuttle.Access.RestClient.csproj",
        "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
        "Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj",
        "Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj",
        "Shuttle.Access.Tests/Shuttle.Access.Tests.csproj",
        "Shuttle.Access.Vue/package.json",
        "Shuttle.Access.WebApi.Contracts/Shuttle.Access.WebApi.Contracts.csproj",
        "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
        "Shuttle.Access/Shuttle.Access.csproj"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "shell-quote",
            "direct": false,
            "version": "1.8.3",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-395f-4hp3-45gv",
              "GHSA-w7jw-789q-3m8p"
            ],
            "fixed_version": "1.9.0",
            "advisory_count": 2,
            "oldest_advisory_days": 44
          },
          {
            "name": "axios",
            "direct": true,
            "version": "1.16.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.2,
            "advisory_ids": [
              "GHSA-42h9-826w-cgv3",
              "GHSA-7q8q-rj6j-mhjq",
              "GHSA-f4gw-2p7v-4548",
              "GHSA-gcfj-64vw-6mp9",
              "GHSA-hcpx-6fm6-wx23",
              "GHSA-jqh4-m9w3-8hp9",
              "GHSA-mmx7-hfxf-jppx",
              "GHSA-mwf2-3pr3-8698",
              "GHSA-pmv8-rq9r-6j72",
              "GHSA-xj6q-8x83-jv6g"
            ],
            "fixed_version": "1.18.0",
            "advisory_count": 10,
            "oldest_advisory_days": 3
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.5",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-jxxr-4gwj-5jf2"
            ],
            "fixed_version": "5.0.7",
            "advisory_count": 2,
            "oldest_advisory_days": 66
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "4.0.5",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-hmw2-7cc7-3qxx"
            ],
            "fixed_version": "4.0.6",
            "advisory_count": 1,
            "oldest_advisory_days": 38
          },
          {
            "name": "immutable",
            "direct": false,
            "version": "5.1.5",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-v56q-mh7h-f735",
              "GHSA-xvcm-6775-5m9r"
            ],
            "fixed_version": "5.1.8",
            "advisory_count": 2,
            "oldest_advisory_days": 2
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.0.14",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-fx2h-pf6j-xcff",
              "GHSA-v6wh-96g9-6wx3"
            ],
            "fixed_version": "8.0.16",
            "advisory_count": 2,
            "oldest_advisory_days": 38
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.27.7",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 2.5,
            "advisory_ids": [
              "GHSA-g7r4-m6w7-qqqr"
            ],
            "fixed_version": "0.28.1",
            "advisory_count": 1,
            "oldest_advisory_days": 41
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "low": 1,
          "high": 5,
          "critical": 1
        },
        "advisory_count": 20,
        "affected_count": 7,
        "assessed_count": 517,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 1
      },
      "ecosystems": [
        "npm",
        "nuget"
      ],
      "dependencies": [
        {
          "name": "Shuttle.Contract",
          "manifest": "Shuttle.Access.Application/Shuttle.Access.Application.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.1"
        },
        {
          "name": "Shuttle.Mediator",
          "manifest": "Shuttle.Access.Application/Shuttle.Access.Application.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.1"
        },
        {
          "name": "Shuttle.Hopper",
          "manifest": "Shuttle.Access.Application/Shuttle.Access.Application.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.2"
        },
        {
          "name": "Shuttle.Recall",
          "manifest": "Shuttle.Access.Application/Shuttle.Access.Application.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.3"
        },
        {
          "name": "Shuttle.Recall.SqlServer.EventProcessing",
          "manifest": "Shuttle.Access.Application/Shuttle.Access.Application.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.3"
        },
        {
          "name": "Shuttle.Recall.SqlServer.Storage",
          "manifest": "Shuttle.Access.Application/Shuttle.Access.Application.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.3"
        },
        {
          "name": "Microsoft.IdentityModel.JsonWebTokens",
          "manifest": "Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj",
          "ecosystem": "nuget",
          "version_constraint": "8.19.1"
        },
        {
          "name": "Shuttle.Contract",
          "manifest": "Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.1"
        },
        {
          "name": "Shuttle.Extensions.Options",
          "manifest": "Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.1"
        },
        {
          "name": "Shuttle.Contract",
          "manifest": "Shuttle.Access.Messages/Shuttle.Access.Messages.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.1"
        },
        {
          "name": "Refit",
          "manifest": "Shuttle.Access.RestClient/Shuttle.Access.RestClient.csproj",
          "ecosystem": "nuget",
          "version_constraint": "11.0.1"
        },
        {
          "name": "Refit.HttpClientFactory",
          "manifest": "Shuttle.Access.RestClient/Shuttle.Access.RestClient.csproj",
          "ecosystem": "nuget",
          "version_constraint": "11.0.1"
        },
        {
          "name": "Shuttle.Contract",
          "manifest": "Shuttle.Access.RestClient/Shuttle.Access.RestClient.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.1"
        },
        {
          "name": "Microsoft.Extensions.Hosting",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.8"
        },
        {
          "name": "Shuttle.Mediator",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.1"
        },
        {
          "name": "Shuttle.Pipelines",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.2"
        },
        {
          "name": "Shuttle.Hopper",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.2"
        },
        {
          "name": "Shuttle.Hopper.AzureStorageQueues",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.2"
        },
        {
          "name": "Shuttle.Hopper.SqlServer.Subscription",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.2"
        },
        {
          "name": "Shuttle.Recall.SqlServer.EventProcessing",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.3"
        },
        {
          "name": "Shuttle.Recall.SqlServer.Storage",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.3"
        },
        {
          "name": "Serilog.Extensions.Logging",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.0"
        },
        {
          "name": "Serilog.Extensions.Hosting",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.0"
        },
        {
          "name": "Serilog.Settings.Configuration",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.0"
        },
        {
          "name": "Serilog.Sinks.Console",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "6.1.1"
        },
        {
          "name": "Serilog.Sinks.File",
          "manifest": "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
          "ecosystem": "nuget",
          "version_constraint": "7.0.0"
        },
        {
          "name": "Microsoft.EntityFrameworkCore.Design",
          "manifest": "Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.8"
        },
        {
          "name": "Microsoft.EntityFrameworkCore.SqlServer",
          "manifest": "Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.8"
        },
        {
          "name": "Microsoft.EntityFrameworkCore.Tools",
          "manifest": "Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.8"
        },
        {
          "name": "Microsoft.Extensions.Configuration.UserSecrets",
          "manifest": "Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.8"
        },
        {
          "name": "Microsoft.Extensions.Logging.Console",
          "manifest": "Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.8"
        },
        {
          "name": "Microsoft.Extensions.Logging.Debug",
          "manifest": "Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.8"
        },
        {
          "name": "Shuttle.Recall",
          "manifest": "Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.3"
        },
        {
          "name": "Shuttle.Recall.SqlServer.EventProcessing",
          "manifest": "Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.3"
        },
        {
          "name": "Shuttle.Recall.SqlServer.Storage",
          "manifest": "Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.3"
        },
        {
          "name": "Microsoft.AspNetCore.Mvc.Testing",
          "manifest": "Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.8"
        },
        {
          "name": "Microsoft.NET.Test.Sdk",
          "manifest": "Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj",
          "ecosystem": "nuget",
          "version_constraint": "18.6.0"
        },
        {
          "name": "Moq",
          "manifest": "Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj",
          "ecosystem": "nuget",
          "version_constraint": "4.20.72"
        },
        {
          "name": "NUnit",
          "manifest": "Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj",
          "ecosystem": "nuget",
          "version_constraint": "4.6.1"
        },
        {
          "name": "NUnit3TestAdapter",
          "manifest": "Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj",
          "ecosystem": "nuget",
          "version_constraint": "6.2.0"
        },
        {
          "name": "Shuttle.Mediator",
          "manifest": "Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.1"
        },
        {
          "name": "Shuttle.Hopper",
          "manifest": "Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.2"
        },
        {
          "name": "Shuttle.Recall",
          "manifest": "Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.3"
        },
        {
          "name": "Microsoft.NET.Test.Sdk",
          "manifest": "Shuttle.Access.Tests/Shuttle.Access.Tests.csproj",
          "ecosystem": "nuget",
          "version_constraint": "18.6.0"
        },
        {
          "name": "Moq",
          "manifest": "Shuttle.Access.Tests/Shuttle.Access.Tests.csproj",
          "ecosystem": "nuget",
          "version_constraint": "4.20.72"
        },
        {
          "name": "NUnit",
          "manifest": "Shuttle.Access.Tests/Shuttle.Access.Tests.csproj",
          "ecosystem": "nuget",
          "version_constraint": "4.6.1"
        },
        {
          "name": "NUnit3TestAdapter",
          "manifest": "Shuttle.Access.Tests/Shuttle.Access.Tests.csproj",
          "ecosystem": "nuget",
          "version_constraint": "6.2.0"
        },
        {
          "name": "Shuttle.Recall.SqlServer.Storage",
          "manifest": "Shuttle.Access.Tests/Shuttle.Access.Tests.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.3"
        },
        {
          "name": "@mdi/font",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "7.4.47"
        },
        {
          "name": "@tailwindcss/vite",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.14"
        },
        {
          "name": "@vuelidate/core",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.3"
        },
        {
          "name": "@vuelidate/validators",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.4"
        },
        {
          "name": "@vueuse/core",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "^14.3.0"
        },
        {
          "name": "axios",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.16.1"
        },
        {
          "name": "moment",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.30.1"
        },
        {
          "name": "roboto-fontface",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "*"
        },
        {
          "name": "unplugin-auto-import",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "^21.0.0"
        },
        {
          "name": "vue",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.5.35"
        },
        {
          "name": "vue-i18n",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.4.4"
        },
        {
          "name": "vue-router",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.1.0"
        },
        {
          "name": "vuetify",
          "manifest": "Shuttle.Access.Vue/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.8"
        },
        {
          "name": "Asp.Versioning.Http",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.0"
        },
        {
          "name": "Asp.Versioning.Mvc.ApiExplorer",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.0"
        },
        {
          "name": "Microsoft.AspNetCore.OpenApi",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.8"
        },
        {
          "name": "Microsoft.IdentityModel.JsonWebTokens",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "8.19.1"
        },
        {
          "name": "Microsoft.IdentityModel.Tokens",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "8.19.1"
        },
        {
          "name": "Scalar.AspNetCore",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "2.14.14"
        },
        {
          "name": "Shuttle.Mediator",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.1"
        },
        {
          "name": "Shuttle.Hopper.AzureStorageQueues",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.2"
        },
        {
          "name": "Shuttle.Hopper.SqlServer.Subscription",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.2"
        },
        {
          "name": "Shuttle.OAuth",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.6"
        },
        {
          "name": "Shuttle.Recall.SqlServer.EventProcessing",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.3"
        },
        {
          "name": "Serilog.Extensions.Logging",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.0"
        },
        {
          "name": "Serilog.Extensions.Hosting",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.0"
        },
        {
          "name": "Serilog.Settings.Configuration",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.0"
        },
        {
          "name": "Serilog.Sinks.Console",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "6.1.1"
        },
        {
          "name": "Serilog.Sinks.File",
          "manifest": "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
          "ecosystem": "nuget",
          "version_constraint": "7.0.0"
        },
        {
          "name": "Microsoft.EntityFrameworkCore",
          "manifest": "Shuttle.Access/Shuttle.Access.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.8"
        },
        {
          "name": "Microsoft.Extensions.Caching.Memory",
          "manifest": "Shuttle.Access/Shuttle.Access.csproj",
          "ecosystem": "nuget",
          "version_constraint": "10.0.8"
        },
        {
          "name": "Shuttle.Contract",
          "manifest": "Shuttle.Access/Shuttle.Access.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.1"
        },
        {
          "name": "Shuttle.Extensions.Options",
          "manifest": "Shuttle.Access/Shuttle.Access.csproj",
          "ecosystem": "nuget",
          "version_constraint": "21.0.1"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@mdi/font",
            "direct": true,
            "version": "7.4.47",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/vite",
            "direct": true,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vuelidate/core",
            "direct": true,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@vuelidate/validators",
            "direct": true,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/core",
            "direct": true,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "axios",
            "direct": true,
            "version": "1.16.1",
            "ecosystem": "npm"
          },
          {
            "name": "moment",
            "direct": true,
            "version": "2.30.1",
            "ecosystem": "npm"
          },
          {
            "name": "roboto-fontface",
            "direct": true,
            "version": "0.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin-auto-import",
            "direct": true,
            "version": "21.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": true,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "vue-i18n",
            "direct": true,
            "version": "11.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "vue-router",
            "direct": true,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vuetify",
            "direct": true,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "Asp.Versioning.Http",
            "direct": true,
            "version": "10.0.0",
            "ecosystem": "nuget"
          },
          {
            "name": "Asp.Versioning.Mvc.ApiExplorer",
            "direct": true,
            "version": "10.0.0",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.AspNetCore.Mvc.Testing",
            "direct": true,
            "version": "10.0.8",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.AspNetCore.OpenApi",
            "direct": true,
            "version": "10.0.8",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.EntityFrameworkCore",
            "direct": true,
            "version": "10.0.8",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.EntityFrameworkCore.Design",
            "direct": true,
            "version": "10.0.8",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.EntityFrameworkCore.SqlServer",
            "direct": true,
            "version": "10.0.8",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.EntityFrameworkCore.Tools",
            "direct": true,
            "version": "10.0.8",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Caching.Memory",
            "direct": true,
            "version": "10.0.8",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Configuration.UserSecrets",
            "direct": true,
            "version": "10.0.8",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Hosting",
            "direct": true,
            "version": "10.0.8",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Logging.Console",
            "direct": true,
            "version": "10.0.8",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.Extensions.Logging.Debug",
            "direct": true,
            "version": "10.0.8",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.IdentityModel.JsonWebTokens",
            "direct": true,
            "version": "8.19.1",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.IdentityModel.Tokens",
            "direct": true,
            "version": "8.19.1",
            "ecosystem": "nuget"
          },
          {
            "name": "Microsoft.NET.Test.Sdk",
            "direct": true,
            "version": "18.6.0",
            "ecosystem": "nuget"
          },
          {
            "name": "Moq",
            "direct": true,
            "version": "4.20.72",
            "ecosystem": "nuget"
          },
          {
            "name": "NUnit",
            "direct": true,
            "version": "4.6.1",
            "ecosystem": "nuget"
          },
          {
            "name": "NUnit3TestAdapter",
            "direct": true,
            "version": "6.2.0",
            "ecosystem": "nuget"
          },
          {
            "name": "Refit",
            "direct": true,
            "version": "11.0.1",
            "ecosystem": "nuget"
          },
          {
            "name": "Refit.HttpClientFactory",
            "direct": true,
            "version": "11.0.1",
            "ecosystem": "nuget"
          },
          {
            "name": "Scalar.AspNetCore",
            "direct": true,
            "version": "2.14.14",
            "ecosystem": "nuget"
          },
          {
            "name": "Serilog.Extensions.Hosting",
            "direct": true,
            "version": "10.0.0",
            "ecosystem": "nuget"
          },
          {
            "name": "Serilog.Extensions.Logging",
            "direct": true,
            "version": "10.0.0",
            "ecosystem": "nuget"
          },
          {
            "name": "Serilog.Settings.Configuration",
            "direct": true,
            "version": "10.0.0",
            "ecosystem": "nuget"
          },
          {
            "name": "Serilog.Sinks.Console",
            "direct": true,
            "version": "6.1.1",
            "ecosystem": "nuget"
          },
          {
            "name": "Serilog.Sinks.File",
            "direct": true,
            "version": "7.0.0",
            "ecosystem": "nuget"
          },
          {
            "name": "Shuttle.Contract",
            "direct": true,
            "version": "21.0.1",
            "ecosystem": "nuget"
          },
          {
            "name": "Shuttle.Extensions.Options",
            "direct": true,
            "version": "21.0.1",
            "ecosystem": "nuget"
          },
          {
            "name": "Shuttle.Hopper",
            "direct": true,
            "version": "21.0.2",
            "ecosystem": "nuget"
          },
          {
            "name": "Shuttle.Hopper.AzureStorageQueues",
            "direct": true,
            "version": "21.0.2",
            "ecosystem": "nuget"
          },
          {
            "name": "Shuttle.Hopper.SqlServer.Subscription",
            "direct": true,
            "version": "21.0.2",
            "ecosystem": "nuget"
          },
          {
            "name": "Shuttle.Mediator",
            "direct": true,
            "version": "21.0.1",
            "ecosystem": "nuget"
          },
          {
            "name": "Shuttle.OAuth",
            "direct": true,
            "version": "21.0.6",
            "ecosystem": "nuget"
          },
          {
            "name": "Shuttle.Pipelines",
            "direct": true,
            "version": "21.0.2",
            "ecosystem": "nuget"
          },
          {
            "name": "Shuttle.Recall",
            "direct": true,
            "version": "21.0.3",
            "ecosystem": "nuget"
          },
          {
            "name": "Shuttle.Recall.SqlServer.EventProcessing",
            "direct": true,
            "version": "21.0.3",
            "ecosystem": "nuget"
          },
          {
            "name": "Shuttle.Recall.SqlServer.Storage",
            "direct": true,
            "version": "21.0.3",
            "ecosystem": "nuget"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "8.0.0-rc.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-annotate-as-pure",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-create-class-features-plugin",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-member-expression-to-functions",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-optimise-call-expression",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-replace-supers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-skip-transparent-expression-wrappers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "8.0.0-rc.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "8.0.0-rc.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "8.0.0-rc.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-decorators",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-decorators",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-import-attributes",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-import-meta",
            "direct": false,
            "version": "7.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-jsx",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-typescript",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-typescript",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "8.0.0-rc.6",
            "ecosystem": "npm"
          },
          {
            "name": "@bufbuild/protobuf",
            "direct": false,
            "version": "2.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@capsizecss/unpack",
            "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": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-array",
            "direct": false,
            "version": "0.23.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/core",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/node",
            "direct": false,
            "version": "0.16.7",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@intlify/core-base",
            "direct": false,
            "version": "11.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@intlify/devtools-types",
            "direct": false,
            "version": "11.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@intlify/message-compiler",
            "direct": false,
            "version": "11.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@intlify/shared",
            "direct": false,
            "version": "11.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/remapping",
            "direct": false,
            "version": "2.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@mdi/js",
            "direct": false,
            "version": "7.4.47",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.scandir",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.walk",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-android-arm64",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-darwin-arm64",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-darwin-x64",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-freebsd-x64",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-arm-glibc",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-arm-musl",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-arm64-glibc",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-arm64-musl",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-x64-glibc",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-x64-musl",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-win32-arm64",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-win32-ia32",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-win32-x64",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgr/core",
            "direct": false,
            "version": "0.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "@polka/url",
            "direct": false,
            "version": "1.0.0-next.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/node",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-android-arm64",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-darwin-arm64",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-darwin-x64",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-freebsd-x64",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm64-gnu",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-arm64-musl",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-x64-gnu",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-linux-x64-musl",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-wasm32-wasi",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-win32-arm64-msvc",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/oxide-win32-x64-msvc",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node22",
            "direct": false,
            "version": "22.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/esrecurse",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsesc",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "25.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/web-bluetooth",
            "direct": false,
            "version": "0.0.21",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "8.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "8.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "8.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "8.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-vue",
            "direct": false,
            "version": "6.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/language-core",
            "direct": false,
            "version": "2.4.28",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/source-map",
            "direct": false,
            "version": "2.4.28",
            "ecosystem": "npm"
          },
          {
            "name": "@volar/typescript",
            "direct": false,
            "version": "2.4.28",
            "ecosystem": "npm"
          },
          {
            "name": "@vue-macros/common",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/babel-helper-vue-transform-on",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/babel-plugin-jsx",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/babel-plugin-resolve-type",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-sfc",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "6.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "7.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-core",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-kit",
            "direct": false,
            "version": "7.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-kit",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-shared",
            "direct": false,
            "version": "7.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-shared",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/eslint-config-prettier",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/eslint-config-typescript",
            "direct": false,
            "version": "14.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/language-core",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/reactivity",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-core",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-dom",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/server-renderer",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.5.35",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/tsconfig",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vuetify/loader-shared",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/metadata",
            "direct": false,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/shared",
            "direct": false,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "alien-signals",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "ansis",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ast-kit",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ast-walker-scope",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "asynckit",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.33",
            "ecosystem": "npm"
          },
          {
            "name": "birpc",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "boolbase",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.2",
            "ecosystem": "npm"
          },
          {
            "name": "bundle-name",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001793",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "colorjs.io",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "combined-stream",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "copy-anything",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "css-tree",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "cssesc",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "default-browser",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "default-browser-id",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "define-lazy-prop",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "delayed-stream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.364",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "error-stack-parser-es",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "10.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-prettier",
            "direct": false,
            "version": "10.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-prettier",
            "direct": false,
            "version": "5.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-vue",
            "direct": false,
            "version": "10.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "9.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "exsolve",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-diff",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-glob",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "follow-redirects",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "fontaine",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "fontkitten",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hookable",
            "direct": false,
            "version": "5.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "7.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "immutable",
            "direct": false,
            "version": "5.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-docker",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-inside-container",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-what",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-wsl",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "kolorist",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "local-pkg",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "magic-regexp",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string-ast",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdn-data",
            "direct": false,
            "version": "2.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "memorystream",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.35",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "mitt",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mlly",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "mrmime",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "muggle-string",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-addon-api",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.46",
            "ecosystem": "npm"
          },
          {
            "name": "npm-normalize-package-bin",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-all2",
            "direct": false,
            "version": "8.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "nth-check",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ohash",
            "direct": false,
            "version": "2.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "open",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-browserify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "perfect-debounce",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "perfect-debounce",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pidtree",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "pinia",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-selector-parser",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "prettier-linter-helpers",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-from-env",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "quansync",
            "direct": false,
            "version": "0.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "read-package-json-fast",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "regexp-tree",
            "direct": false,
            "version": "0.1.27",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "run-applescript",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "rxjs",
            "direct": false,
            "version": "7.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "sass",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-all-unknown",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-android-arm",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-android-arm64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-android-riscv64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-android-x64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-darwin-arm64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-darwin-x64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-linux-arm",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-linux-arm64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-linux-musl-arm",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-linux-musl-arm64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-linux-musl-riscv64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-linux-musl-x64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-linux-riscv64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-linux-x64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-unknown-all",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-win32-arm64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "sass-embedded-win32-x64",
            "direct": false,
            "version": "1.100.0",
            "ecosystem": "npm"
          },
          {
            "name": "scule",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shell-quote",
            "direct": false,
            "version": "1.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "sirv",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "speakingurl",
            "direct": false,
            "version": "14.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-literal",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "superjson",
            "direct": false,
            "version": "2.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "8.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "sync-child-process",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "sync-message-port",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "synckit",
            "direct": false,
            "version": "0.11.12",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tapable",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tiny-inflate",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.16",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "totalist",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-level-regexp",
            "direct": false,
            "version": "0.1.17",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript-eslint",
            "direct": false,
            "version": "8.58.2",
            "ecosystem": "npm"
          },
          {
            "name": "ufo",
            "direct": false,
            "version": "1.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.24.6",
            "ecosystem": "npm"
          },
          {
            "name": "unimport",
            "direct": false,
            "version": "5.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin",
            "direct": false,
            "version": "2.3.11",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin-fonts",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin-utils",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin-vue-components",
            "direct": false,
            "version": "32.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "upath",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "varint",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.0.14",
            "ecosystem": "npm"
          },
          {
            "name": "vite-dev-rpc",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite-hot-client",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-inspect",
            "direct": false,
            "version": "11.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-vue-devtools",
            "direct": false,
            "version": "8.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-vue-inspector",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-vuetify",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "vscode-uri",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue-demi",
            "direct": false,
            "version": "0.13.11",
            "ecosystem": "npm"
          },
          {
            "name": "vue-eslint-parser",
            "direct": false,
            "version": "10.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue-tsc",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-virtual-modules",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "wsl-utils",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "xml-name-validator",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 517,
        "direct_count": 51,
        "indirect_count": 466
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 5,
        "merged_prs": 13,
        "open_issues": 1,
        "closed_ratio": 0,
        "closed_issues": 0,
        "closed_unmerged_prs": 18
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "eben-roux",
          "commits": 524,
          "avatar_url": "https://avatars.githubusercontent.com/u/5379436?v=4"
        },
        {
          "type": "User",
          "login": "rbakker-bscglobal",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/135729222?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.998
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": false,
      "ci_workflows": [],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": true,
      "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": 0,
            "reason": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
            "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/27 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": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "20 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "11d3481ab330a68f2c2e6630c195be4cad15768a",
        "ran_at": "2026-07-24T06:56:49Z",
        "aggregate_score": 3.1,
        "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-06-25T09:46:03Z",
      "oldest_open_prs": [
        {
          "number": 29,
          "created_at": "2025-07-22T11:04:43Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 32,
          "created_at": "2025-10-21T03:12:54Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 33,
          "created_at": "2025-11-15T10:40:20Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 34,
          "created_at": "2026-01-21T23:40:02Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 35,
          "created_at": "2026-02-11T13:34:30Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-05-23T05:12:51Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 16,
          "created_at": "2025-02-23T06:01:21Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Shuttle/Shuttle.Access",
    "host": "github.com",
    "name": "Shuttle.Access",
    "owner": "Shuttle"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 46,
      "inputs": {
        "security": 39,
        "vitality": 82,
        "community": 38,
        "governance": 44,
        "engineering": 20
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 82,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "commits_last_year": 126,
              "human_commit_share": 1,
              "days_since_last_push": 28,
              "active_weeks_last_year": 27
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 28 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 28
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "27/52 weeks with commits",
                "points": 18.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 27
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "126 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 126
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 18,
              "latest_release_tag": "v11.0.3",
              "releases_from_tags": false,
              "days_since_latest_release": 28,
              "mean_days_between_releases": 7.4
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "18 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 18
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 28 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 28
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~7.4 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 7.4
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 28,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 28 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 28
                    }
                  }
                ],
                "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": 38,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 12,
            "inputs": {
              "forks": 3,
              "stars": 5,
              "watchers": 1,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "5 stars",
                "points": 9.8,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "3 forks",
                "points": 2.5,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "1 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "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 (BSD-3-Clause)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "BSD-3-Clause"
                    }
                  }
                ],
                "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": [
                "Shuttle.Access.Application",
                "Shuttle.Access.AspNetCore",
                "Shuttle.Access.Messages",
                "Shuttle.Access.RestClient",
                "Shuttle.Access.SqlServer"
              ],
              "dependents": null,
              "ecosystems": "nuget",
              "total_downloads": 53812,
              "monthly_downloads": null
            },
            "components": [
              {
                "key": "total_downloads",
                "name": "Total downloads",
                "detail": "53,812 downloads all-time across nuget",
                "points": 49.2,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_total",
                    "params": {
                      "count": 53812,
                      "ecosystems": "nuget"
                    }
                  }
                ],
                "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": 44,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 15,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.998
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 100% of commits",
                "points": 0,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "2 contributors",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 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": null,
            "notes": [],
            "value": 16,
            "inputs": {
              "merged_prs": 13,
              "open_issues": 1,
              "closed_issues": 0,
              "issue_closed_ratio": 0,
              "closed_unmerged_prs": 18
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "0% of issues closed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 0
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "13/31 decided PRs merged",
                "points": 16,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 13,
                      "decided": 31
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/27 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "followers": 17,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "Shuttle",
              "public_repos": 145,
              "account_age_days": 4645
            },
            "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": "17 followers of Shuttle",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 17,
                      "login": "Shuttle"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "145 public repos, account ~12 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 145
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 12
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "Shuttle.Access.Application",
                "Shuttle.Access.AspNetCore",
                "Shuttle.Access.Messages",
                "Shuttle.Access.RestClient",
                "Shuttle.Access.SqlServer"
              ],
              "ecosystems": "nuget",
              "any_deprecated": false,
              "min_days_since_publish": 0
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "5 package(s) on nuget",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 5,
                      "ecosystems": "nuget"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 0 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "52 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 52
                    }
                  }
                ],
                "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": "critical",
        "name": "Engineering Quality",
        "value": 20,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "critical",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 6,
            "inputs": {
              "has_ci": false,
              "has_tests": false,
              "has_editorconfig": true,
              "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "at_risk",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 39,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dangerous_workflow",
                    "packaging",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 31,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 15,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 3,
              "scorecard_aggregate": 3.1
            },
            "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": "0 out of 1 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/27 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": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "20 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "moderate",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 517 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 517
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 69,
            "inputs": {
              "source": "osv",
              "advisories": 20,
              "affected_packages": 7,
              "assessed_packages": 517,
              "unassessed_packages": 0,
              "affected_by_severity": "critical 1, high 5, low 1",
              "direct_affected_packages": 1
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "1 affected: axios 1.16.1 (high 8.2)",
                "points": 12,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "axios 1.16.1 (high 8.2)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory has been public longer than 90 days",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "advisories_none_stale",
                    "params": {
                      "days": 90
                    }
                  }
                ],
                "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": 517,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 4
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 34,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.02,
              "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": "2 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 1.1,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 2,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 34,
            "inputs": {
              "has_nix": false,
              "has_tests": false,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "Shuttle.Access.Vue/tsconfig.json"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "Shuttle.Access.Application/Shuttle.Access.Application.csproj",
                "Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj",
                "Shuttle.Access.Messages/Shuttle.Access.Messages.csproj",
                "Shuttle.Access.RestClient/Shuttle.Access.RestClient.csproj",
                "Shuttle.Access.Server/Shuttle.Access.Server.csproj",
                "Shuttle.Access.SqlServer/Shuttle.Access.SqlServer.csproj",
                "Shuttle.Access.Tests.Integration/Shuttle.Access.Tests.Integration.csproj",
                "Shuttle.Access.Tests/Shuttle.Access.Tests.csproj",
                "Shuttle.Access.WebApi.Contracts/Shuttle.Access.WebApi.Contracts.csproj",
                "Shuttle.Access.WebApi/Shuttle.Access.WebApi.csproj",
                "Shuttle.Access/Shuttle.Access.csproj"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Shuttle.Access.Application/Shuttle.Access.Application.csproj, Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj, Shuttle.Access.Messages/Shuttle.Access.Messages.csproj (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "Shuttle.Access.Application/Shuttle.Access.Application.csproj, Shuttle.Access.AspNetCore/Shuttle.Access.AspNetCore.csproj, Shuttle.Access.Messages/Shuttle.Access.Messages.csproj"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": "Shuttle.Access.Vue/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Shuttle.Access.Vue/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "C#",
              "largest_source_bytes": 19195,
              "source_files_sampled": 390,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "C# (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C#"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/390 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 390,
                      "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-24T06:56:56.793051Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/Shuttle/Shuttle.Access.svg",
  "full_name": "Shuttle/Shuttle.Access",
  "license_state": "standard",
  "license_spdx": "BSD-3-Clause"
}

评分是信号,而非担保。 评分反映的是 GitHub 上公开可见的实践——不是代码审计,也不是安全保证。

缺失数据将被剔除并重新归一化权重,绝不按零分计。方法论已版本化并公开:指标 v1.13.0、模式 v0.27.0—— 完整方法论 · 指标知识库.

单项结果在整体记录中的位置: 汇总统计NuGet.