公开记录
软件健康报告模式 0.27.0 · 指标 1.13.0 · 2026-07-31 22:51 UTC

lokalise / fastify-extras

Reusable plugins for fastify

TypeScriptApache-2.0★ 7 星标⑂ 0 复刻始于 2022年11月在 GitHub 上查看 ↗

lokalise/fastify-extras 的健康指数为 100 分中的 71 分,处于「良好」区间。 其得分最高的类别是Vitality(86/100),最低的是Community & Adoption(58/100)。 最近一次更新在 4 天前。 近期的大部分工作由 1 位贡献者完成。

71
总分 / 100
良好

软件健康指数

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

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

评分画像

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

所有权

Lokalise组织
135 关注者54 个公开仓库始于 2015年9月

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

软件包生态系统

注册表软件包版本月下载量版本数最近发布标签
npm@lokalise/fastify-extras31.0.121,58712428 天前fastifybugsnagrequest-contextrequest-idsplit-io

按类别列示的指标

活力

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

86优秀 · 占总体的 22%
评分方式
36/36推送新近度 — 最近一次推送于 4 天前
22.2/36提交节奏 — 52 周中有 32 周有提交
17.1/18提交量 — 最近一年 79 次提交
10/10OpenSSF Scorecard:Maintained — 22 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
所用输入
commits_last_year79
human_commit_share0.4
days_since_last_push4
active_weeks_last_year32

发布纪律

88优秀
评分方式
16.2/27有发布版本 — 100 个版本标签(无 GitHub 发布版本)
36/36发布时效 — 最近一次发布版本于 28 天前
27/27发布节奏 — 约每 32 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — 无数据
所用输入
releases_count100
latest_release_tagv31.0.1
releases_from_tags
days_since_latest_release28
mean_days_between_releases32
已排除计分(无数据或不适用):OpenSSF Scorecard:Signed-Releases。 其余权重已重新归一化。

社区与采用

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

58中等 · 占总体的 18%
评分方式
12.6/60星标 — 7 个星标
0/25复刻 — 0 个复刻
6.5/15关注者 — 16 位关注者
所用输入
forks0
stars7
watchers16
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

社区健康

92优秀
评分方式
22.5/22.5README
22.5/22.5许可证 — 可识别的许可证(Apache-2.0)
18/18CONTRIBUTING 指南
13.5/13.5行为准则
0/7.2议题模板
6.3/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template
评分方式
57.8/80月度下载量 — npm 合计每月 21,587 次下载
0/20注册表被依赖数 — 该生态系统不报告此项
所用输入
packages@lokalise/fastify-extras
dependents
ecosystemsnpm
total_downloads
monthly_downloads21,587
已排除计分(无数据或不适用):注册表被依赖数。 其余权重已重新归一化。

可持续性与治理

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

67中等 · 占总体的 24%
评分方式
9/54巴士系数 — 1 位贡献者贡献了半数提交
7.5/22.5提交分布 — 头号贡献者编写了 67% 的提交
13.5/13.5贡献者广度 — 14 位贡献者
6/10OpenSSF Scorecard:Contributors — project has 2 contributing companies or organizations -- score normalized to 6
所用输入
bus_factor1
contributors_sampled14
top_contributor_share0.667
评分方式
46.8/46.8议题解决 — 100% 的议题已关闭
22.9/38.3PR 接受 — 已裁定的 PR 中 260/435 已合并
4.5/15OpenSSF Scorecard:Code-Review — Found 3/8 approved changesets -- score normalized to 3
所用输入
merged_prs260
open_issues0
closed_issues1
issue_closed_ratio1
closed_unmerged_prs175
评分方式
30/30所有权背书 — 组织持有
0/20已验证域名
15.3/25所有者影响力 — lokalise 有 135 位关注者
24.7/25既往记录 — 54 个公开仓库,账户约 10 年
所用输入
followers135
owner_typeOrganization
is_verified
owner_loginlokalise
public_repos54
account_age_days3,972
评分方式
25/25已发布且可解析 — npm 上有 1 个软件包
35/35发布时效 — 最近一次发布于 28 天前
20/20版本历史 — 124 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packages@lokalise/fastify-extras
ecosystemsnpm
any_deprecated
min_days_since_publish28

工程质量

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

74良好 · 占总体的 20%

工程实践

84良好
评分方式
24/24CI 工作流 — 3 个工作流
24/24存在测试
16/16Linter 配置 — biome.json
0/9.6Pre-commit 钩子
0/6.4.editorconfig
20/20OpenSSF Scorecard:CI-Tests — 26 out of 26 merged PRs checked by a CI test -- score normalized to 10
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config

文档

60中等
评分方式
30/30README
0/25文档目录
0/15文档 / 主页站点
10/10仓库描述
10/10主题标签 — 1 个主题标签
10/10Wiki
所用输入
topicslokalise-nextgen
has_wiki
homepage
has_readme
has_docs_dir
has_description

安全

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

66中等 · 占总体的 16%

安全态势

58中等
评分方式
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — 无数据
2.5/2.5CI-Tests — 26 out of 26 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
2.2/7.5Code-Review — Found 3/8 approved changesets -- score normalized to 3
1.5/2.5Contributors — project has 2 contributing companies or organizations -- score normalized to 6
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5许可证 — license file detected
7.5/7.5Maintained — 22 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
1/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
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 — 无数据
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
5.2/7.5Vulnerabilities — 3 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate5.8
已排除计分(无数据或不适用):branch_protection, signed_releases。 其余权重已重新归一化。
评分方式
35/35直接依赖不含已知公告 — 没有直接依赖携带已知公告
25/25间接依赖不含已知公告 — 没有间接依赖携带已知公告
0/40没有长期未处理的公告 — 没有公告带有发布日期
所用输入
sourceosv
advisories0
affected_packages0
assessed_packages64
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
已排除计分(无数据或不适用):没有长期未处理的公告。 其余权重已重新归一化。 比对的是 npm:@lokalise/fastify-extras@31.0.1 的运行时依赖闭包——安装已发布的软件包时真正被拉取进来的内容——共 64 个软件包。 未对可达性进行分析。

AI 就绪度

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

59中等 · 占总体的 0%
评分方式
0/45代理指令 — 没有 CLAUDE.md / AGENTS.md / 编辑器规则
0/15机器可读文档(llms.txt)
28/40可读的提交历史 — 40 次人类提交中有 21 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share0.525
agent_instruction_files
agent_instruction_max_bytes
评分方式
0/18一条命令的引导启动
22/22自动化测试
11/11Lint / 格式化配置 — biome.json
11/11静态类型检查 — tsconfig.json
10/10可复现环境 — Dockerfile, lockfile
2/10已体现的代理实践 — 最近 100 次提交中有 1 次由代理编写或署名代理
8/8自动化维护 — 最近 100 次提交中有 60 次为自动依赖更新
2/10OpenSSF Scorecard:Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
所用输入
has_nix
has_tests
lockfilespnpm-lock.yaml
has_dockerfile
typed_language
bootstrap_files
has_devcontainer
has_linter_config
typecheck_configstsconfig.json
agent_commit_share0.01
toolchain_manifests
dependency_bot_commit_share0.6
评分方式
45/45可类型检查的代码 — TypeScript(静态类型)
55/55可控的文件大小 — 采样的 55 个源文件中有 0 个超过 60KB
所用输入
primary_languageTypeScript
largest_source_bytes12,887
source_files_sampled55
oversized_source_files0

关键数据

7GitHub 星标
14贡献者
79最近 12 个月提交数
4距最近推送天数
100发布版本数
1巴士系数(bus factor)
0开放议题
npm软件包生态系统数

数据采集警告

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

更多细节

OpenSSF Scorecard 5.8 / 10
5.8综合

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

10Binary-Artifactsno binaries found in the repo
不适用Branch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
10CI-Tests26 out of 26 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
3Code-ReviewFound 3/8 approved changesets -- score normalized to 3
6Contributorsproject has 2 contributing companies or organizations -- score normalized to 6
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained22 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
2Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 2
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
不适用Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
7Vulnerabilities3 existing vulnerabilities detected
直接依赖 11
注册表软件包版本约束清单文件
npm@amplitude/analytics-node^1.5.7package.json
npm@bugsnag/js^8.4.0package.json
npm@bugsnag/node^8.4.0package.json
npm@fastify/error^4.2.0package.json
npm@lokalise/error-utils^3.0.0package.json
npm@splitsoftware/splitio^11.6.0package.json
npm@supercharge/promise-pool^3.2.0package.json
npmfastify-metrics^13.2.0package.json
npmfastify-plugin^6.0.0package.json
npmprom-client^15.1.3package.json
npmtoad-cache^3.7.4package.json
全部依赖 348

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

注册表软件包版本关系
npm@amplitude/analytics-node1.5.68直接
npm@bugsnag/js8.10.0直接
npm@bugsnag/node8.10.0直接
npm@fastify/error4.2.0直接
npm@lokalise/error-utils3.0.0直接
npm@splitsoftware/splitio11.11.2直接
npm@supercharge/promise-pool3.3.0直接
npmfastify-metrics13.2.1直接
npmfastify-plugin5.1.0直接
npmfastify-plugin6.0.0直接
npmprom-client15.1.3直接
npmtoad-cache3.7.4直接
npm@amplitude/analytics-connector1.6.5间接
npm@amplitude/analytics-core2.54.0间接
npm@amplitude/analytics-types2.11.1间接
npm@babel/helper-string-parser7.29.7间接
npm@babel/helper-validator-identifier7.29.7间接
npm@babel/parser7.29.7间接
npm@babel/types7.29.7间接
npm@bcoe/v8-coverage1.0.2间接
npm@biomejs/biome1.9.4间接
npm@biomejs/cli-darwin-arm641.9.4间接
npm@biomejs/cli-darwin-x641.9.4间接
npm@biomejs/cli-linux-arm641.9.4间接
npm@biomejs/cli-linux-arm64-musl1.9.4间接
npm@biomejs/cli-linux-x641.9.4间接
npm@biomejs/cli-linux-x64-musl1.9.4间接
npm@biomejs/cli-win32-arm641.9.4间接
npm@biomejs/cli-win32-x641.9.4间接
npm@bugsnag/browser8.10.0间接
npm@bugsnag/core8.9.0间接
npm@bugsnag/cuid3.2.2间接
npm@bugsnag/safe-json-stringify6.1.0间接
npm@datadog/flagging-core1.2.1间接
npm@datadog/libdatadog0.9.4间接
npm@datadog/native-appsec11.0.1间接
npm@datadog/native-iast-taint-tracking4.2.0间接
npm@datadog/native-metrics3.1.2间接
npm@datadog/openfeature-node-server2.0.0间接
npm@datadog/pprof5.17.0间接
npm@datadog/wasm-js-rewriter5.0.1间接
npm@emnapi/core1.10.0间接
npm@emnapi/core1.11.1间接
npm@emnapi/runtime1.10.0间接
npm@emnapi/runtime1.11.1间接
npm@emnapi/wasi-threads1.2.1间接
npm@emnapi/wasi-threads1.2.2间接
npm@fastify/ajv-compiler4.0.5间接
npm@fastify/fast-json-stringify-compiler5.1.0间接
npm@fastify/forwarded3.0.1间接
npm@fastify/jwt10.1.0间接
npm@fastify/merge-json-schemas0.2.1间接
npm@fastify/proxy-addr5.1.0间接
npm@fastify/swagger9.7.0间接
npm@ioredis/commands1.10.0间接
npm@jridgewell/resolve-uri3.1.2间接
npm@jridgewell/sourcemap-codec1.5.5间接
npm@jridgewell/trace-mapping0.3.31间接
npm@lokalise/api-contracts6.15.0间接
npm@lokalise/backend-http-client12.0.0间接
npm@lokalise/background-jobs-common14.4.2间接
npm@lokalise/biome-config2.0.0间接
npm@lokalise/id-utils3.0.1间接
npm@lokalise/node-core14.8.1间接
npm@lokalise/tsconfig3.1.0间接
npm@lukeed/ms2.0.2间接
npm@msgpackr-extract/msgpackr-extract-darwin-arm643.0.4间接
npm@msgpackr-extract/msgpackr-extract-darwin-x643.0.4间接
npm@msgpackr-extract/msgpackr-extract-linux-arm3.0.4间接
npm@msgpackr-extract/msgpackr-extract-linux-arm643.0.4间接
npm@msgpackr-extract/msgpackr-extract-linux-x643.0.4间接
npm@msgpackr-extract/msgpackr-extract-win32-x643.0.4间接
npm@napi-rs/wasm-runtime1.1.6间接
npm@openfeature/core1.11.0间接
npm@openfeature/server-sdk1.22.0间接
npm@opentelemetry/api1.9.1间接
npm@opentelemetry/api-logs0.221.0间接
npm@oxc-parser/binding-android-arm-eabi0.132.0间接
npm@oxc-parser/binding-android-arm640.132.0间接
npm@oxc-parser/binding-darwin-arm640.132.0间接
npm@oxc-parser/binding-darwin-x640.132.0间接
npm@oxc-parser/binding-freebsd-x640.132.0间接
npm@oxc-parser/binding-linux-arm-gnueabihf0.132.0间接
npm@oxc-parser/binding-linux-arm-musleabihf0.132.0间接
npm@oxc-parser/binding-linux-arm64-gnu0.132.0间接
npm@oxc-parser/binding-linux-arm64-musl0.132.0间接
npm@oxc-parser/binding-linux-ppc64-gnu0.132.0间接
npm@oxc-parser/binding-linux-riscv64-gnu0.132.0间接
npm@oxc-parser/binding-linux-riscv64-musl0.132.0间接
npm@oxc-parser/binding-linux-s390x-gnu0.132.0间接
npm@oxc-parser/binding-linux-x64-gnu0.132.0间接
npm@oxc-parser/binding-linux-x64-musl0.132.0间接
npm@oxc-parser/binding-openharmony-arm640.132.0间接
npm@oxc-parser/binding-wasm32-wasi0.132.0间接
npm@oxc-parser/binding-win32-arm64-msvc0.132.0间接
npm@oxc-parser/binding-win32-ia32-msvc0.132.0间接
npm@oxc-parser/binding-win32-x64-msvc0.132.0间接
npm@oxc-project/types0.132.0间接
npm@oxc-project/types0.139.0间接
npm@pinojs/redact0.4.0间接
npm@rolldown/binding-android-arm641.1.5间接
npm@rolldown/binding-darwin-arm641.1.5间接
npm@rolldown/binding-darwin-x641.1.5间接
npm@rolldown/binding-freebsd-x641.1.5间接
npm@rolldown/binding-linux-arm-gnueabihf1.1.5间接
npm@rolldown/binding-linux-arm64-gnu1.1.5间接
npm@rolldown/binding-linux-arm64-musl1.1.5间接
npm@rolldown/binding-linux-ppc64-gnu1.1.5间接
npm@rolldown/binding-linux-s390x-gnu1.1.5间接
npm@rolldown/binding-linux-x64-gnu1.1.5间接
npm@rolldown/binding-linux-x64-musl1.1.5间接
npm@rolldown/binding-openharmony-arm641.1.5间接
npm@rolldown/binding-wasm32-wasi1.1.5间接
npm@rolldown/binding-win32-arm64-msvc1.1.5间接
npm@rolldown/binding-win32-x64-msvc1.1.5间接
npm@rolldown/pluginutils1.0.1间接
npm@splitsoftware/splitio-commons2.12.1间接
npm@standard-schema/spec1.1.0间接
npm@tybys/wasm-util0.10.3间接
npm@types/chai5.2.3间接
npm@types/deep-eql4.0.2间接
npm@types/estree1.0.9间接
npm@types/ioredis4.28.10间接
npm@types/node24.13.2间接
npm@types/seedrandom3.0.8间接
npm@types/zen-observable0.8.3间接
npm@vitest/coverage-v84.1.9间接
npm@vitest/expect4.1.9间接
npm@vitest/mocker4.1.9间接
npm@vitest/pretty-format4.1.9间接
npm@vitest/runner4.1.9间接
npm@vitest/snapshot4.1.9间接
npm@vitest/spy4.1.9间接
npm@vitest/utils4.1.9间接
npmabstract-logging2.0.1间接
npmajv8.20.0间接
npmajv-formats3.0.1间接
npmargparse2.0.1间接
npmasn1.js5.4.1间接
npmassertion-error2.0.1间接
npmast-v8-to-istanbul1.0.4间接
npmatomic-sleep1.0.0间接
npmauto-changelog2.6.0间接
npmavvio9.2.0间接
npmbalanced-match4.0.4间接
npmbase64-arraybuffer1.0.2间接
npmbintrees1.0.2间接
npmbloom-filters3.0.4间接
npmbn.js4.12.4间接
npmbrace-expansion5.0.7间接
npmbullmq5.81.2间接
npmbyline5.0.0间接
npmchai6.2.2间接
npmcjs-module-lexer2.2.0间接
npmcluster-key-slot1.1.1间接
npmcolorette2.0.20间接
npmcommander7.2.0间接
npmconvert-source-map2.0.0间接
npmcookie1.1.1间接
npmcron-parser4.9.0间接
npmcroner10.0.1间接
npmcuint0.2.2间接
npmdateformat4.6.3间接
npmdc-polyfill0.1.11间接
npmdd-trace6.6.0间接
npmdebug4.4.3间接
npmdenque2.1.0间接
npmdequal2.0.3间接
npmdetect-libc2.1.2间接
npmdot-prop6.0.1间接
npmecdsa-sig-formatter1.0.11间接
npmend-of-stream1.4.5间接
npmerror-stack-parser2.1.4间接
npmes-module-lexer2.3.0间接
npmes-module-lexer2.3.1间接
npmestree-walker3.0.3间接
npmexpect-type1.4.0间接
npmfast-copy4.0.3间接
npmfast-decode-uri-component1.0.1间接
npmfast-deep-equal3.1.3间接
npmfast-json-stringify7.0.0间接
npmfast-jwt6.2.4间接
npmfast-querystring1.1.2间接
npmfast-safe-stringify2.1.1间接
npmfast-uri3.1.3间接
npmfast-uri3.1.4间接
npmfastfall1.5.1间接
npmfastify5.10.0间接
npmfastify-type-provider-zod7.0.0间接
npmfastparallel2.4.1间接
npmfastq1.20.1间接
npmfastseries1.7.2间接
npmfdir6.5.0间接
npmfind-my-way9.6.0间接
npmfsevents2.3.3间接
npmglob13.0.6间接
npmhandlebars4.7.9间接
npmhas-flag4.0.0间接
npmhelp-me5.0.0间接
npmhtml-escaper2.0.2间接
npmimport-cwd3.0.0间接
npmimport-from3.0.0间接
npmimport-in-the-middle3.3.2间接
npminherits2.0.4间接
npmioredis5.11.1间接
npmipaddr.js2.4.0间接
npmis-buffer2.0.5间接
npmis-obj2.0.0间接
npmiserror0.0.2间接
npmistanbul-lib-coverage3.2.2间接
npmistanbul-lib-report3.0.1间接
npmistanbul-reports3.2.0间接
npmjoycon3.1.1间接
npmjs-tokens10.0.0间接
npmjs-yaml4.3.0间接
npmjson-schema-ref-resolver3.0.0间接
npmjson-schema-resolver3.0.0间接
npmjson-schema-traverse1.0.0间接
npmlayerr3.0.0间接
npmlight-my-request6.6.0间接
npmlightningcss1.33.0间接
npmlightningcss-android-arm641.33.0间接
npmlightningcss-darwin-arm641.33.0间接
npmlightningcss-darwin-x641.33.0间接
npmlightningcss-freebsd-x641.33.0间接
npmlightningcss-linux-arm-gnueabihf1.33.0间接
npmlightningcss-linux-arm64-gnu1.33.0间接
npmlightningcss-linux-arm64-musl1.33.0间接
npmlightningcss-linux-x64-gnu1.33.0间接
npmlightningcss-linux-x64-musl1.33.0间接
npmlightningcss-win32-arm64-msvc1.33.0间接
npmlightningcss-win32-x64-msvc1.33.0间接
npmlodash4.18.1间接
npmlong5.3.2间接
npmlru-cache11.5.1间接
npmlru-cache7.18.3间接
npmluxon3.7.2间接
npmmagic-string0.30.21间接
npmmagicast0.5.3间接
npmmake-dir4.0.0间接
npmminimalistic-assert1.0.1间接
npmminimatch10.2.5间接
npmminimist1.2.8间接
npmminipass7.1.3间接
npmmnemonist0.40.4间接
npmmodule-details-from-path1.0.4间接
npmms2.1.3间接
npmmsgpackr2.0.4间接
npmmsgpackr-extract3.0.4间接
npmnanoid3.3.16间接
npmneo-async2.6.2间接
npmnode-abort-controller3.1.1间接
npmnode-addon-api6.1.0间接
npmnode-fetch2.7.0间接
npmnode-gyp-build3.9.0间接
npmnode-gyp-build4.8.4间接
npmnode-gyp-build-optional-packages5.2.2间接
npmobliterator2.0.5间接
npmobug2.1.3间接
npmon-exit-leak-free2.1.2间接
npmonce1.4.0间接
npmopenapi-types12.1.3间接
npmopentracing0.14.7间接
npmoxc-parser0.132.0间接
npmpackage-json-from-dist1.0.1间接
npmparse-github-url1.0.4间接
npmparse-sse0.1.0间接
npmpath-scurry2.0.2间接
npmpathe2.0.3间接
npmpicocolors1.1.1间接
npmpicomatch4.0.5间接
npmpino10.3.1间接
npmpino-abstract-transport3.0.0间接
npmpino-pretty13.1.3间接
npmpino-std-serializers7.1.0间接
npmpostcss8.5.23间接
npmpprof-format2.3.0间接
npmprocess-warning4.0.1间接
npmprocess-warning5.0.0间接
npmpump3.0.4间接
npmquick-format-unescaped4.0.4间接
npmreal-require0.2.0间接
npmreal-require1.0.0间接
npmredis-errors1.2.0间接
npmredis-parser3.0.0间接
npmredis-semaphore5.7.0间接
npmreflect-metadata0.1.14间接
npmrequire-from-string2.0.2间接
npmresolve-from5.0.0间接
npmret0.5.0间接
npmreusify1.1.0间接
npmrfdc1.4.1间接
npmrimraf6.1.3间接
npmrolldown1.1.5间接
npmsafe-buffer5.2.1间接
npmsafe-json-stringify1.2.0间接
npmsafe-regex25.1.1间接
npmsafe-stable-stringify2.5.0间接
npmsafer-buffer2.1.2间接
npmsecure-json-parse4.1.0间接
npmseedrandom3.0.5间接
npmsemver7.8.5间接
npmset-cookie-parser2.7.2间接
npmsiginfo2.0.0间接
npmsonic-boom4.2.1间接
npmsource-map0.6.1间接
npmsource-map0.8.0间接
npmsource-map-js1.2.1间接
npmspark-md53.0.2间接
npmsplit24.2.0间接
npmstack-generator2.0.10间接
npmstackback0.0.2间接
npmstackframe1.3.4间接
npmstandard-as-callback2.1.0间接
npmstd-env4.1.0间接
npmsteed1.1.3间接
npmstrip-json-comments5.0.3间接
npmsupports-color7.2.0间接
npmtdigest0.1.2间接
npmthread-stream4.2.0间接
npmtinybench2.9.0间接
npmtinyexec1.2.4间接
npmtinyglobby0.2.17间接
npmtinyrainbow3.1.0间接
npmtoad-scheduler4.0.1间接
npmtr460.0.3间接
npmts-deepmerge8.0.0间接
npmtslib2.8.1间接
npmtypescript5.9.3间接
npmuglify-js3.19.3间接
npmulid-uuid-converter1.0.4间接
npmulidx2.4.1间接
npmundici8.7.0间接
npmundici-types7.18.2间接
npmunfetch4.2.0间接
npmuuidv71.2.1间接
npmvite8.1.3间接
npmvitest4.1.9间接
npmwebidl-conversions3.0.1间接
npmwhatwg-url5.0.0间接
npmwhy-is-node-running2.3.0间接
npmwordwrap1.0.0间接
npmwrappy1.0.2间接
npmxtend4.0.2间接
npmxxhashjs0.2.2间接
npmyaml2.9.0间接
npmzen-observable0.10.0间接
npmzod4.4.3间接
依赖安全公告 0

安装 npm:@lokalise/fastify-extras@31.0.1 会引入 64 个包(直接与传递):其中 0 个存在已知公告,0 个为直接依赖。

没有已知公告影响已评估的依赖。

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

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [
        "lokalise-nextgen"
      ],
      "is_fork": false,
      "size_kb": 926,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "TypeScript": 180968
      },
      "pushed_at": "2026-07-27T11:54:34Z",
      "created_at": "2022-11-27T13:19:49Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-27T11:56:12Z",
      "description": "Reusable plugins for fastify",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://lokalise.com",
      "name": "Lokalise",
      "type": "Organization",
      "login": "lokalise",
      "company": null,
      "location": null,
      "followers": 135,
      "avatar_url": "https://avatars.githubusercontent.com/u/14294501?v=4",
      "created_at": "2015-09-15T13:28:04Z",
      "is_verified": null,
      "public_repos": 54,
      "account_age_days": 3972
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v31.0.1",
          "kind": "patch",
          "published_at": "2026-07-03T14:56:44Z"
        },
        {
          "tag": "v31.0.0",
          "kind": "major",
          "published_at": "2026-05-14T14:16:51Z"
        },
        {
          "tag": "v30.7.2",
          "kind": "patch",
          "published_at": "2026-04-15T06:02:39Z"
        },
        {
          "tag": "v30.7.1",
          "kind": "patch",
          "published_at": "2026-04-07T12:31:58Z"
        },
        {
          "tag": "v30.7.0",
          "kind": "minor",
          "published_at": "2026-02-11T13:01:48Z"
        },
        {
          "tag": "v30.6.0",
          "kind": "minor",
          "published_at": "2026-01-31T14:32:56Z"
        },
        {
          "tag": "v30.5.0",
          "kind": "minor",
          "published_at": "2026-01-28T09:21:54Z"
        },
        {
          "tag": "v30.4.0",
          "kind": "minor",
          "published_at": "2026-01-22T17:15:16Z"
        },
        {
          "tag": "v30.2.1",
          "kind": "patch",
          "published_at": "2025-10-07T11:40:23Z"
        },
        {
          "tag": "v30.2.0",
          "kind": "minor",
          "published_at": "2025-09-18T07:02:03Z"
        },
        {
          "tag": "v30.1.0",
          "kind": "minor",
          "published_at": "2025-09-17T11:13:51Z"
        },
        {
          "tag": "v30.0.0",
          "kind": "major",
          "published_at": "2025-09-01T09:15:58Z"
        },
        {
          "tag": "v29.0.1",
          "kind": "patch",
          "published_at": "2025-08-28T15:56:15Z"
        },
        {
          "tag": "v29.0.0",
          "kind": "major",
          "published_at": "2025-08-01T12:09:11Z"
        },
        {
          "tag": "v28.1.1",
          "kind": "patch",
          "published_at": "2025-07-23T09:30:30Z"
        },
        {
          "tag": "v28.1.0",
          "kind": "minor",
          "published_at": "2025-07-11T08:02:57Z"
        },
        {
          "tag": "v28.0.0",
          "kind": "major",
          "published_at": "2025-06-17T15:08:26Z"
        },
        {
          "tag": "v27.4.0",
          "kind": "minor",
          "published_at": "2025-05-08T09:35:19Z"
        },
        {
          "tag": "v27.3.0",
          "kind": "minor",
          "published_at": "2025-03-29T13:48:30Z"
        },
        {
          "tag": "v27.2.0",
          "kind": "minor",
          "published_at": "2025-03-20T07:18:05Z"
        },
        {
          "tag": "v27.1.0",
          "kind": "minor",
          "published_at": "2025-03-17T10:57:49Z"
        },
        {
          "tag": "v27.0.3",
          "kind": "patch",
          "published_at": "2025-03-17T10:10:13Z"
        },
        {
          "tag": "v27.0.2",
          "kind": "patch",
          "published_at": "2025-03-17T09:40:46Z"
        },
        {
          "tag": "v27.0.1",
          "kind": "patch",
          "published_at": "2025-03-15T14:26:00Z"
        },
        {
          "tag": "v27.0.0",
          "kind": "major",
          "published_at": "2025-03-13T15:56:49Z"
        },
        {
          "tag": "v26.2.0",
          "kind": "minor",
          "published_at": "2025-02-27T15:28:08Z"
        },
        {
          "tag": "v26.1.1",
          "kind": "patch",
          "published_at": "2025-02-21T12:11:33Z"
        },
        {
          "tag": "v26.1.0",
          "kind": "minor",
          "published_at": "2025-02-19T13:02:19Z"
        },
        {
          "tag": "v26.0.0",
          "kind": "major",
          "published_at": "2024-12-16T08:47:46Z"
        },
        {
          "tag": "v25.5.0",
          "kind": "minor",
          "published_at": "2024-12-04T13:23:57Z"
        },
        {
          "tag": "v25.4.1",
          "kind": "patch",
          "published_at": "2024-11-29T10:51:43Z"
        },
        {
          "tag": "v25.4.0",
          "kind": "minor",
          "published_at": "2024-11-29T10:38:08Z"
        },
        {
          "tag": "v25.3.0",
          "kind": "minor",
          "published_at": "2024-11-25T10:33:30Z"
        },
        {
          "tag": "v25.2.0",
          "kind": "minor",
          "published_at": "2024-11-07T14:04:25Z"
        },
        {
          "tag": "v25.1.0",
          "kind": "minor",
          "published_at": "2024-10-29T13:53:31Z"
        },
        {
          "tag": "v25.0.0",
          "kind": "major",
          "published_at": "2024-10-21T14:51:33Z"
        },
        {
          "tag": "v24.3.1",
          "kind": "patch",
          "published_at": "2024-10-07T12:05:46Z"
        },
        {
          "tag": "v24.3.0",
          "kind": "minor",
          "published_at": "2024-09-30T12:44:34Z"
        },
        {
          "tag": "v24.2.1",
          "kind": "patch",
          "published_at": "2024-09-30T12:12:29Z"
        },
        {
          "tag": "v24.2.0",
          "kind": "minor",
          "published_at": "2024-09-30T09:11:46Z"
        },
        {
          "tag": "v24.1.0",
          "kind": "minor",
          "published_at": "2024-09-30T08:52:16Z"
        },
        {
          "tag": "v24.0.0",
          "kind": "major",
          "published_at": "2024-09-28T09:00:33Z"
        },
        {
          "tag": "v23.2.0",
          "kind": "minor",
          "published_at": "2024-09-12T09:24:41Z"
        },
        {
          "tag": "v23.1.1",
          "kind": "patch",
          "published_at": "2024-09-04T13:53:16Z"
        },
        {
          "tag": "v23.1.0",
          "kind": "minor",
          "published_at": "2024-09-04T08:52:36Z"
        },
        {
          "tag": "v23.0.0",
          "kind": "major",
          "published_at": "2024-09-02T07:35:41Z"
        },
        {
          "tag": "v22.0.1",
          "kind": "patch",
          "published_at": "2024-08-26T08:10:00Z"
        },
        {
          "tag": "v22.0.0",
          "kind": "major",
          "published_at": "2024-08-23T10:33:26Z"
        },
        {
          "tag": "v21.7.0",
          "kind": "minor",
          "published_at": "2024-08-16T14:56:24Z"
        },
        {
          "tag": "v21.6.0",
          "kind": "minor",
          "published_at": "2024-08-07T08:31:59Z"
        },
        {
          "tag": "v21.5.0",
          "kind": "minor",
          "published_at": "2024-08-06T14:03:32Z"
        },
        {
          "tag": "v21.4.2",
          "kind": "patch",
          "published_at": "2024-08-06T08:03:20Z"
        },
        {
          "tag": "v21.4.1",
          "kind": "patch",
          "published_at": "2024-07-22T10:57:07Z"
        },
        {
          "tag": "v21.4.0",
          "kind": "minor",
          "published_at": "2024-07-22T08:57:58Z"
        },
        {
          "tag": "v21.3.0",
          "kind": "minor",
          "published_at": "2024-06-25T13:16:02Z"
        },
        {
          "tag": "v21.2.2",
          "kind": "patch",
          "published_at": "2024-06-21T18:18:23Z"
        },
        {
          "tag": "v21.2.1",
          "kind": "patch",
          "published_at": "2024-06-19T14:24:21Z"
        },
        {
          "tag": "v21.2.0",
          "kind": "minor",
          "published_at": "2024-06-12T09:46:44Z"
        },
        {
          "tag": "v21.0.0",
          "kind": "major",
          "published_at": "2024-06-09T12:23:29Z"
        },
        {
          "tag": "v20.2.2",
          "kind": "patch",
          "published_at": "2024-06-03T08:19:45Z"
        },
        {
          "tag": "v20.2.1",
          "kind": "patch",
          "published_at": "2024-06-03T07:48:47Z"
        },
        {
          "tag": "v20.2.0",
          "kind": "minor",
          "published_at": "2024-05-31T16:14:12Z"
        },
        {
          "tag": "v20.1.0",
          "kind": "minor",
          "published_at": "2024-05-30T09:27:22Z"
        },
        {
          "tag": "v20.0.0",
          "kind": "major",
          "published_at": "2024-05-06T08:04:21Z"
        },
        {
          "tag": "v19.1.0",
          "kind": "minor",
          "published_at": "2024-05-06T08:00:12Z"
        },
        {
          "tag": "v19.0.0",
          "kind": "major",
          "published_at": "2024-05-04T12:47:29Z"
        },
        {
          "tag": "v18.0.0",
          "kind": "major",
          "published_at": "2024-04-24T22:34:11Z"
        },
        {
          "tag": "v17.1.1",
          "kind": "patch",
          "published_at": "2024-04-15T07:35:27Z"
        },
        {
          "tag": "v17.1.0",
          "kind": "minor",
          "published_at": "2024-04-12T14:54:05Z"
        },
        {
          "tag": "v17.0.3",
          "kind": "patch",
          "published_at": "2024-03-29T11:03:51Z"
        },
        {
          "tag": "v17.0.2",
          "kind": "patch",
          "published_at": "2024-03-28T10:43:55Z"
        },
        {
          "tag": "v17.0.0",
          "kind": "major",
          "published_at": "2024-03-19T12:46:18Z"
        },
        {
          "tag": "v16.6.0",
          "kind": "minor",
          "published_at": "2024-02-27T13:51:46Z"
        },
        {
          "tag": "v16.5.0",
          "kind": "minor",
          "published_at": "2024-02-27T12:52:06Z"
        },
        {
          "tag": "v16.4.0",
          "kind": "minor",
          "published_at": "2024-02-12T12:58:25Z"
        },
        {
          "tag": "v16.3.1",
          "kind": "patch",
          "published_at": "2024-01-07T10:23:02Z"
        },
        {
          "tag": "v16.3.0",
          "kind": "minor",
          "published_at": "2024-01-06T19:00:22Z"
        },
        {
          "tag": "v16.2.2",
          "kind": "patch",
          "published_at": "2023-12-11T19:13:34Z"
        },
        {
          "tag": "v16.2.1",
          "kind": "patch",
          "published_at": "2023-12-05T12:08:39Z"
        },
        {
          "tag": "v16.2.0",
          "kind": "minor",
          "published_at": "2023-12-05T08:55:36Z"
        },
        {
          "tag": "v16.1.0",
          "kind": "minor",
          "published_at": "2023-12-04T16:26:32Z"
        },
        {
          "tag": "v16.0.0",
          "kind": "major",
          "published_at": "2023-11-30T23:24:54Z"
        },
        {
          "tag": "v15.3.0",
          "kind": "minor",
          "published_at": "2023-11-28T16:19:15Z"
        },
        {
          "tag": "v15.2.0",
          "kind": "minor",
          "published_at": "2023-11-27T18:31:02Z"
        },
        {
          "tag": "v15.1.0",
          "kind": "minor",
          "published_at": "2023-11-21T12:20:06Z"
        },
        {
          "tag": "v15.0.0",
          "kind": "major",
          "published_at": "2023-10-06T09:58:49Z"
        },
        {
          "tag": "v14.2.1",
          "kind": "patch",
          "published_at": "2023-09-22T11:22:00Z"
        },
        {
          "tag": "v14.2.0",
          "kind": "minor",
          "published_at": "2023-09-22T10:15:53Z"
        },
        {
          "tag": "v14.1.1",
          "kind": "patch",
          "published_at": "2023-09-20T11:28:08Z"
        },
        {
          "tag": "v14.1.0",
          "kind": "minor",
          "published_at": "2023-09-08T14:21:15Z"
        },
        {
          "tag": "v14.0.0",
          "kind": "major",
          "published_at": "2023-09-08T11:49:13Z"
        },
        {
          "tag": "v13.1.1",
          "kind": "patch",
          "published_at": "2023-09-06T17:28:20Z"
        },
        {
          "tag": "v13.1.0",
          "kind": "minor",
          "published_at": "2023-09-06T16:32:58Z"
        },
        {
          "tag": "v13.0.0",
          "kind": "major",
          "published_at": "2023-09-04T07:44:22Z"
        },
        {
          "tag": "v12.0.0",
          "kind": "major",
          "published_at": "2023-07-12T21:49:24Z"
        },
        {
          "tag": "v11.0.0",
          "kind": "major",
          "published_at": "2023-07-06T07:37:37Z"
        },
        {
          "tag": "v10.1.0",
          "kind": "minor",
          "published_at": "2023-07-05T14:39:19Z"
        },
        {
          "tag": "v10.0.0",
          "kind": "major",
          "published_at": "2023-07-05T08:06:26Z"
        },
        {
          "tag": "v9.0.0",
          "kind": "major",
          "published_at": "2023-06-20T16:23:06Z"
        },
        {
          "tag": "v8.0.0",
          "kind": "major",
          "published_at": "2023-05-18T10:13:24Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "43219cc01d4ac7be585380826a6b914bc3cd229d",
          "body": "Bumps [dd-trace](https://github.com/DataDog/dd-trace-js) from 6.4.0 to 6.6.0.\n- [Release notes](https://github.com/DataDog/dd-trace-js/releases)\n- [Commits](https://github.com/DataDog/dd-trace-js/compare/v6.4.0...v6.6.0)\n\n---\nupdated-dependencies:\n- dependency-name: dd-trace\n  dependency-version: 6.\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump dd-trace from 6.4.0 to 6.6.0 (#442)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-27T11:54:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "547a8aa9e578672abc1f61b2e74c0935bc87d51c",
          "body": "Bumps [bullmq](https://github.com/taskforcesh/bullmq) from 5.80.9 to 5.81.2.\n- [Release notes](https://github.com/taskforcesh/bullmq/releases)\n- [Commits](https://github.com/taskforcesh/bullmq/compare/v5.80.9...v5.81.2)\n\n---\nupdated-dependencies:\n- dependency-name: bullmq\n  dependency-version: 5.81.\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump bullmq from 5.80.9 to 5.81.2 (#441)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-27T11:54:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d1ba5141049db3f98862bfed58e6dcd4c072618e",
          "body": "Bumps [@amplitude/analytics-node](https://github.com/amplitude/Amplitude-TypeScript) from 1.5.66 to 1.5.68.\n- [Release notes](https://github.com/amplitude/Amplitude-TypeScript/releases)\n- [Commits](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/analytics-node@1.5.66...@amplitud\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @amplitude/analytics-node from 1.5.66 to 1.5.68 (#440)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-27T11:53:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8a9a2b434a907efbde9a399f47bffafd5dad018c",
          "body": "Bumps [@lokalise/backend-http-client](https://github.com/lokalise/shared-ts-libs/tree/HEAD/packages/app/backend-http-client) from 10.1.0 to 12.0.0.\n- [Release notes](https://github.com/lokalise/shared-ts-libs/releases)\n- [Changelog](https://github.com/lokalise/shared-ts-libs/blob/main/packages/app/b\n[…]\nrect:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @lokalise/backend-http-client from 10.1.0 to 12.0.0 (#438)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-20T11:54:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "854833d4575c2642a7d6bcb25e5052b737d6f20b",
          "body": "Bumps [dd-trace](https://github.com/DataDog/dd-trace-js) from 6.2.0 to 6.4.0.\n- [Release notes](https://github.com/DataDog/dd-trace-js/releases)\n- [Commits](https://github.com/DataDog/dd-trace-js/compare/v6.2.0...v6.4.0)\n\n---\nupdated-dependencies:\n- dependency-name: dd-trace\n  dependency-version: 6.\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump dd-trace from 6.2.0 to 6.4.0 (#436)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-20T11:54:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9f21a9939ded1993206f4d7eb502409cb774de87",
          "body": "Bumps [bullmq](https://github.com/taskforcesh/bullmq) from 5.80.2 to 5.80.9.\n- [Release notes](https://github.com/taskforcesh/bullmq/releases)\n- [Commits](https://github.com/taskforcesh/bullmq/compare/v5.80.2...v5.80.9)\n\n---\nupdated-dependencies:\n- dependency-name: bullmq\n  dependency-version: 5.80.\n[…]\nrect:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump bullmq from 5.80.2 to 5.80.9 (#435)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-20T11:53:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c2de876287853b561c9ad9c3367878b891f2b499",
          "body": "Bumps [@amplitude/analytics-node](https://github.com/amplitude/Amplitude-TypeScript) from 1.5.63 to 1.5.66.\n- [Release notes](https://github.com/amplitude/Amplitude-TypeScript/releases)\n- [Commits](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/analytics-node@1.5.63...@amplitud\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @amplitude/analytics-node from 1.5.63 to 1.5.66 (#434)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-20T11:53:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "af44ef004b2e9d84e3716d31b5a6f1650a7f2f64",
          "body": "Bumps [@bugsnag/node](https://github.com/bugsnag/bugsnag-js) from 8.9.0 to 8.10.0.\n- [Release notes](https://github.com/bugsnag/bugsnag-js/releases)\n- [Changelog](https://github.com/bugsnag/bugsnag-js/blob/next/CHANGELOG.md)\n- [Commits](https://github.com/bugsnag/bugsnag-js/compare/v8.9.0...v8.10.0)\n[…]\nirect:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @bugsnag/node from 8.9.0 to 8.10.0 (#429)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-13T11:57:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "254228287e25f7a453dd64118c3ed856bbfadf32",
          "body": "Bumps [@lokalise/background-jobs-common](https://github.com/lokalise/shared-ts-libs/tree/HEAD/packages/app/background-jobs-common) from 14.4.1 to 14.4.2.\n- [Release notes](https://github.com/lokalise/shared-ts-libs/releases)\n- [Changelog](https://github.com/lokalise/shared-ts-libs/blob/main/packages\n[…]\nrect:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @lokalise/background-jobs-common from 14.4.1 to 14.4.2 (#430)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-13T11:56:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "02cd9249c0327176576e4cff17cc668048a6fc69",
          "body": "Bumps [@amplitude/analytics-node](https://github.com/amplitude/Amplitude-TypeScript) from 1.5.62 to 1.5.63.\n- [Release notes](https://github.com/amplitude/Amplitude-TypeScript/releases)\n- [Commits](https://github.com/amplitude/Amplitude-TypeScript/compare/@amplitude/analytics-node@1.5.62...@amplitud\n[…]\nirect:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @amplitude/analytics-node from 1.5.62 to 1.5.63 (#432)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-13T11:55:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f585253f320d003db87b8ef49f593758b52b12bb",
          "body": "Bumps [bullmq](https://github.com/taskforcesh/bullmq) from 5.79.2 to 5.80.2.\n- [Release notes](https://github.com/taskforcesh/bullmq/releases)\n- [Commits](https://github.com/taskforcesh/bullmq/compare/v5.79.2...v5.80.2)\n\n---\nupdated-dependencies:\n- dependency-name: bullmq\n  dependency-version: 5.80.\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump bullmq from 5.79.2 to 5.80.2 (#428)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-13T11:54:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9f328d6c353eeb7167da84d00644808a4d62b261",
          "body": "Bumps [dd-trace](https://github.com/DataDog/dd-trace-js) from 6.0.0 to 6.2.0.\n- [Release notes](https://github.com/DataDog/dd-trace-js/releases)\n- [Commits](https://github.com/DataDog/dd-trace-js/compare/v6.0.0...v6.2.0)\n\n---\nupdated-dependencies:\n- dependency-name: dd-trace\n  dependency-version: 6.\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump dd-trace from 6.0.0 to 6.2.0 (#427)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-13T11:53:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "55484601e49276b08d93635195b3113e70a7e01c",
          "body": "Bumps [@bugsnag/js](https://github.com/bugsnag/bugsnag-js) from 8.9.0 to 8.10.0.\n- [Release notes](https://github.com/bugsnag/bugsnag-js/releases)\n- [Changelog](https://github.com/bugsnag/bugsnag-js/blob/next/CHANGELOG.md)\n- [Commits](https://github.com/bugsnag/bugsnag-js/compare/v8.9.0...v8.10.0)\n\n\n[…]\nirect:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @bugsnag/js from 8.9.0 to 8.10.0 (#426)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-13T11:53:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "50ddcfa1e2a93dde8507f63d6d86065496e53f89",
          "body": "Bumps [dd-trace](https://github.com/DataDog/dd-trace-js) from 5.111.0 to 6.0.0.\n- [Release notes](https://github.com/DataDog/dd-trace-js/releases)\n- [Commits](https://github.com/DataDog/dd-trace-js/compare/v5.111.0...v6.0.0)\n\n---\nupdated-dependencies:\n- dependency-name: dd-trace\n  dependency-version\n[…]\nrect:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump dd-trace from 5.111.0 to 6.0.0 (#425)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-06T11:54:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6ffe76714dcff6bc3f02d548cebce354595a38e5",
          "body": "Bumps [fastify](https://github.com/fastify/fastify) from 5.9.0 to 5.10.0.\n- [Release notes](https://github.com/fastify/fastify/releases)\n- [Commits](https://github.com/fastify/fastify/compare/v5.9.0...v5.10.0)\n\n---\nupdated-dependencies:\n- dependency-name: fastify\n  dependency-version: 5.10.0\n  depen\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump fastify from 5.9.0 to 5.10.0 (#423)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-06T11:54:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "965f943b792d456d8c0e22b0a0a675de9487ce84",
          "body": "Bumps [fastify-plugin](https://github.com/fastify/fastify-plugin) from 5.1.0 to 6.0.0.\n- [Release notes](https://github.com/fastify/fastify-plugin/releases)\n- [Commits](https://github.com/fastify/fastify-plugin/compare/v5.1.0...v6.0.0)\n\n---\nupdated-dependencies:\n- dependency-name: fastify-plugin\n  d\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump fastify-plugin from 5.1.0 to 6.0.0 (#414)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-03T14:59:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cfc42642219be7cf968960c191f1b1db4ea42e63",
          "body": null,
          "is_bot": false,
          "headline": "31.0.1",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2026-07-03T14:56:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "861e9f42acc94e73d9a6d6367523b176336df710",
          "body": "* Migrate to pnpm, Vitest 4, and latest toad-cache\n\n- Switch package manager from npm to pnpm 11.9.0 (packageManager field,\n  pnpm-lock.yaml, pnpm-workspace.yaml); update CI/release workflows to use\n  pnpm/action-setup and `pnpm install --frozen-lockfile`.\n- Bump vitest and @vitest/coverage-v8 to ^4\n[…]\n isolate:false to preserve shared-worker behavior\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Migrate to pnpm, Vitest 4, and latest toad-cache (#420)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2026-07-03T14:56:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5b3974e53c618a526cb832af7e6f3f587b540f85",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v6...v7)\n\n---\nupdated-dependenc\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/checkout from 6 to 7 (#419)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-01T11:53:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "42a542b4129c972c83aeec7e70360ff30d45a81d",
          "body": "Bumps [fastify-type-provider-zod](https://github.com/turkerdev/fastify-type-provider-zod) from 6.1.0 to 7.0.0.\n- [Release notes](https://github.com/turkerdev/fastify-type-provider-zod/releases)\n- [Commits](https://github.com/turkerdev/fastify-type-provider-zod/commits/7.0.0)\n\n---\nupdated-dependencie\n[…]\nrect:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump fastify-type-provider-zod from 6.1.0 to 7.0.0 (#416)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-29T11:53:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fb700aa7d8fdcef36df2565690e436f16d22ff9c",
          "body": null,
          "is_bot": false,
          "headline": "31.0.0",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2026-05-14T14:16:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7541b9580f0bfb7d4c5935d15065f6c4504132ac",
          "body": null,
          "is_bot": false,
          "headline": "Remove newrelic (#404)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2026-05-14T14:16:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2c1c1708aa4f1704c12143d7f84deee54a1be63",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.18.0 to 13.19.1.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/NEWS.md)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13.18.0\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.18.0 to 13.19.1 (#392)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-20T13:31:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "483cbb895f31061569b2f89c1b4f9324eca777aa",
          "body": null,
          "is_bot": false,
          "headline": "30.7.2",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2026-04-15T06:02:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ef68c6a31f572ffb1dd10188d392daab12364ce",
          "body": "* feat: add handling for fastify errors\n\n* fix: hide internal server message\n\n---------\n\nCo-authored-by: Mateusz Tkacz <mateusz.tkacz@lokalise.com>",
          "is_bot": false,
          "headline": "feat: add handling for fastify errors (#391)",
          "author_name": "Mateusz Tkacz",
          "author_login": "CatchMe2",
          "committed_at": "2026-04-15T06:02:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53be1438d63a17faa8b37a8f4f491e91be28cb5c",
          "body": null,
          "is_bot": false,
          "headline": "30.7.1",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2026-04-07T12:31:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "274f6109a8562b40c1b3fd9dbed6c23cc34482cc",
          "body": null,
          "is_bot": false,
          "headline": "Handle errors gracefully (#387)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2026-04-07T12:31:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9dda393a633a3ee18e4db6bccf0ae85c1292e8dd",
          "body": "Bumps [fastify-metrics](https://github.com/SkeLLLa/fastify-metrics) from 12.1.0 to 13.2.0.\n- [Release notes](https://github.com/SkeLLLa/fastify-metrics/releases)\n- [Changelog](https://github.com/SkeLLLa/fastify-metrics/blob/master/docs/CHANGELOG.md)\n- [Commits](https://github.com/SkeLLLa/fastify-met\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump fastify-metrics from 12.1.0 to 13.2.0 (#386)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-06T11:55:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4a02e331c7fd042e9c6c58c576df36cbd8320a3a",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.17.0 to 13.18.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/NEWS.md)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13.17.0\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.17.0 to 13.18.0 (#384)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-06T11:54:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fd67520b645aa9966ad54d745f02389dd5530559",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.16.0 to 13.17.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/NEWS.md)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13.16.0\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.16.0 to 13.17.0 (#379)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-23T11:55:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cb0cbaefa1d925624203e9ede10c4a249464426c",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.13.0 to 13.16.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/NEWS.md)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13.13.0\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.13.0 to 13.16.0 (#374)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-16T11:58:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e8c9c599a5479a7f2eb46d60c814b2257cc4deb0",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.12.0 to 13.13.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.12.0 to 13.13.0 (#371)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-23T12:40:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6f228336d7a92fd902321eeed3251e06ed16d83b",
          "body": null,
          "is_bot": false,
          "headline": "30.7.0",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2026-02-11T13:01:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e6eab3547e577818ddf37546849f61b0baf76d1",
          "body": null,
          "is_bot": false,
          "headline": "Datadog plugin (#368)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2026-02-11T13:01:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5549540c6ae30eacdb564ef8e20c8bb36845d620",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.11.0 to 13.12.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.11.0 to 13.12.0 (#367)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-09T13:07:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e780a7e5be864f7665bc851d5288d681a03b5e2a",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.10.0 to 13.11.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.10.0 to 13.11.0 (#364)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-02T13:10:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a1275730d13d741284f1677037abff6d3de4036e",
          "body": null,
          "is_bot": false,
          "headline": "30.6.0",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2026-01-31T14:32:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7bc9d092cb5538b56a3ea547f2747a74e1e3e43f",
          "body": null,
          "is_bot": false,
          "headline": "Adding FakeAmplitude utility (#363)",
          "author_name": "CarlosGamero",
          "author_login": "CarlosGamero",
          "committed_at": "2026-01-31T14:32:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a237c9359c2fff6b991836d7601ea386e78958bc",
          "body": null,
          "is_bot": false,
          "headline": "30.5.0",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2026-01-28T09:21:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a7795171013801ed4d35c99069da3e444ccf1065",
          "body": null,
          "is_bot": false,
          "headline": "Standard request logging configuration (#362)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2026-01-28T09:21:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f07d4c4d9f9c06bf177487be0395ebe2e70049e6",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.9.2 to 13.10.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v1\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.9.2 to 13.10.0 (#359)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-26T12:52:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d85be049791142031b54e52102c3c8b84d55bcdf",
          "body": null,
          "is_bot": false,
          "headline": "30.4.0",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2026-01-22T17:15:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1fc31b89be13982cef8131aaf0528a76f8f70558",
          "body": "* Triggering release\n\n* Revert \"Triggering release\"\n\nThis reverts commit af06214ca9f88e5d6ac2c45c983e8e8b24c21208.\n\n* Trigger release",
          "is_bot": false,
          "headline": "Triggering release (#357)",
          "author_name": "CarlosGamero",
          "author_login": "CarlosGamero",
          "committed_at": "2026-01-22T17:11:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee138af9f2e95b6aa7f7c2ffc1301584e269e281",
          "body": null,
          "is_bot": false,
          "headline": "Trying to fix release (#356)",
          "author_name": "CarlosGamero",
          "author_login": "CarlosGamero",
          "committed_at": "2026-01-22T17:02:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9441317b8e453bea20e7abcf58acb8b6bf8bc296",
          "body": "* Adding new API props to logger child on request context\n\n* Adding new request context tests\n\n* npm OIDC\n\n* Adding doc",
          "is_bot": false,
          "headline": "feat: req context logger api props (#355)",
          "author_name": "CarlosGamero",
          "author_login": "CarlosGamero",
          "committed_at": "2026-01-22T16:56:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4f5bc428180c8193c4f2248a960e0bcb5474a4ee",
          "body": null,
          "is_bot": false,
          "headline": "Prepare to release 30.3.0",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2026-01-19T16:39:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6a12e3bc057a05beb74c17784c544e5a9387889",
          "body": null,
          "is_bot": false,
          "headline": "Add OpenTelemetry observability manager (#353)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2026-01-19T16:23:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a2840675f0f031fe4dfda446b00c8b976e643f9",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.9.0 to 13.9.2.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13\n[…]\nrect:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.9.0 to 13.9.2 (#352)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-19T13:28:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "30e17473864bf551ad62ce1216a5ceb175281ce3",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.8.1 to 13.9.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.8.1 to 13.9.0 (#351)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-12T14:42:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3e90b73e618b6854a797fb8bdd303e4a216ad1f5",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v5...v6)\n\n---\nupdated-dependenc\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/checkout from 5 to 6 (#347)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-01-01T11:02:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "837b1007b7f3b42cbef10d6ca6e84c42515e59f1",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.8.0 to 13.8.1.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13\n[…]\nrect:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.8.0 to 13.8.1 (#343)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-12-22T11:04:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5eaee36636991cff6da8574fe0c73438fcc445be",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.6.6 to 13.8.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.6.6 to 13.8.0 (#342)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-12-15T11:05:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1aee567637b68143db9ac702d91c53cb8c2e691d",
          "body": "Bumps [@lokalise/backend-http-client](https://github.com/lokalise/shared-ts-libs) from 9.0.0 to 10.0.0.\n- [Commits](https://github.com/lokalise/shared-ts-libs/commits)\n\n---\nupdated-dependencies:\n- dependency-name: \"@lokalise/backend-http-client\"\n  dependency-version: 10.0.0\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @lokalise/backend-http-client from 9.0.0 to 10.0.0 (#331)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-11-24T12:58:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e8e2eb23ed15a668a4da04958ce297e6b9452512",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.6.4 to 13.6.6.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13\n[…]\nrect:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.6.4 to 13.6.6 (#335)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-11-24T11:37:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c13ba699d4c50b86a0f5f5b212dc3c79046a29ca",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.5.0 to 13.6.4.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.5.0 to 13.6.4 (#329)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-11-17T11:32:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "09562f1b48f39c1b1c95661258af5a5c9196430e",
          "body": "Bumps [@lokalise/backend-http-client](https://github.com/lokalise/shared-ts-libs) from 7.3.1 to 9.0.0.\n- [Commits](https://github.com/lokalise/shared-ts-libs/commits)\n\n---\nupdated-dependencies:\n- dependency-name: \"@lokalise/backend-http-client\"\n  dependency-version: 9.0.0\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @lokalise/backend-http-client from 7.3.1 to 9.0.0 (#319)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-11-03T11:05:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ea4eca8127cf867f4c815099fca3d404d8b19d4",
          "body": "Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5 to 6.\n- [Release notes](https://github.com/actions/setup-node/releases)\n- [Commits](https://github.com/actions/setup-node/compare/v5...v6)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-node\n  dependency-version: '\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/setup-node from 5 to 6 (#318)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-11-01T11:02:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b1f6ec1a98b3d9821656901c88310b1568d6542c",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.4.0 to 13.5.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.4.0 to 13.5.0 (#314)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-10-20T11:58:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "14d9b2c68a0f044c24b97895066421d83f031865",
          "body": null,
          "is_bot": false,
          "headline": "30.2.1",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2025-10-07T11:40:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c0b63b9e2b415ab148a4cc9468fb1ea2021928c",
          "body": null,
          "is_bot": false,
          "headline": "Support pino 10 (#312)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2025-10-07T11:39:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5698539301c8eca070e7ccfbc3c76559a550db6c",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.3.3 to 13.4.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.3.3 to 13.4.0 (#309)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-10-06T11:50:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8867497f5b789c16697a48a3e3eeded300a0cad8",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v4...v5)\n\n---\nupdated-dependenc\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/checkout from 4 to 5 (#307)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-10-01T11:04:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f105384cf6f52fe8a6d918d88dfbdb8b4be56246",
          "body": "Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5.\n- [Release notes](https://github.com/actions/setup-node/releases)\n- [Commits](https://github.com/actions/setup-node/compare/v4...v5)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-node\n  dependency-version: '\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/setup-node from 4 to 5 (#308)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-10-01T11:02:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f072a0b3ad85e1c434c18cf700de0ad09a5dc04a",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.3.2 to 13.3.3.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13\n[…]\nrect:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.3.2 to 13.3.3 (#306)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-09-29T14:43:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "69c762adc121a714c0e7d2a6a6508ff23986e840",
          "body": null,
          "is_bot": false,
          "headline": "30.2.0",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2025-09-18T07:02:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eaadb87c9a37973160eb81adcb71b5e175a7599b",
          "body": null,
          "is_bot": false,
          "headline": "Implement startup healthchecking (#305)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2025-09-18T07:01:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "966ba70503ac558641d8b691d282744ba663a62f",
          "body": null,
          "is_bot": false,
          "headline": "30.1.0",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2025-09-17T11:13:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f83b20991755fd660ed0a14968ffe1cce891bce0",
          "body": null,
          "is_bot": false,
          "headline": "Add sync healthcheck plugin (#304)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2025-09-17T11:13:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "606630962ada22b8e51b2d0133dfd628433543e9",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.2.1 to 13.3.2.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.2.1 to 13.3.2 (#302)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-09-15T12:18:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "33dc43b945e1990bb0bf4742284f519a806ffae2",
          "body": "Bumps [@lokalise/tsconfig](https://github.com/lokalise/shared-ts-libs) from 2.0.0 to 3.0.0.\n- [Commits](https://github.com/lokalise/shared-ts-libs/commits)\n\n---\nupdated-dependencies:\n- dependency-name: \"@lokalise/tsconfig\"\n  dependency-version: 3.0.0\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @lokalise/tsconfig from 2.0.0 to 3.0.0 (#300)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-09-08T11:25:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "906f8629c7ef0a5884525e71ff00e09ff81ccdf0",
          "body": null,
          "is_bot": false,
          "headline": "30.0.0",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2025-09-01T09:15:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53e36f3bd2f646461e20a4558af13d54a0629053",
          "body": null,
          "is_bot": false,
          "headline": "Update dependencies (#299)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2025-09-01T09:15:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4a1356a80ea4cc2283c175d68e841bdd23d505d",
          "body": null,
          "is_bot": false,
          "headline": "29.0.1",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2025-08-28T15:56:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be6010310eaeed8b0ccc1f5d8d5cc4548f8853fe",
          "body": "* Taking into account key prefix\n\n* bullmq fix\n\n* Adjusting tests to cover key prefix\n\n* Fixing RedisBasedQueueDiscoverer\n\n* Covering BackgroundJobsBasedQueueDiscoverer with tests\n\n* Minor fix",
          "is_bot": false,
          "headline": "Bugfix: bullmq plugin fix (#298)",
          "author_name": "CarlosGamero",
          "author_login": "CarlosGamero",
          "committed_at": "2025-08-28T15:55:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a86fa39495b2f28f91bdc45d8ea3095d072caa6d",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 13.0.0 to 13.2.1.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v13\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 13.0.0 to 13.2.1 (#297)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-08-26T01:36:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f5bac563244accec3cd41c8d30a5663cd958e2a9",
          "body": "Bumps [@lokalise/background-jobs-common](https://github.com/lokalise/shared-ts-libs) from 13.3.0 to 14.0.1.\n- [Commits](https://github.com/lokalise/shared-ts-libs/commits)\n\n---\nupdated-dependencies:\n- dependency-name: \"@lokalise/background-jobs-common\"\n  dependency-version: 14.0.1\n  dependency-type:\n[…]\nrect:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @lokalise/background-jobs-common from 13.3.0 to 14.0.1 (#295)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-08-11T17:13:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "979f96fcf1cf05b69b4c8add55189dfb79a657fd",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 12.25.0 to 13.0.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v1\n[…]\nrect:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 12.25.0 to 13.0.0 (#291)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-08-04T15:03:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2d326e8c81ba993c9974d112c7e62dfc5a325fda",
          "body": null,
          "is_bot": false,
          "headline": "29.0.0",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2025-08-01T12:09:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9d132ff87c717ae27355b57d6ae3c22b002df0a",
          "body": null,
          "is_bot": false,
          "headline": "Remove sanitization which shouldn't be needed anymore (#289)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2025-08-01T12:08:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1edf6a6e0e1c5f2b817055e33ce35f25fffb8193",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 12.23.0 to 12.25.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 12.23.0 to 12.25.0 (#285)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-07-23T09:33:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "20e88a07d8a6bd677f5348a485dfbb249ab1b12a",
          "body": null,
          "is_bot": false,
          "headline": "28.1.1",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2025-07-23T09:30:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3d491fde60fd3bb348eece8dfdf71f0fd9c204a",
          "body": null,
          "is_bot": false,
          "headline": "Support zod version range (#287)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2025-07-23T09:29:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "276153140379a0b6b8fc737afc3f2b60acdaacd1",
          "body": "Bumps [zod](https://github.com/colinhacks/zod) from 3.25.76 to 4.0.5.\n- [Release notes](https://github.com/colinhacks/zod/releases)\n- [Commits](https://github.com/colinhacks/zod/compare/v3.25.76...v4.0.5)\n\n---\nupdated-dependencies:\n- dependency-name: zod\n  dependency-version: 4.0.5\n  dependency-type\n[…]\nrect:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump zod from 3.25.76 to 4.0.5 (#283)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-07-14T13:29:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d63dca13024f70e2be701878361102c832216884",
          "body": null,
          "is_bot": false,
          "headline": "28.1.0",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2025-07-11T08:02:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "476dfbd39be31902065902d58bc18557834a49fd",
          "body": "Co-authored-by: Mateusz Tkacz <mateusz.tkacz@lokalise.com>",
          "is_bot": false,
          "headline": "feat: remove collecting missleading bullmq metrics (#282)",
          "author_name": "Mateusz Tkacz",
          "author_login": "CatchMe2",
          "committed_at": "2025-07-11T08:02:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "150d23051c108a3a4f0f77b11bc2a171f7a47c07",
          "body": "Bumps [@lokalise/tsconfig](https://github.com/lokalise/shared-ts-libs) from 1.3.0 to 2.0.0.\n- [Commits](https://github.com/lokalise/shared-ts-libs/commits)\n\n---\nupdated-dependencies:\n- dependency-name: \"@lokalise/tsconfig\"\n  dependency-version: 2.0.0\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @lokalise/tsconfig from 1.3.0 to 2.0.0 (#279)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-07-07T14:14:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1c70f0d2a63895946d08db416bd0f6f52d76e58",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 12.22.0 to 12.23.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 12.22.0 to 12.23.0 (#281)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-07-07T14:11:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0636367f43fbce66e033af19c30616b3488b51a3",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 12.21.0 to 12.22.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 12.21.0 to 12.22.0 (#277)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-06-30T14:09:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f3dca974d708b8005696e6a492ee9bd187898633",
          "body": "---\nupdated-dependencies:\n- dependency-name: \"@lokalise/background-jobs-common\"\n  dependency-version: 13.0.0\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @lokalise/background-jobs-common from 12.6.0 to 13.0.0 (#274)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-06-23T13:32:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98ecb33ac897e8f67aae87539400d5c7c053c41e",
          "body": null,
          "is_bot": false,
          "headline": "28.0.0",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2025-06-17T15:08:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86520e410e7adcc3365892be359980ab1e0d8fc2",
          "body": null,
          "is_bot": false,
          "headline": "Switch to zod v4 (#272)",
          "author_name": "Igor Savin",
          "author_login": "kibertoad",
          "committed_at": "2025-06-17T15:07:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3f5aace79675c80504baaa351eeb476650d24fd",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 12.20.0 to 12.21.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 12.20.0 to 12.21.0 (#268)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-06-09T12:09:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ab56dc93213ae8c933b5d3f7669b4b18e712f6cf",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 12.19.0 to 12.20.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 12.19.0 to 12.20.0 (#267)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-06-02T11:57:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3e59c3c1572c29565d2123cf3b5d8c48460e108c",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 12.18.2 to 12.19.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 12.18.2 to 12.19.0 (#266)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-05-26T12:04:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7fd883ae702f2f52e675d7e3465a3924aa59773d",
          "body": "Bumps [@lokalise/node-core](https://github.com/lokalise/node-core) from 13.6.0 to 14.0.1.\n- [Changelog](https://github.com/lokalise/node-core/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/lokalise/node-core/compare/v13.6.0...v14.0.1)\n\n---\nupdated-dependencies:\n- dependency-name: \"@lokalise/\n[…]\nrect:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @lokalise/node-core from 13.6.0 to 14.0.1 (#265)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-05-19T11:45:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d788d10b2c6258d6879dadcb9cfeb43da909bb69",
          "body": null,
          "is_bot": false,
          "headline": "27.4.0",
          "author_name": "AUTO RELEASE",
          "author_login": null,
          "committed_at": "2025-05-08T09:35:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc0b56fdd143a563c886407036d436cd68e6d640",
          "body": "Co-authored-by: Mateusz Tkacz <mateusz.tkacz@lokalise.com>",
          "is_bot": false,
          "headline": "feat: monitor all bull mq job statuses (#264)",
          "author_name": "Mateusz Tkacz",
          "author_login": "CatchMe2",
          "committed_at": "2025-05-08T09:34:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f7462bf5def95795f5cb713e624da94b7a3bf01",
          "body": "Bumps [@lokalise/biome-config](https://github.com/lokalise/shared-ts-libs) from 1.6.1 to 2.0.0.\n- [Commits](https://github.com/lokalise/shared-ts-libs/commits)\n\n---\nupdated-dependencies:\n- dependency-name: \"@lokalise/biome-config\"\n  dependency-version: 2.0.0\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump @lokalise/biome-config from 1.6.1 to 2.0.0 (#262)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-05-05T11:57:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "709360b358d2066d270919dc156c6f1afed97c44",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 12.18.0 to 12.18.2.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v\n[…]\nrect:development\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 12.18.0 to 12.18.2 (#263)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-05-05T11:55:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f82848b8302ddd8d89215847491c6f7ab8d8bd65",
          "body": "Bumps [newrelic](https://github.com/newrelic/node-newrelic) from 12.17.0 to 12.18.0.\n- [Release notes](https://github.com/newrelic/node-newrelic/releases)\n- [Changelog](https://github.com/newrelic/node-newrelic/blob/main/changelog.json)\n- [Commits](https://github.com/newrelic/node-newrelic/compare/v\n[…]\nrect:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump newrelic from 12.17.0 to 12.18.0 (#261)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-04-21T12:02:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 79,
      "latest_release_at": "2026-07-03T14:56:44Z",
      "latest_release_tag": "v31.0.1",
      "releases_from_tags": true,
      "days_since_last_push": 4,
      "active_weeks_last_year": 32,
      "days_since_latest_release": 28,
      "mean_days_between_releases": 32
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@lokalise/fastify-extras",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "fastify",
            "bugsnag",
            "request-context",
            "request-id",
            "split-io"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@lokalise/fastify-extras",
          "is_deprecated": false,
          "latest_version": "31.0.1",
          "repository_url": "https://github.com/lokalise/fastify-extras",
          "versions_count": 124,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 13,
          "monthly_downloads": 21587,
          "first_published_at": "2023-01-02T14:21:35.438000Z",
          "latest_published_at": "2026-07-03T14:56:52.012000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 28
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 7,
      "watchers": 16,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "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": [
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 12887,
      "source_files_sampled": 55,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 64,
        "malicious_count": 0,
        "assessed_package": "npm:@lokalise/fastify-extras@31.0.1",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@amplitude/analytics-node",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.5.7"
        },
        {
          "name": "@bugsnag/js",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.4.0"
        },
        {
          "name": "@bugsnag/node",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.4.0"
        },
        {
          "name": "@fastify/error",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.2.0"
        },
        {
          "name": "@lokalise/error-utils",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.0"
        },
        {
          "name": "@splitsoftware/splitio",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.6.0"
        },
        {
          "name": "@supercharge/promise-pool",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.2.0"
        },
        {
          "name": "fastify-metrics",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^13.2.0"
        },
        {
          "name": "fastify-plugin",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.0.0"
        },
        {
          "name": "prom-client",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^15.1.3"
        },
        {
          "name": "toad-cache",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.7.4"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@amplitude/analytics-node",
            "direct": true,
            "version": "1.5.68",
            "ecosystem": "npm"
          },
          {
            "name": "@bugsnag/js",
            "direct": true,
            "version": "8.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@bugsnag/node",
            "direct": true,
            "version": "8.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/error",
            "direct": true,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@lokalise/error-utils",
            "direct": true,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@splitsoftware/splitio",
            "direct": true,
            "version": "11.11.2",
            "ecosystem": "npm"
          },
          {
            "name": "@supercharge/promise-pool",
            "direct": true,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "fastify-metrics",
            "direct": true,
            "version": "13.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "fastify-plugin",
            "direct": true,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fastify-plugin",
            "direct": true,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "prom-client",
            "direct": true,
            "version": "15.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "toad-cache",
            "direct": true,
            "version": "3.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "@amplitude/analytics-connector",
            "direct": false,
            "version": "1.6.5",
            "ecosystem": "npm"
          },
          {
            "name": "@amplitude/analytics-core",
            "direct": false,
            "version": "2.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "@amplitude/analytics-types",
            "direct": false,
            "version": "2.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@bcoe/v8-coverage",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/biome",
            "direct": false,
            "version": "1.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-darwin-arm64",
            "direct": false,
            "version": "1.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-darwin-x64",
            "direct": false,
            "version": "1.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-linux-arm64",
            "direct": false,
            "version": "1.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-linux-arm64-musl",
            "direct": false,
            "version": "1.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-linux-x64",
            "direct": false,
            "version": "1.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-linux-x64-musl",
            "direct": false,
            "version": "1.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-win32-arm64",
            "direct": false,
            "version": "1.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "@biomejs/cli-win32-x64",
            "direct": false,
            "version": "1.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "@bugsnag/browser",
            "direct": false,
            "version": "8.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@bugsnag/core",
            "direct": false,
            "version": "8.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@bugsnag/cuid",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@bugsnag/safe-json-stringify",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@datadog/flagging-core",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@datadog/libdatadog",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "@datadog/native-appsec",
            "direct": false,
            "version": "11.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@datadog/native-iast-taint-tracking",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@datadog/native-metrics",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@datadog/openfeature-node-server",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@datadog/pprof",
            "direct": false,
            "version": "5.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "@datadog/wasm-js-rewriter",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/ajv-compiler",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/fast-json-stringify-compiler",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/forwarded",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/jwt",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/merge-json-schemas",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/proxy-addr",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@fastify/swagger",
            "direct": false,
            "version": "9.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@ioredis/commands",
            "direct": false,
            "version": "1.10.0",
            "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": "@lokalise/api-contracts",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "@lokalise/backend-http-client",
            "direct": false,
            "version": "12.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@lokalise/background-jobs-common",
            "direct": false,
            "version": "14.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@lokalise/biome-config",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@lokalise/id-utils",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@lokalise/node-core",
            "direct": false,
            "version": "14.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "@lokalise/tsconfig",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@lukeed/ms",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@msgpackr-extract/msgpackr-extract-darwin-arm64",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@msgpackr-extract/msgpackr-extract-darwin-x64",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@msgpackr-extract/msgpackr-extract-linux-arm",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@msgpackr-extract/msgpackr-extract-linux-arm64",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@msgpackr-extract/msgpackr-extract-linux-x64",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@msgpackr-extract/msgpackr-extract-win32-x64",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@openfeature/core",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@openfeature/server-sdk",
            "direct": false,
            "version": "1.22.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/api",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/api-logs",
            "direct": false,
            "version": "0.221.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-android-arm-eabi",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-android-arm64",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-darwin-arm64",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-darwin-x64",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-freebsd-x64",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-arm-musleabihf",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-arm64-gnu",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-arm64-musl",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-riscv64-gnu",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-riscv64-musl",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-s390x-gnu",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-x64-gnu",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-linux-x64-musl",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-openharmony-arm64",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-wasm32-wasi",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-win32-arm64-msvc",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-win32-ia32-msvc",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-parser/binding-win32-x64-msvc",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.139.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pinojs/redact",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@splitsoftware/splitio-commons",
            "direct": false,
            "version": "2.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ioredis",
            "direct": false,
            "version": "4.28.10",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "24.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/seedrandom",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/zen-observable",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/coverage-v8",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "abstract-logging",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-formats",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "asn1.js",
            "direct": false,
            "version": "5.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ast-v8-to-istanbul",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "atomic-sleep",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "auto-changelog",
            "direct": false,
            "version": "2.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "avvio",
            "direct": false,
            "version": "9.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "base64-arraybuffer",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "bintrees",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "bloom-filters",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "4.12.4",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "bullmq",
            "direct": false,
            "version": "5.81.2",
            "ecosystem": "npm"
          },
          {
            "name": "byline",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "cjs-module-lexer",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "cluster-key-slot",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "colorette",
            "direct": false,
            "version": "2.0.20",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "cron-parser",
            "direct": false,
            "version": "4.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "croner",
            "direct": false,
            "version": "10.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cuint",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "dateformat",
            "direct": false,
            "version": "4.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "dc-polyfill",
            "direct": false,
            "version": "0.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "dd-trace",
            "direct": false,
            "version": "6.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "denque",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "dequal",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "dot-prop",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ecdsa-sig-formatter",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "end-of-stream",
            "direct": false,
            "version": "1.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "error-stack-parser",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-copy",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-decode-uri-component",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stringify",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-jwt",
            "direct": false,
            "version": "6.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "fast-querystring",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-safe-stringify",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "fastfall",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "fastify",
            "direct": false,
            "version": "5.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "fastify-type-provider-zod",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fastparallel",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "fastseries",
            "direct": false,
            "version": "1.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-my-way",
            "direct": false,
            "version": "9.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "13.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "handlebars",
            "direct": false,
            "version": "4.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "help-me",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "html-escaper",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "import-cwd",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "import-from",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "import-in-the-middle",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ioredis",
            "direct": false,
            "version": "5.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "ipaddr.js",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-buffer",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "is-obj",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "iserror",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-coverage",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-report",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-reports",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "joycon",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-ref-resolver",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-resolver",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "layerr",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "light-my-request",
            "direct": false,
            "version": "6.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "long",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "7.18.3",
            "ecosystem": "npm"
          },
          {
            "name": "luxon",
            "direct": false,
            "version": "3.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "magicast",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimalistic-assert",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mnemonist",
            "direct": false,
            "version": "0.40.4",
            "ecosystem": "npm"
          },
          {
            "name": "module-details-from-path",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "msgpackr",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "msgpackr-extract",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.16",
            "ecosystem": "npm"
          },
          {
            "name": "neo-async",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "node-abort-controller",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "node-addon-api",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-fetch",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp-build",
            "direct": false,
            "version": "3.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp-build",
            "direct": false,
            "version": "4.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp-build-optional-packages",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "obliterator",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "on-exit-leak-free",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "openapi-types",
            "direct": false,
            "version": "12.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "opentracing",
            "direct": false,
            "version": "0.14.7",
            "ecosystem": "npm"
          },
          {
            "name": "oxc-parser",
            "direct": false,
            "version": "0.132.0",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-github-url",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "parse-sse",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "pino",
            "direct": false,
            "version": "10.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pino-abstract-transport",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pino-pretty",
            "direct": false,
            "version": "13.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "pino-std-serializers",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.23",
            "ecosystem": "npm"
          },
          {
            "name": "pprof-format",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "process-warning",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "process-warning",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pump",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "quick-format-unescaped",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "real-require",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "real-require",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "redis-errors",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "redis-parser",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "redis-semaphore",
            "direct": false,
            "version": "5.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "reflect-metadata",
            "direct": false,
            "version": "0.1.14",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ret",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "6.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-json-stringify",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safe-regex2",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-stable-stringify",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "secure-json-parse",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "seedrandom",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "set-cookie-parser",
            "direct": false,
            "version": "2.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "sonic-boom",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "spark-md5",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "split2",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "stack-generator",
            "direct": false,
            "version": "2.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "stackframe",
            "direct": false,
            "version": "1.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "standard-as-callback",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "steed",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tdigest",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "thread-stream",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "toad-scheduler",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "0.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "ts-deepmerge",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "uglify-js",
            "direct": false,
            "version": "3.19.3",
            "ecosystem": "npm"
          },
          {
            "name": "ulid-uuid-converter",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ulidx",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "8.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.18.2",
            "ecosystem": "npm"
          },
          {
            "name": "unfetch",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "uuidv7",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "wordwrap",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "xxhashjs",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "zen-observable",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 348,
        "direct_count": 12,
        "indirect_count": 336
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 6,
        "merged_prs": 260,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 1,
        "closed_unmerged_prs": 175
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "kibertoad",
          "commits": 96,
          "avatar_url": "https://avatars.githubusercontent.com/u/1847934?v=4"
        },
        {
          "type": "User",
          "login": "CarlosGamero",
          "commits": 21,
          "avatar_url": "https://avatars.githubusercontent.com/u/101278162?v=4"
        },
        {
          "type": "User",
          "login": "CatchMe2",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/84970625?v=4"
        },
        {
          "type": "User",
          "login": "Dosexe",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/26384615?v=4"
        },
        {
          "type": "User",
          "login": "kjamrog",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/18013464?v=4"
        },
        {
          "type": "User",
          "login": "andrewi-wd",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/2337032?v=4"
        },
        {
          "type": "User",
          "login": "Drodevbar",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/28265478?v=4"
        },
        {
          "type": "User",
          "login": "drdaemos",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/1313693?v=4"
        },
        {
          "type": "User",
          "login": "kamilwylegala",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/10462494?v=4"
        },
        {
          "type": "User",
          "login": "lokankr",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/110380682?v=4"
        }
      ],
      "contributors_sampled": 14,
      "top_contributor_share": 0.667
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "ensure-labels.yml",
        "release.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [
        "biome.json"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "pnpm-lock.yaml"
      ],
      "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": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "26 out of 26 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 3,
            "reason": "Found 3/8 approved changesets -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 6,
            "reason": "project has 2 contributing companies or organizations -- score normalized to 6",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "22 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": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 2,
            "reason": "dependency not pinned by hash detected -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 7,
            "reason": "3 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "43219cc01d4ac7be585380826a6b914bc3cd229d",
        "ran_at": "2026-07-31T22:51:38Z",
        "aggregate_score": 5.8,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-27T11:54:33Z",
      "oldest_open_prs": [
        {
          "number": 354,
          "created_at": "2026-01-22T09:36:50Z",
          "last_comment_at": "2026-01-22T09:37:14Z",
          "last_comment_author": "coderabbitai"
        },
        {
          "number": 417,
          "created_at": "2026-06-29T11:53:20Z",
          "last_comment_at": "2026-06-29T11:53:30Z",
          "last_comment_author": "coderabbitai"
        },
        {
          "number": 421,
          "created_at": "2026-07-06T11:53:04Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 424,
          "created_at": "2026-07-06T11:53:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 431,
          "created_at": "2026-07-13T11:54:05Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 439,
          "created_at": "2026-07-27T11:52:57Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-27T11:54:32Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/lokalise/fastify-extras",
    "host": "github.com",
    "name": "fastify-extras",
    "owner": "lokalise"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 71,
      "inputs": {
        "security": 66,
        "vitality": 86,
        "community": 58,
        "governance": 67,
        "engineering": 74
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 86,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "commits_last_year": 79,
              "human_commit_share": 0.4,
              "days_since_last_push": 4,
              "active_weeks_last_year": 32
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 4 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 4
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "32/52 weeks with commits",
                "points": 22.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 32
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "79 commits in the last year",
                "points": 17.1,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 79
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "22 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": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 88,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v31.0.1",
              "releases_from_tags": true,
              "days_since_latest_release": 28,
              "mean_days_between_releases": 32
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 version tags (no GitHub releases)",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "version_tags_no_releases",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "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 ~32 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 32
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 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": "moderate",
        "name": "Community & Adoption",
        "value": 58,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 19,
            "inputs": {
              "forks": 0,
              "stars": 7,
              "watchers": 16,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "7 stars",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "16 watchers",
                "points": 6.5,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 16
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "good",
            "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": 72,
            "inputs": {
              "packages": [
                "@lokalise/fastify-extras"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 21587
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "21,587 downloads/month across npm",
                "points": 57.8,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 21587,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 67,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 36,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 14,
              "top_contributor_share": 0.667
            },
            "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 67% of commits",
                "points": 7.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 67
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "14 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "merged_prs": 260,
              "open_issues": 0,
              "closed_issues": 1,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 175
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 46.8,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "260/435 decided PRs merged",
                "points": 22.9,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 260,
                      "decided": 435
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 3/8 approved changesets -- score normalized to 3",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "followers": 135,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "lokalise",
              "public_repos": 54,
              "account_age_days": 3972
            },
            "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": "135 followers of lokalise",
                "points": 15.3,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 135,
                      "login": "lokalise"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "54 public repos, account ~10 yr old",
                "points": 24.7,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 54
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 10
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@lokalise/fastify-extras"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 28
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 28 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 28
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "124 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 124
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 74,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "3 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": "biome.json",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "biome.json"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "26 out of 26 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "topics": [
                "lokalise-nextgen"
              ],
              "has_wiki": true,
              "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": "1 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 66,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 58,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 5.8
            },
            "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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "26 out of 26 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 3/8 approved changesets -- score normalized to 3",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "22 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 detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 2",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "3 existing vulnerabilities detected",
                "points": 5.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@lokalise/fastify-extras@31.0.1 runtime dependency closure — what installing the published package pulls in — 64 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@lokalise/fastify-extras@31.0.1",
                  "assessed": 64
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 64,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 64,
              "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": 6
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 59,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 28,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.525,
              "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": "21 of 40 human commits state their intent (structured subject or explanatory body)",
                "points": 28,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 21,
                      "sampled": 40
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 66,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "pnpm-lock.yaml"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "tsconfig.json"
              ],
              "agent_commit_share": 0.01,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.6
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": "biome.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "biome.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "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": "1 of the last 100 commits agent-authored or agent-credited",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "60 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 60,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 2",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 12887,
              "source_files_sampled": 55,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/55 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 55,
                      "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-31T22:51:58.860051Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/l/lokalise/fastify-extras.svg",
  "full_name": "lokalise/fastify-extras",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

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

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

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