公开记录
软件健康报告模式 0.26.0 · 指标 1.13.0 · 2026-07-22 16:36 UTC

TooTallNate / proxy-agents

Node.js HTTP Proxy Agents Monorepo

TypeScript未检测到许可证★ 1,149 星标⑂ 279 复刻始于 2013年7月在 GitHub 上查看 ↗

TooTallNate/proxy-agents 的健康指数为 100 分中的 69 分,处于「中等」区间。 其得分最高的类别是Engineering Quality(80/100),最低的是Security(54/100)。 最近一次更新在 9 天前。 近期的大部分工作由 1 位贡献者完成。

69
总分 / 100
中等

软件健康指数

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

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

评分画像

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

所有权

Nathan Rajlich个人账户
6,565 关注者409 个公开仓库始于 2009年4月@vercel

该仓库由个人账户拥有。相较于组织支持的项目,单一所有者项目的延续性风险更高。

软件包生态系统

注册表软件包版本月下载量版本数最近发布标签
npmproxy4.1.01,966,1841843 天前httphttpsproxyconnecttunnelsquidprivoxyapachemod-proxyviax-forwarded-for
npmget-uri8.0.1111,096,8862643 天前urireadreadstreamstreamgethttphttpsftpfiledataprotocolurl
npmproxy-agent-negotiate1.1.08,389,247243 天前proxynegotiatekerberosspnegoauthentication
npmagent-base9.0.01,011,258,37033112 天前httpagentbasebareboneshttps
npmdegenerator7.0.1108,193,85531107 天前
npmproxy-agent8.0.2115,192,5663343 天前httphttpssocksagentmappingproxy
npmpac-resolver9.0.1113,293,78728107 天前pacfileproxyresolvedns
npmpac-proxy-agent9.1.0115,867,0993043 天前pacproxyagenthttphttpssocksrequestaccess

按类别列示的指标

活力

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

75良好 · 占总体的 22%
评分方式
28.8/36推送新近度 — 最近一次推送于 9 天前
4.2/36提交节奏 — 52 周中有 6 周有提交
15.1/18提交量 — 最近一年 47 次提交
10/10OpenSSF Scorecard:Maintained — 23 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
所用输入
commits_last_year47
human_commit_share0.59
days_since_last_push9
active_weeks_last_year6

发布纪律

100优秀
评分方式
27/27有发布版本 — 已发布 100 个发布版本
36/36发布时效 — 最近一次发布版本于 43 天前
27/27发布节奏 — 约每 7 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — 无数据
所用输入
releases_count100
latest_release_tagget-uri@8.0.1
releases_from_tags
days_since_latest_release43
mean_days_between_releases7
已排除计分(无数据或不适用):OpenSSF Scorecard:Signed-Releases。 其余权重已重新归一化。

社区与采用

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

65中等 · 占总体的 18%
评分方式
49.6/60星标 — 1,149 个星标
20.4/25复刻 — 279 个复刻
6.8/15关注者 — 18 位关注者
所用输入
forks279
stars1,149
watchers18
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

社区健康

25危急
评分方式
22.5/22.5README
0/22.5许可证 — 未检测到许可证文件
0/18CONTRIBUTING 指南
0/13.5行为准则
0/7.2议题模板
0/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template
评分方式
80/80月度下载量 — npm 合计每月 1,585,257,994 次下载
0/20注册表被依赖数 — 该生态系统不报告此项
所用输入
packagesproxy, get-uri, proxy-agent-negotiate, agent-base, degenerator, proxy-agent, pac-resolver, pac-proxy-agent
dependents
ecosystemsnpm
total_downloads
monthly_downloads1,585,257,994
已排除计分(无数据或不适用):注册表被依赖数。 其余权重已重新归一化。

可持续性与治理

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

67中等 · 占总体的 24%
评分方式
9/54巴士系数 — 1 位贡献者贡献了半数提交
5.1/22.5提交分布 — 头号贡献者编写了 78% 的提交
13.5/13.5贡献者广度 — 42 位贡献者
10/10OpenSSF Scorecard:Contributors — project has 14 contributing companies or organizations
所用输入
bus_factor1
contributors_sampled42
top_contributor_share0.775
评分方式
44.1/46.8议题解决 — 94% 的议题已关闭
25.2/38.3PR 接受 — 已裁定的 PR 中 145/220 已合并
0/15OpenSSF Scorecard:Code-Review — Found 0/6 approved changesets -- score normalized to 0
所用输入
merged_prs145
open_issues11
closed_issues182
issue_closed_ratio0.943
closed_unmerged_prs75
评分方式
10/30所有权背书 — 个人(用户)账户
0/20已验证域名 — 不适用于个人账户
25/25所有者影响力 — TooTallNate 有 6,565 位关注者
25/25既往记录 — 409 个公开仓库,账户约 17 年
所用输入
followers6,565
owner_typeUser
is_verified
owner_loginTooTallNate
public_repos409
account_age_days6,315
已排除计分(无数据或不适用):已验证域名。 其余权重已重新归一化。
评分方式
25/25已发布且可解析 — npm 上有 8 个软件包
35/35发布时效 — 最近一次发布于 43 天前
20/20版本历史 — 33 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packagesproxy, get-uri, proxy-agent-negotiate, agent-base, degenerator, proxy-agent, pac-resolver, pac-proxy-agent
ecosystemsnpm
any_deprecated
min_days_since_publish43

工程质量

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

80良好 · 占总体的 20%

工程实践

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

文档

75良好
评分方式
30/30README
0/25文档目录
15/15文档 / 主页站点 — https://proxy-agents.n8.io
10/10仓库描述
10/10主题标签 — 7 个主题标签
10/10Wiki
所用输入
topicshttp, https, nodejs, pac, proxy, socks, agent
has_wiki
homepagehttps://proxy-agents.n8.io
has_readme
has_docs_dir
has_description

安全

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

54中等 · 占总体的 16%

安全态势

42存在风险
评分方式
7.5/7.5Binary-Artifacts — no binaries found in the repo
2.2/7.5Branch-Protection — branch protection is not maximal on development and all release branches
1.8/2.5CI-Tests — 18 out of 25 merged PRs checked by a CI test -- score normalized to 7
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/6 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 14 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
0/2.5许可证 — license file not detected
7.5/7.5Maintained — 23 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — 无数据
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — 无数据
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 17 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate4.2
已排除计分(无数据或不适用):packaging, signed_releases。 其余权重已重新归一化。
评分方式
35/35直接依赖不含已知公告 — 没有直接依赖携带已知公告
25/25间接依赖不含已知公告 — 没有间接依赖携带已知公告
0/40没有长期未处理的公告 — 没有公告带有发布日期
所用输入
sourceosv
advisories0
affected_packages0
assessed_packages13
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
已排除计分(无数据或不适用):没有长期未处理的公告。 其余权重已重新归一化。 比对的是 npm:proxy@4.1.0 的运行时依赖闭包——安装已发布的软件包时真正被拉取进来的内容——共 13 个软件包。 未对可达性进行分析。

AI 就绪度

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

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

关键数据

1,149GitHub 星标
42贡献者
47最近 12 个月提交数
9距最近推送天数
100发布版本数
1巴士系数(bus factor)
11开放议题
npm软件包生态系统数

数据采集警告

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

更多细节

Star 与 Fork 历史 0 ★ / 279 ⇿
0Star
279Fork
100发布

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

05010015020025030026552013-112020-032026-07
主版本 0次版本 0修订 0

每个点涵盖 12 天。

OpenSSF Scorecard 4.2 / 10
4.2综合

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

10Binary-Artifactsno binaries found in the repo
3Branch-Protectionbranch protection is not maximal on development and all release branches
7CI-Tests18 out of 25 merged PRs checked by a CI test -- score normalized to 7
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/6 approved changesets -- score normalized to 0
10Contributorsproject has 14 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
0Licenselicense file not detected
10Maintained23 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
不适用Packagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
不适用Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities17 existing vulnerabilities detected
直接依赖 35
注册表软件包版本约束清单文件
npmast-types^0.13.4packages/degenerator/package.json
npmescodegen^2.1.0packages/degenerator/package.json
npmesprima^4.0.1packages/degenerator/package.json
npmbasic-ftp^5.3.1packages/get-uri/package.json
npmdata-uri-to-bufferworkspace:*packages/get-uri/package.json
npmdebugcatalog:packages/get-uri/package.json
npmagent-baseworkspace:*packages/http-proxy-agent/package.json
npmdebugcatalog:packages/http-proxy-agent/package.json
npmproxy-agent-negotiateworkspace:*packages/http-proxy-agent/package.json
npmagent-baseworkspace:*packages/https-proxy-agent/package.json
npmdebugcatalog:packages/https-proxy-agent/package.json
npmproxy-agent-negotiateworkspace:*packages/https-proxy-agent/package.json
npmagent-baseworkspace:*packages/pac-proxy-agent/package.json
npmdebugcatalog:packages/pac-proxy-agent/package.json
npmget-uriworkspace:*packages/pac-proxy-agent/package.json
npmhttp-proxy-agentworkspace:*packages/pac-proxy-agent/package.json
npmhttps-proxy-agentworkspace:*packages/pac-proxy-agent/package.json
npmpac-resolverworkspace:*packages/pac-proxy-agent/package.json
npmquickjs-wasicatalog:packages/pac-proxy-agent/package.json
npmsocks-proxy-agentworkspace:*packages/pac-proxy-agent/package.json
npmdegeneratorworkspace:*packages/pac-resolver/package.json
npmnetmask^2.0.2packages/pac-resolver/package.json
npmagent-baseworkspace:*packages/proxy-agent/package.json
npmdebugcatalog:packages/proxy-agent/package.json
npmhttp-proxy-agentworkspace:*packages/proxy-agent/package.json
npmhttps-proxy-agentworkspace:*packages/proxy-agent/package.json
npmlru-cache^7.14.1packages/proxy-agent/package.json
npmpac-proxy-agentworkspace:*packages/proxy-agent/package.json
npmproxy-from-env^2.0.0packages/proxy-agent/package.json
npmsocks-proxy-agentworkspace:*packages/proxy-agent/package.json
npmargs^5.0.3packages/proxy/package.json
npmdebugcatalog:packages/proxy/package.json
npmagent-baseworkspace:*packages/socks-proxy-agent/package.json
npmdebugcatalog:packages/socks-proxy-agent/package.json
npmsocks^2.8.3packages/socks-proxy-agent/package.json
全部依赖 432

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

注册表软件包版本关系
npmargs5.0.3直接
npmargs^5.0.3直接
npmast-types0.13.4直接
npmast-types^0.13.4直接
npmbasic-ftp5.3.1直接
npmbasic-ftp^5.3.1直接
npmdebug4.4.3直接
npmdebugcatalog:直接
npmescodegen2.1.0直接
npmescodegen^2.1.0直接
npmesprima4.0.1直接
npmesprima^4.0.1直接
npmlru-cache11.2.6直接
npmlru-cache7.18.3直接
npmlru-cache^7.14.1直接
npmnetmask2.0.2直接
npmnetmask^2.0.2直接
npmproxy-from-env2.1.0直接
npmproxy-from-env^2.0.0直接
npmquickjs-wasi3.0.0直接
npmquickjs-wasicatalog:直接
npmsocks2.8.7直接
npmsocks^2.8.3直接
npm@babel/code-frame7.12.11间接
npm@babel/helper-validator-identifier7.28.5间接
npm@babel/highlight7.25.9间接
npm@babel/runtime7.28.6间接
npm@changesets/apply-release-plan7.1.0间接
npm@changesets/assemble-release-plan6.0.9间接
npm@changesets/changelog-git0.2.1间接
npm@changesets/cli2.30.0间接
npm@changesets/config3.1.3间接
npm@changesets/errors0.2.0间接
npm@changesets/get-dependents-graph2.1.3间接
npm@changesets/get-release-plan4.0.15间接
npm@changesets/get-version-range-type0.4.0间接
npm@changesets/git3.0.4间接
npm@changesets/logger0.1.1间接
npm@changesets/parse0.4.3间接
npm@changesets/pre2.0.2间接
npm@changesets/read0.6.7间接
npm@changesets/should-skip-package0.1.2间接
npm@changesets/types4.1.0间接
npm@changesets/types6.1.0间接
npm@changesets/write0.4.0间接
npm@esbuild/aix-ppc640.27.7间接
npm@esbuild/android-arm0.27.7间接
npm@esbuild/android-arm640.27.7间接
npm@esbuild/android-x640.27.7间接
npm@esbuild/darwin-arm640.27.7间接
npm@esbuild/darwin-x640.27.7间接
npm@esbuild/freebsd-arm640.27.7间接
npm@esbuild/freebsd-x640.27.7间接
npm@esbuild/linux-arm0.27.7间接
npm@esbuild/linux-arm640.27.7间接
npm@esbuild/linux-ia320.27.7间接
npm@esbuild/linux-loong640.27.7间接
npm@esbuild/linux-mips64el0.27.7间接
npm@esbuild/linux-ppc640.27.7间接
npm@esbuild/linux-riscv640.27.7间接
npm@esbuild/linux-s390x0.27.7间接
npm@esbuild/linux-x640.27.7间接
npm@esbuild/netbsd-arm640.27.7间接
npm@esbuild/netbsd-x640.27.7间接
npm@esbuild/openbsd-arm640.27.7间接
npm@esbuild/openbsd-x640.27.7间接
npm@esbuild/openharmony-arm640.27.7间接
npm@esbuild/sunos-x640.27.7间接
npm@esbuild/win32-arm640.27.7间接
npm@esbuild/win32-ia320.27.7间接
npm@esbuild/win32-x640.27.7间接
npm@eslint-community/eslint-utils4.9.1间接
npm@eslint-community/regexpp4.12.2间接
npm@eslint/eslintrc0.4.3间接
npm@humanwhocodes/config-array0.5.0间接
npm@humanwhocodes/object-schema1.2.1间接
npm@inquirer/external-editor1.0.3间接
npm@jridgewell/sourcemap-codec1.5.5间接
npm@manypkg/find-root1.1.0间接
npm@manypkg/get-packages1.1.3间接
npm@nodelib/fs.scandir2.1.5间接
npm@nodelib/fs.stat2.0.5间接
npm@nodelib/fs.walk1.2.8间接
npm@rollup/rollup-android-arm-eabi4.61.0间接
npm@rollup/rollup-android-arm644.61.0间接
npm@rollup/rollup-darwin-arm644.61.0间接
npm@rollup/rollup-darwin-x644.61.0间接
npm@rollup/rollup-freebsd-arm644.61.0间接
npm@rollup/rollup-freebsd-x644.61.0间接
npm@rollup/rollup-linux-arm-gnueabihf4.61.0间接
npm@rollup/rollup-linux-arm-musleabihf4.61.0间接
npm@rollup/rollup-linux-arm64-gnu4.61.0间接
npm@rollup/rollup-linux-arm64-musl4.61.0间接
npm@rollup/rollup-linux-loong64-gnu4.61.0间接
npm@rollup/rollup-linux-loong64-musl4.61.0间接
npm@rollup/rollup-linux-ppc64-gnu4.61.0间接
npm@rollup/rollup-linux-ppc64-musl4.61.0间接
npm@rollup/rollup-linux-riscv64-gnu4.61.0间接
npm@rollup/rollup-linux-riscv64-musl4.61.0间接
npm@rollup/rollup-linux-s390x-gnu4.61.0间接
npm@rollup/rollup-linux-x64-gnu4.61.0间接
npm@rollup/rollup-linux-x64-musl4.61.0间接
npm@rollup/rollup-openbsd-x644.61.0间接
npm@rollup/rollup-openharmony-arm644.61.0间接
npm@rollup/rollup-win32-arm64-msvc4.61.0间接
npm@rollup/rollup-win32-ia32-msvc4.61.0间接
npm@rollup/rollup-win32-x64-gnu4.61.0间接
npm@rollup/rollup-win32-x64-msvc4.61.0间接
npm@standard-schema/spec1.1.0间接
npm@turbo/darwin-642.9.14间接
npm@turbo/darwin-arm642.9.14间接
npm@turbo/linux-642.9.14间接
npm@turbo/linux-arm642.9.14间接
npm@turbo/windows-642.9.14间接
npm@turbo/windows-arm642.9.14间接
npm@types/agent-base4.2.5间接
npm@types/agent-base^4.2.0间接
npm@types/args5.0.4间接
npm@types/args^5.0.0间接
npm@types/async-retry1.4.9间接
npm@types/async-retrycatalog:间接
npm@types/chai5.2.3间接
npm@types/debug4.1.12间接
npm@types/debugcatalog:间接
npm@types/deep-eql4.0.2间接
npm@types/dns22.0.10间接
npm@types/dns2^2.0.3间接
npm@types/escodegen0.0.7间接
npm@types/escodegen^0.0.7间接
npm@types/esprima4.0.6间接
npm@types/esprima^4.0.3间接
npm@types/estree1.0.8间接
npm@types/estree1.0.9间接
npm@types/ftpd0.2.40间接
npm@types/ftpd^0.2.35间接
npm@types/json-schema7.0.15间接
npm@types/ms2.1.0间接
npm@types/netmask1.0.30间接
npm@types/netmask^1.0.30间接
npm@types/node12.20.55间接
npm@types/node22.19.15间接
npm@types/nodecatalog:间接
npm@types/proxy-from-env1.0.4间接
npm@types/proxy-from-env^1.0.1间接
npm@types/readable-stream4.0.23间接
npm@types/retry0.12.5间接
npm@types/semver7.7.1间接
npm@types/semver^7.3.13间接
npm@types/ws8.18.1间接
npm@types/wscatalog:间接
npm@typescript-eslint/eslint-plugin5.62.0间接
npm@typescript-eslint/parser5.62.0间接
npm@typescript-eslint/scope-manager5.62.0间接
npm@typescript-eslint/type-utils5.62.0间接
npm@typescript-eslint/types5.62.0间接
npm@typescript-eslint/typescript-estree5.62.0间接
npm@typescript-eslint/utils5.62.0间接
npm@typescript-eslint/visitor-keys5.62.0间接
npm@vitest/expect4.1.0间接
npm@vitest/mocker4.1.0间接
npm@vitest/pretty-format4.1.0间接
npm@vitest/runner4.1.0间接
npm@vitest/snapshot4.1.0间接
npm@vitest/spy4.1.0间接
npm@vitest/utils4.1.0间接
npmabort-controller3.0.0间接
npmacorn7.4.1间接
npmacorn-jsx5.3.2间接
npmajv6.14.0间接
npmajv8.18.0间接
npmansi-colors4.1.3间接
npmansi-regex5.0.1间接
npmansi-styles3.2.1间接
npmansi-styles4.3.0间接
npmargparse1.0.10间接
npmargparse2.0.1间接
npmarray-union2.1.0间接
npmassertion-error2.0.1间接
npmastral-regex2.0.0间接
npmasync-listen3.1.0间接
npmasync-listencatalog:间接
npmasync-retry1.3.3间接
npmasync-retrycatalog:间接
npmbalanced-match1.0.2间接
npmbase64-js1.5.1间接
npmbetter-path-resolve1.0.0间接
npmbl4.1.0间接
npmbl6.1.6间接
npmbrace-expansion1.1.12间接
npmbraces3.0.3间接
npmbuffer5.7.1间接
npmbuffer6.0.3间接
npmcacheable-lookup6.1.0间接
npmcacheable-lookup^6.1.0间接
npmcallsites3.1.0间接
npmcamelcase5.0.0间接
npmchai6.2.2间接
npmchalk2.4.2间接
npmchalk4.1.2间接
npmchardet2.1.1间接
npmchownr1.1.4间接
npmcolor-convert1.9.3间接
npmcolor-convert2.0.1间接
npmcolor-name1.1.3间接
npmcolor-name1.1.4间接
npmconcat-map0.0.1间接
npmconvert-source-map2.0.0间接
npmcross-spawn7.0.6间接
npmdateformat1.0.7-1.2.3间接
npmdecompress-response6.0.0间接
npmdeep-extend0.6.0间接
npmdeep-is0.1.4间接
npmdetect-indent6.1.0间接
npmdetect-libc2.1.2间接
npmdir-glob3.0.1间接
npmdns22.1.0间接
npmdns2^2.1.0间接
npmdoctrine3.0.0间接
npmemoji-regex8.0.0间接
npmend-of-stream1.4.5间接
npmenquirer2.4.1间接
npmes-module-lexer2.1.0间接
npmesbuild0.27.7间接
npmescape-string-regexp1.0.5间接
npmescape-string-regexp4.0.0间接
npmeslint7.32.0间接
npmeslint-config-prettier8.10.2间接
npmeslint-scope5.1.1间接
npmeslint-utils2.1.0间接
npmeslint-visitor-keys1.3.0间接
npmeslint-visitor-keys2.1.0间接
npmeslint-visitor-keys3.4.3间接
npmespree7.3.1间接
npmesquery1.7.0间接
npmesrecurse4.3.0间接
npmestraverse4.3.0间接
npmestraverse5.3.0间接
npmestree-walker3.0.3间接
npmesutils2.0.3间接
npmevent-target-shim5.0.1间接
npmevents3.3.0间接
npmexpand-template2.0.3间接
npmexpect-type1.3.0间接
npmextendable-error0.1.7间接
npmfast-deep-equal3.1.3间接
npmfast-glob3.3.3间接
npmfast-json-stable-stringify2.1.0间接
npmfast-levenshtein2.0.6间接
npmfast-uri3.1.0间接
npmfastq1.20.1间接
npmfd0.0.3间接
npmfdir6.5.0间接
npmfile-entry-cache6.0.1间接
npmfill-range7.1.1间接
npmfind-up4.1.0间接
npmflat-cache3.2.0间接
npmflatted3.3.4间接
npmfs-constants1.0.0间接
npmfs-extra7.0.1间接
npmfs-extra8.1.0间接
npmfs.realpath1.0.0间接
npmfsevents2.3.3间接
npmftpd0.2.16间接
npmftpd^0.2.14间接
npmfunctional-red-black-tree1.0.1间接
npmgithub-from-package0.0.0间接
npmglob7.2.3间接
npmglob-parent5.1.2间接
npmglobals13.24.0间接
npmglobby11.1.0间接
npmgraceful-fs4.2.11间接
npmgraphemer1.4.0间接
npmhas-flag3.0.0间接
npmhas-flag4.0.0间接
npmhuman-id4.1.3间接
npmiconv-lite0.7.2间接
npmieee7541.2.1间接
npmignore4.0.6间接
npmignore5.3.2间接
npmimport-fresh3.3.1间接
npmimurmurhash0.1.4间接
npminflight1.0.6间接
npminherits2.0.4间接
npmini1.3.8间接
npmip-address10.1.0间接
npmis-extglob2.1.1间接
npmis-fullwidth-code-point3.0.0间接
npmis-glob4.0.3间接
npmis-number7.0.0间接
npmis-subdir1.2.0间接
npmis-windows1.0.2间接
npmisexe2.0.0间接
npmjs-tokens4.0.0间接
npmjs-yaml3.14.2间接
npmjs-yaml4.1.1间接
npmjson-buffer3.0.1间接
npmjson-schema-traverse0.4.1间接
npmjson-schema-traverse1.0.0间接
npmjson-stable-stringify-without-jsonify1.0.1间接
npmjsonfile4.0.0间接
npmkerberos2.2.2间接
npmkeyv4.5.4间接
npmleven2.1.0间接
npmlevn0.4.1间接
npmlocate-path5.0.0间接
npmlodash.merge4.6.2间接
npmlodash.startcase4.4.0间接
npmlodash.truncate4.4.2间接
npmmagic-string0.30.21间接
npmmerge21.4.1间接
npmmicromatch4.0.8间接
npmmime3.0.0间接
npmmimic-response3.1.0间接
npmminimatch3.1.5间接
npmminimist1.2.8间接
npmmkdirp-classic0.5.3间接
npmmri1.1.4间接
npmmri1.2.0间接
npmms2.1.3间接
npmnanoid3.3.12间接
npmnapi-build-utils2.0.0间接
npmnatural-compare1.4.0间接
npmnatural-compare-lite1.4.0间接
npmnegotiator1.0.0间接
npmnode-abi3.90.0间接
npmnode-addon-api6.1.0间接
npmobug2.1.1间接
npmonce1.4.0间接
npmoptionator0.9.4间接
npmoutdent0.5.0间接
npmp-filter2.1.0间接
npmp-limit2.3.0间接
npmp-locate4.1.0间接
npmp-map2.1.0间接
npmp-try2.2.0间接
npmpackage-manager-detector0.2.11间接
npmparent-module1.0.1间接
npmpath-exists4.0.0间接
npmpath-is-absolute1.0.1间接
npmpath-key3.1.1间接
npmpath-type4.0.0间接
npmpathe2.0.3间接
npmpicocolors1.1.1间接
npmpicomatch2.3.2间接
npmpicomatch4.0.4间接
npmpify4.0.1间接
npmpostcss8.5.15间接
npmprebuild-install7.1.3间接
npmprelude-ls1.2.1间接
npmprettier2.8.8间接
npmprocess0.11.10间接
npmprogress2.0.3间接
npmpump3.0.4间接
npmpunycode2.3.1间接
npmquansync0.2.11间接
npmqueue-microtask1.2.3间接
npmrc1.2.8间接
npmread-yaml-file1.1.0间接
npmreadable-stream3.6.2间接
npmreadable-stream4.7.0间接
npmregexpp3.2.0间接
npmrequire-from-string2.0.2间接
npmresolve-from4.0.0间接
npmresolve-from5.0.0间接
npmretry0.13.1间接
npmreusify1.1.0间接
npmrimraf3.0.2间接
npmrollup4.61.0间接
npmrun-parallel1.2.0间接
npmsafe-buffer5.2.1间接
npmsafer-buffer2.1.2间接
npmsemver7.7.4间接
npmshebang-command2.0.0间接
npmshebang-regex3.0.0间接
npmsiginfo2.0.0间接
npmsignal-exit4.1.0间接
npmsimple-concat1.0.1间接
npmsimple-get4.0.1间接
npmslash3.0.0间接
npmslice-ansi4.0.0间接
npmsmart-buffer4.2.0间接
npmsocksv5catalog:间接
npmsocksv5https://codeload.github.com/TooTallNate/socksv5/tar.gz/d937368b28e929396166d77a06d387a4a902bd51间接
npmsource-map0.6.1间接
npmsource-map-js1.2.1间接
npmspawndamnit3.0.1间接
npmsprintf-js1.0.3间接
npmst3.0.3间接
npmst^3.0.0间接
npmstackback0.0.2间接
npmstat-mode0.2.2间接
npmstd-env4.1.0间接
npmstring-width4.2.3间接
npmstring_decoder1.3.0间接
npmstrip-ansi6.0.1间接
npmstrip-bom3.0.0间接
npmstrip-json-comments2.0.1间接
npmstrip-json-comments3.1.1间接
npmsupports-color5.5.0间接
npmsupports-color7.2.0间接
npmtable6.9.0间接
npmtar-fs2.1.4间接
npmtar-stream2.2.0间接
npmterm-size2.2.1间接
npmtext-table0.2.0间接
npmtinybench2.9.0间接
npmtinyexec1.2.4间接
npmtinyglobby0.2.17间接
npmtinyrainbow3.1.0间接
npmto-regex-range5.0.1间接
npmtslib1.14.1间接
npmtslib2.8.1间接
npmtsutils3.21.0间接
npmtunnel-agent0.6.0间接
npmturbo2.9.14间接
npmtype-check0.4.0间接
npmtype-fest0.20.2间接
npmtypescript5.9.3间接
npmtypescriptcatalog:间接
npmundici-types6.21.0间接
npmuniversalify0.1.2间接
npmuri-js4.4.1间接
npmutil-deprecate1.0.2间接
npmv8-compile-cache2.4.0间接
npmvite7.3.1间接
npmvitest4.1.0间接
npmwhich2.0.2间接
npmwhy-is-node-running2.3.0间接
npmword-wrap1.2.5间接
npmwrappy1.0.2间接
npmws8.21.0间接
npmwscatalog:间接
依赖安全公告 0

安装 npm:proxy@4.1.0 会引入 13 个包(直接与传递):其中 0 个存在已知公告,0 个为直接依赖。

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

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

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [
        "http",
        "https",
        "nodejs",
        "pac",
        "proxy",
        "socks",
        "agent"
      ],
      "is_fork": false,
      "size_kb": 1013,
      "has_wiki": true,
      "homepage": "https://proxy-agents.n8.io",
      "languages": {
        "JavaScript": 13785,
        "TypeScript": 246473
      },
      "pushed_at": "2026-07-12T21:26:11Z",
      "created_at": "2013-07-09T20:43:26Z",
      "owner_type": "User",
      "updated_at": "2026-07-17T00:46:56Z",
      "description": "Node.js HTTP Proxy Agents Monorepo",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "main",
      "license_spdx_raw": null,
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://n8.io",
      "name": "Nathan Rajlich",
      "type": "User",
      "login": "TooTallNate",
      "company": "@vercel ",
      "location": "San Francisco, CA",
      "followers": 6565,
      "avatar_url": "https://avatars.githubusercontent.com/u/71256?v=4",
      "created_at": "2009-04-07T06:11:03Z",
      "is_verified": null,
      "public_repos": 409,
      "account_age_days": 6315
    },
    "license": {
      "state": "absent",
      "spdx_id": null,
      "raw_spdx": null,
      "file_present": false,
      "scorecard_found": false,
      "profile_has_license": false
    },
    "activity": {
      "releases": [
        {
          "tag": "get-uri@8.0.1",
          "kind": "other",
          "published_at": "2026-06-08T16:48:02Z"
        },
        {
          "tag": "proxy@4.1.0",
          "kind": "other",
          "published_at": "2026-06-08T16:47:59Z"
        },
        {
          "tag": "pac-proxy-agent@9.1.0",
          "kind": "other",
          "published_at": "2026-06-08T16:47:56Z"
        },
        {
          "tag": "http-proxy-agent@9.1.0",
          "kind": "other",
          "published_at": "2026-06-08T16:47:53Z"
        },
        {
          "tag": "proxy-agent-negotiate@1.1.0",
          "kind": "other",
          "published_at": "2026-06-08T16:47:50Z"
        },
        {
          "tag": "socks-proxy-agent@10.1.0",
          "kind": "other",
          "published_at": "2026-06-08T16:47:47Z"
        },
        {
          "tag": "https-proxy-agent@9.1.0",
          "kind": "other",
          "published_at": "2026-06-08T16:47:44Z"
        },
        {
          "tag": "proxy-agent@8.0.2",
          "kind": "other",
          "published_at": "2026-06-08T16:47:41Z"
        },
        {
          "tag": "pac-resolver@9.0.1",
          "kind": "other",
          "published_at": "2026-04-06T06:41:25Z"
        },
        {
          "tag": "proxy-agent@8.0.1",
          "kind": "other",
          "published_at": "2026-04-06T06:41:22Z"
        },
        {
          "tag": "pac-proxy-agent@9.0.1",
          "kind": "other",
          "published_at": "2026-04-06T06:41:19Z"
        },
        {
          "tag": "degenerator@7.0.1",
          "kind": "other",
          "published_at": "2026-04-06T06:41:16Z"
        },
        {
          "tag": "http-proxy-agent@9.0.0",
          "kind": "other",
          "published_at": "2026-04-01T06:58:36Z"
        },
        {
          "tag": "proxy@4.0.0",
          "kind": "other",
          "published_at": "2026-04-01T06:58:33Z"
        },
        {
          "tag": "pac-proxy-agent@9.0.0",
          "kind": "other",
          "published_at": "2026-04-01T06:58:30Z"
        },
        {
          "tag": "pac-resolver@9.0.0",
          "kind": "other",
          "published_at": "2026-04-01T06:58:27Z"
        },
        {
          "tag": "get-uri@8.0.0",
          "kind": "other",
          "published_at": "2026-04-01T06:58:24Z"
        },
        {
          "tag": "https-proxy-agent@9.0.0",
          "kind": "other",
          "published_at": "2026-04-01T06:58:21Z"
        },
        {
          "tag": "socks-proxy-agent@10.0.0",
          "kind": "other",
          "published_at": "2026-04-01T06:58:18Z"
        },
        {
          "tag": "proxy-agent@8.0.0",
          "kind": "other",
          "published_at": "2026-04-01T06:58:15Z"
        },
        {
          "tag": "agent-base@9.0.0",
          "kind": "other",
          "published_at": "2026-04-01T06:58:12Z"
        },
        {
          "tag": "data-uri-to-buffer@8.0.0",
          "kind": "other",
          "published_at": "2026-04-01T06:58:09Z"
        },
        {
          "tag": "degenerator@7.0.0",
          "kind": "other",
          "published_at": "2026-04-01T06:58:06Z"
        },
        {
          "tag": "data-uri-to-buffer@7.0.0",
          "kind": "other",
          "published_at": "2026-03-11T16:59:31Z"
        },
        {
          "tag": "pac-resolver@8.0.0",
          "kind": "other",
          "published_at": "2026-03-11T16:59:28Z"
        },
        {
          "tag": "socks-proxy-agent@9.0.0",
          "kind": "other",
          "published_at": "2026-03-11T16:59:25Z"
        },
        {
          "tag": "degenerator@6.0.0",
          "kind": "other",
          "published_at": "2026-03-11T16:59:22Z"
        },
        {
          "tag": "proxy@3.0.0",
          "kind": "other",
          "published_at": "2026-03-11T16:59:19Z"
        },
        {
          "tag": "get-uri@7.0.0",
          "kind": "other",
          "published_at": "2026-03-11T16:59:16Z"
        },
        {
          "tag": "pac-proxy-agent@8.0.0",
          "kind": "other",
          "published_at": "2026-03-11T16:59:13Z"
        },
        {
          "tag": "https-proxy-agent@8.0.0",
          "kind": "other",
          "published_at": "2026-03-11T16:59:10Z"
        },
        {
          "tag": "agent-base@8.0.0",
          "kind": "other",
          "published_at": "2026-03-11T16:59:07Z"
        },
        {
          "tag": "proxy-agent@7.0.0",
          "kind": "other",
          "published_at": "2026-03-11T16:59:04Z"
        },
        {
          "tag": "http-proxy-agent@8.0.0",
          "kind": "other",
          "published_at": "2026-03-11T16:59:01Z"
        },
        {
          "tag": "get-uri@6.0.5",
          "kind": "other",
          "published_at": "2025-07-07T17:44:08Z"
        },
        {
          "tag": "agent-base@7.1.4",
          "kind": "other",
          "published_at": "2025-07-07T17:44:05Z"
        },
        {
          "tag": "pac-proxy-agent@7.2.0",
          "kind": "other",
          "published_at": "2025-02-18T19:38:35Z"
        },
        {
          "tag": "agent-base@7.1.3",
          "kind": "other",
          "published_at": "2024-12-08T04:04:13Z"
        },
        {
          "tag": "socks-proxy-agent@8.0.5",
          "kind": "other",
          "published_at": "2024-12-07T03:32:29Z"
        },
        {
          "tag": "proxy-agent@6.5.0",
          "kind": "other",
          "published_at": "2024-12-07T03:32:26Z"
        },
        {
          "tag": "pac-proxy-agent@7.1.0",
          "kind": "other",
          "published_at": "2024-12-07T03:32:23Z"
        },
        {
          "tag": "https-proxy-agent@7.0.6",
          "kind": "other",
          "published_at": "2024-12-07T03:32:20Z"
        },
        {
          "tag": "agent-base@7.1.2",
          "kind": "other",
          "published_at": "2024-12-07T03:32:17Z"
        },
        {
          "tag": "get-uri@6.0.4",
          "kind": "other",
          "published_at": "2024-12-03T23:31:34Z"
        },
        {
          "tag": "socks-proxy-agent@8.0.4",
          "kind": "other",
          "published_at": "2024-06-28T07:34:02Z"
        },
        {
          "tag": "proxy@2.2.0",
          "kind": "other",
          "published_at": "2024-06-28T07:33:59Z"
        },
        {
          "tag": "pac-proxy-agent@7.0.2",
          "kind": "other",
          "published_at": "2024-06-28T07:33:56Z"
        },
        {
          "tag": "https-proxy-agent@7.0.5",
          "kind": "other",
          "published_at": "2024-06-28T07:33:53Z"
        },
        {
          "tag": "socks-proxy-agent@8.0.3",
          "kind": "other",
          "published_at": "2024-03-30T01:31:46Z"
        },
        {
          "tag": "agent-base@7.1.1",
          "kind": "other",
          "published_at": "2024-03-30T01:31:43Z"
        },
        {
          "tag": "http-proxy-agent@7.0.2",
          "kind": "other",
          "published_at": "2024-02-15T19:14:28Z"
        },
        {
          "tag": "https-proxy-agent@7.0.4",
          "kind": "other",
          "published_at": "2024-02-15T19:14:25Z"
        },
        {
          "tag": "get-uri@6.0.3",
          "kind": "other",
          "published_at": "2024-02-12T18:25:01Z"
        },
        {
          "tag": "proxy-agent@6.4.0",
          "kind": "other",
          "published_at": "2024-02-12T18:24:58Z"
        },
        {
          "tag": "pac-resolver@7.0.1",
          "kind": "other",
          "published_at": "2024-02-12T18:24:55Z"
        },
        {
          "tag": "https-proxy-agent@7.0.3",
          "kind": "other",
          "published_at": "2024-02-12T18:24:52Z"
        },
        {
          "tag": "http-proxy-agent@7.0.1",
          "kind": "other",
          "published_at": "2024-02-12T18:24:49Z"
        },
        {
          "tag": "data-uri-to-buffer@6.0.2",
          "kind": "other",
          "published_at": "2024-02-12T18:24:46Z"
        },
        {
          "tag": "data-uri-to-buffer@6.0.1",
          "kind": "other",
          "published_at": "2023-09-30T14:49:59Z"
        },
        {
          "tag": "get-uri@6.0.2",
          "kind": "other",
          "published_at": "2023-09-30T14:29:58Z"
        },
        {
          "tag": "data-uri-to-buffer@6.0.0",
          "kind": "other",
          "published_at": "2023-09-30T14:29:55Z"
        },
        {
          "tag": "socks-proxy-agent@8.0.2",
          "kind": "other",
          "published_at": "2023-09-04T08:10:00Z"
        },
        {
          "tag": "proxy-agent@6.3.1",
          "kind": "other",
          "published_at": "2023-09-04T08:09:57Z"
        },
        {
          "tag": "pac-proxy-agent@7.0.1",
          "kind": "other",
          "published_at": "2023-09-04T08:09:54Z"
        },
        {
          "tag": "https-proxy-agent@7.0.2",
          "kind": "other",
          "published_at": "2023-09-04T08:09:51Z"
        },
        {
          "tag": "degenerator@5.0.1",
          "kind": "other",
          "published_at": "2023-07-19T21:01:13Z"
        },
        {
          "tag": "proxy-agent@6.3.0",
          "kind": "other",
          "published_at": "2023-07-18T09:04:40Z"
        },
        {
          "tag": "pac-resolver@7.0.0",
          "kind": "other",
          "published_at": "2023-07-18T09:04:37Z"
        },
        {
          "tag": "pac-proxy-agent@7.0.0",
          "kind": "other",
          "published_at": "2023-07-18T09:04:34Z"
        },
        {
          "tag": "degenerator@5.0.0",
          "kind": "other",
          "published_at": "2023-07-18T09:04:31Z"
        },
        {
          "tag": "proxy-agent@6.2.2",
          "kind": "other",
          "published_at": "2023-07-13T19:34:35Z"
        },
        {
          "tag": "pac-proxy-agent@6.0.4",
          "kind": "other",
          "published_at": "2023-07-13T19:34:31Z"
        },
        {
          "tag": "https-proxy-agent@7.0.1",
          "kind": "other",
          "published_at": "2023-07-10T19:39:37Z"
        },
        {
          "tag": "pac-resolver@6.0.2",
          "kind": "other",
          "published_at": "2023-06-29T22:01:23Z"
        },
        {
          "tag": "degenerator@4.0.4",
          "kind": "other",
          "published_at": "2023-06-29T22:01:20Z"
        },
        {
          "tag": "degenerator@4.0.3",
          "kind": "other",
          "published_at": "2023-06-17T08:24:40Z"
        },
        {
          "tag": "proxy-agent@6.2.1",
          "kind": "other",
          "published_at": "2023-05-25T00:23:11Z"
        },
        {
          "tag": "pac-proxy-agent@6.0.3",
          "kind": "other",
          "published_at": "2023-05-25T00:23:08Z"
        },
        {
          "tag": "https-proxy-agent@7.0.0",
          "kind": "other",
          "published_at": "2023-05-25T00:23:05Z"
        },
        {
          "tag": "http-proxy-agent@7.0.0",
          "kind": "other",
          "published_at": "2023-05-25T00:23:02Z"
        },
        {
          "tag": "https-proxy-agent@6.2.1",
          "kind": "other",
          "published_at": "2023-05-24T08:11:57Z"
        },
        {
          "tag": "proxy@2.1.1",
          "kind": "other",
          "published_at": "2023-05-18T19:31:34Z"
        },
        {
          "tag": "https-proxy-agent@6.2.0",
          "kind": "other",
          "published_at": "2023-05-18T19:31:31Z"
        },
        {
          "tag": "http-proxy-agent@6.1.0",
          "kind": "other",
          "published_at": "2023-05-18T19:31:28Z"
        },
        {
          "tag": "agent-base@7.0.2",
          "kind": "other",
          "published_at": "2023-05-18T19:31:25Z"
        },
        {
          "tag": "proxy@2.1.0",
          "kind": "other",
          "published_at": "2023-05-12T20:03:34Z"
        },
        {
          "tag": "proxy-agent@6.2.0",
          "kind": "other",
          "published_at": "2023-05-09T09:03:48Z"
        },
        {
          "tag": "pac-proxy-agent@6.0.2",
          "kind": "other",
          "published_at": "2023-05-09T09:03:45Z"
        },
        {
          "tag": "degenerator@4.0.2",
          "kind": "other",
          "published_at": "2023-05-09T09:03:42Z"
        },
        {
          "tag": "proxy-agent@6.1.2",
          "kind": "other",
          "published_at": "2023-05-05T22:04:16Z"
        },
        {
          "tag": "proxy@2.0.1",
          "kind": "other",
          "published_at": "2023-05-05T22:04:16Z"
        },
        {
          "tag": "pac-proxy-agent@6.0.1",
          "kind": "other",
          "published_at": "2023-05-05T22:04:16Z"
        },
        {
          "tag": "degenerator@4.0.1",
          "kind": "other",
          "published_at": "2023-05-05T22:04:16Z"
        },
        {
          "tag": "http-proxy-agent@6.0.1",
          "kind": "other",
          "published_at": "2023-05-05T22:04:16Z"
        },
        {
          "tag": "socks-proxy-agent@8.0.1",
          "kind": "other",
          "published_at": "2023-05-05T22:04:16Z"
        },
        {
          "tag": "https-proxy-agent@6.1.0",
          "kind": "other",
          "published_at": "2023-05-05T22:04:16Z"
        },
        {
          "tag": "get-uri@6.0.1",
          "kind": "other",
          "published_at": "2023-05-05T22:04:16Z"
        },
        {
          "tag": "data-uri-to-buffer@5.0.1",
          "kind": "other",
          "published_at": "2023-05-05T22:04:16Z"
        },
        {
          "tag": "agent-base@7.0.1",
          "kind": "other",
          "published_at": "2023-05-05T22:04:16Z"
        },
        {
          "tag": "pac-resolver@6.0.1",
          "kind": "other",
          "published_at": "2023-05-05T22:04:16Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "4813885d3f4e2ff837878ceffdba656a71dc31f0",
          "body": "Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) from 4.0.18 to 4.1.0.\n- [Release notes](https://github.com/vitest-dev/vitest/releases)\n- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)\n- [Commits](https://github.com/vitest-dev/vitest/commit\n[…]\nndency-version: 4.1.0\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump vitest from 4.0.18 to 4.1.0 (#436)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-12T21:26:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0f80493bd44de4e4a716178f0f7e029cd45db268",
          "body": "* chore: update quickjs-wasi to v3.0.0\n\nBreaking change in v3: WASM bytes must be explicitly provided to\nQuickJS.create(). Updated all call sites to load the WASM binary\nvia readFile() with import.meta.resolve().\n\n* chore: format code with prettier\n\n---------\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>\nCo-authored-by: clutz-bot[bot] <clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: update quickjs-wasi to v3.0.0 (#435)",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-07-12T21:25:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b7e5f7ccce1a3ac5b339cc4c587974e8989cbc16",
          "body": "* test: increase timeout for keepAlive test (flaky on Windows)\n\nThe 'should work with keepAlive: true' test in proxy-agent intermittently\ntimes out on Windows CI (10s default). The socket 'free' event can be\nslow on Windows. Bump to 30s for this specific test.\n\n* style: format test file with prettier\n\n* fix: format\n\n---------\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>\nCo-authored-by: clutz-bot[bot] <clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "test: increase timeout for flaky keepAlive test on Windows (#434)",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-24T07:20:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "065d1ffc2c4d60a33091b0607d8706ebc4bae6b8",
          "body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Version Packages (#416)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-05-24T07:10:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e7958c423a7f4ebbac645952c9ced82ab151f81",
          "body": "- actions/checkout v4 → v6\n- actions/setup-node v4 → v6\n- pnpm/action-setup v4 → v6\n\nNode.js 20 actions are deprecated and will be forced to Node.js 24\nstarting June 2, 2026.\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "ci: update GitHub Actions to v6 (Node.js 24 support) (#433)",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-24T07:06:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45d001602a5c7ae37979632710fde7c075f19ef4",
          "body": "* Bump turbo from 1.13.4 to 2.9.14\n\nBumps [turbo](https://github.com/vercel/turborepo) from 1.13.4 to 2.9.14.\n- [Release notes](https://github.com/vercel/turborepo/releases)\n- [Changelog](https://github.com/vercel/turborepo/blob/main/RELEASE.md)\n- [Commits](https://github.com/vercel/turborepo/compar\n[…]\n33+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: clutz-bot[bot] <clutz-bot[bot]@users.noreply.github.com>\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump turbo from 1.13.4 to 2.9.14 (#430)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-24T07:03:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "28777f4310c84547eeac9f9950441d769d8863ed",
          "body": "Bumps [ws](https://github.com/websockets/ws) from 8.19.0 to 8.20.1.\n- [Release notes](https://github.com/websockets/ws/releases)\n- [Commits](https://github.com/websockets/ws/compare/8.19.0...8.20.1)\n\n---\nupdated-dependencies:\n- dependency-name: ws\n  dependency-version: 8.20.1\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump ws from 8.19.0 to 8.20.1 (#429)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-24T06:59:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c5eba025418a85003e8945375327d86b2357d38",
          "body": "github.actor is whoever pushed last, not the PR author. When another\nbot merges main into a dependabot PR, the actor changes. Use\ngithub.event.pull_request.user.login to reliably detect dependabot PRs.\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "ci: check PR author instead of actor for E2E skip (#432)",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-24T06:52:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1dd8266d18cf719355a8fc36d8cbef73474d3588",
          "body": "The E2E job requires NordVPN secrets which aren't available to fork PRs\nor Dependabot PRs. Use a job-level `if` condition so the job shows as\n'skipped' in the GitHub UI rather than falsely succeeding or failing.\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "ci: skip E2E job for PRs without secret access (#431)",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-24T06:46:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2cae41b9a33e387454750f9748c04a23f7599df5",
          "body": "Bumps [basic-ftp](https://github.com/patrickjuchli/basic-ftp) from 5.3.0 to 5.3.1.\n- [Release notes](https://github.com/patrickjuchli/basic-ftp/releases)\n- [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/patrickjuchli/basic-ftp/compare/\n[…]\nendency-version: 5.3.1\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump basic-ftp from 5.3.0 to 5.3.1 (#425)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-24T06:40:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "84e85ed393bc78fcad1d50cffc4e2640f3b933a0",
          "body": "…ort (#420)\n\n* feat: add onProxyAuth callback and Negotiate/Kerberos proxy auth support\n\n- Add optional async onProxyAuth callback to HttpsProxyAgent and HttpProxyAgent\n- On 407 Proxy-Authentication Required, invoke callback with response and scheme\n- Callback returns headers for retry (e.g. Proxy-A\n[…]\nctually imports from 'kerberos'.\n\n---------\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>\nCo-authored-by: clutz-bot[bot] <clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: add onProxyAuth callback and Negotiate/Kerberos proxy auth supp…",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-04T00:22:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ce0243e33af7f950baa049926e74ba184478bf5b",
          "body": "…ng (#421)\n\n* feat(pac-proxy-agent): add sanitizeProxyResultCredentials() to strip credentials from log output\n\nAdd a utility function that sanitizes PAC proxy result strings by replacing\nembedded credentials (userinfo) with '<credentials>' for safe logging.\n\nThis prevents credentials from leaking i\n[…]\n.\n\n* style: format with prettier\n\n---------\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>\nCo-authored-by: clutz-bot[bot] <clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat(pac-proxy-agent): sanitize credentials in PAC proxy result loggi…",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-03T21:26:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3ebf4b2576f7ae0ca777f8c5ede60d618e79ae29",
          "body": "Emit a `proxy` event on the request object after the proxy connection\nis established. The event payload includes `{ proxy, socket }` where\n`proxy` is the proxy URL string and `socket` is the connected socket.\n\nThis is useful for debugging and logging which proxy was used for a\nconnection, and aligns with VS Code's vscode-proxy-agent behavior.\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat: add `proxy` event emission on request for all proxy agents (#422)",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-03T21:25:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8487a7826934568038e4dbc737355448c825c97d",
          "body": "* feat(pac-proxy-agent): add tests for credentials in PAC proxy results\n\nPAC files can return proxy results with embedded credentials like\n'PROXY user:pass@host:port'. These credentials are already correctly\npassed through to the underlying proxy agents (HttpProxyAgent,\nHttpsProxyAgent, SocksProxyAg\n[…]\ncuments\nthe support via a changeset.\n\nRefs #213\n\n* fix: replace broken changeset symlink with proper file\n\n---------\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "feat(pac-proxy-agent): support credentials in PAC proxy results (#423)",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-03T20:45:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1852c750bb68a8a84ee96fda5977e7431aa22f92",
          "body": "…ndition (#424)\n\nThe resume() function called on the 'socket' event was immediately\nswitching the socket to flowing mode, causing buffered data to be\nemitted before the HTTP client machinery had attached its data\nlisteners. This race condition was worked around downstream in\nVS Code's vscode-proxy-a\n[…]\nping socket.resume() in setImmediate() so all 'socket'\nevent handlers have a chance to attach their listeners first.\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "fix(https-proxy-agent): defer socket.resume() to prevent data race co…",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-03T20:42:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "42a7ffa8b3c808e41af0e29105d3185e24e05f81",
          "body": "…tching\n\nThe NordVPN server cert uses *.proxy.nordvpn.com wildcard, but the\nhostname field returns e.g. us10299.nordvpn.com which doesn't match.\nUse the proxy_hostname from the proxy_ssl technology metadata instead.",
          "is_bot": true,
          "headline": "fix: use proxy_hostname from NordVPN metadata for correct TLS cert ma…",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-03T19:54:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8761b473b125faf162e7cd5a274fdebd9be61d04",
          "body": null,
          "is_bot": true,
          "headline": "fix: log error message on each E2E retry attempt",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-03T19:47:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "434d23769543e539935b1f19435f7f1b45de3345",
          "body": null,
          "is_bot": true,
          "headline": "fix: increase E2E test timeout to 120s for retry headroom",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-03T19:45:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d8f2926e30f97562bdca17e346cc875f0de915d4",
          "body": "* feat(http-proxy-agent): emit 'proxyConnect' event\n\nAdds `proxyConnect` event emission to `http-proxy-agent` for parity with\n`https-proxy-agent`. The event is emitted on both the request and the\nagent instance when the socket connects to the proxy server.\n\nThe event payload includes:\n- `socket`: Th\n[…]\n 4.6 <noreply@anthropic.com>\n\n* chore: add changeset for proxyConnect event\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(http-proxy-agent): emit 'proxyConnect' event (#390)",
          "author_name": "Abhishek Chauhan",
          "author_login": "abhu85",
          "committed_at": "2026-05-03T19:43:52Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "671a3146f2bf9fb5f8f94ceddc2a3c0d31722685",
          "body": "…(#419)\n\nThe E2E tests were flaky because they picked a single random NordVPN\nserver and made one attempt. If that server was slow or down, the test\nfailed. Now the proxy test retries up to 3 times, picking a different\nrandom server on each attempt.\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "fix: retry NordVPN E2E proxy tests with different servers on failure …",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-03T19:36:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f40077ee34f0adcf576f84e771ea3265fe40747",
          "body": "…418)\n\nRemove the unmaintained `basic-auth-parser` dependency and replace it\nwith a simple built-in parser. Removes a `require()` call and the\n`@ts-expect-error` suppression.\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>\nCo-authored-by: jangolano <jangolano@users.noreply.github.com>",
          "is_bot": true,
          "headline": "fix(proxy): replace basic-auth-parser with built-in implementation (#…",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-03T19:25:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31d7ef1507deec9072a869174486bb43a4aa3003",
          "body": "Reject URLs longer than 4096 characters with HTTP 414 (URI Too Long)\nin both onrequest and onconnect handlers.\n\n\nFixes #380\n\nCo-authored-by: clutz-bot[bot] <261721731+clutz-bot[bot]@users.noreply.github.com>\nCo-authored-by: abhu85 <abhu85@users.noreply.github.com>",
          "is_bot": true,
          "headline": "fix(proxy): reject excessively long URLs to prevent DoS (#417)",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-05-03T19:17:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "417f6e9bda39979d2e5f79df6b53cf43f7ff0670",
          "body": "* Bump basic-ftp from 5.2.0 to 5.3.0\n\nBumps [basic-ftp](https://github.com/patrickjuchli/basic-ftp) from 5.2.0 to 5.3.0.\n- [Release notes](https://github.com/patrickjuchli/basic-ftp/releases)\n- [Changelog](https://github.com/patrickjuchli/basic-ftp/blob/master/CHANGELOG.md)\n- [Commits](https://githu\n[…]\nsion 5.3.0.\n\n---------\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Nathan Rajlich <n@n8.io>",
          "is_bot": true,
          "headline": "Bump basic-ftp from 5.2.0 to 5.3.0 (#413)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-03T19:09:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "03d9ee9a5cfddfc4521b7000ea84207909762134",
          "body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Version Packages (#410)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-04-06T06:40:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16a7c8ab8514937e7da4caf877e63ed9bc0bf190",
          "body": "* fix: update quickjs-wasi to v2.2.0 APIs\n\n* fix: remove invalid argument from QuickJS dispose() calls\n\nquickjs-wasi v2.2.0's dispose() takes no arguments. The previous\nboolean parameter was from an older API version.\n\n* chore: add changeset for quickjs-wasi v2.2.0 update\n\n---------\n\nCo-authored-by: clutz-bot[bot] <clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: update quickjs-wasi to v2.2.0 APIs (#409)",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-04-06T06:38:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af317e080c20d64fa76f93c741026ca7eaa9a31e",
          "body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Version Packages (#397)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-04-01T06:57:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7ca27d0d47fd3feba17a61021d7bf07896433928",
          "body": "…on (#408)\n\nCo-authored-by: Kevin Lentin <kevin.lentin@team.telstra.com>",
          "is_bot": false,
          "headline": "Simplify package.json exports to remove unnecessary imports restricti…",
          "author_name": "Kevin Lentin",
          "author_login": "KrayzeeKev",
          "committed_at": "2026-04-01T06:50:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "605e32a7b9958276ee5facab17ee8ea96ff41ea2",
          "body": "Pin the socksv5 github dependency from a branch reference to a specific\ncommit hash (d937368) to prevent potential supply chain attacks.\n\nFixes #387\n\nCo-authored-by: clutz-bot[bot] <clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "fix: pin socksv5 devDependency to commit hash (#402)",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-03-15T05:50:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e922b55afcbd4b45b3e667ffad1d18ca58d1dfe",
          "body": "* chore: Upgrades basic-ftp to v5.2.0\n\n* Adds changeset\n\n---------\n\nCo-authored-by: Leonardo Stenico <leonardostenico@gmail.com>",
          "is_bot": true,
          "headline": "chore: Upgrade basic-ftp to v5.2.0 (#401)",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-03-15T05:39:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e639d4b16f99093b9b7b37a92d9afd04ccac858",
          "body": "- Fixes [DEP0169: Insecure `url.parse()`](https://nodejs.org/api/deprecations.html#DEP0169)\n\nSigned-off-by: Rafael Santos <rafael@risantos.com>\nCo-authored-by: Rafael Santos <rafael@risantos.com>",
          "is_bot": true,
          "headline": "chore: update `proxy-from-env` (#400)",
          "author_name": "clutz-bot[bot]",
          "author_login": "clutz-bot[bot]",
          "committed_at": "2026-03-15T05:37:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca1214831e101db331c974f1006592de97f5a59c",
          "body": "…(#399)\n\n* fix(agent-base): use duck typing for agent detection in createSocket\n\nUse duck typing (checking for addRequest method) instead of strict\ninstanceof http.Agent check, consistent with Node.js core behavior.\n\nNode.js _http_client.js uses duck typing for options.agent - it only\nchecks typeof \n[…]\nunit test\n\n* fix(agent-base): resolve no-explicit-any lint warnings\n\n* style: format agent-base files with prettier\n\n---------\n\nCo-authored-by: clutz-bot[bot] <clutz-bot[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(agent-base): use duck typing for agent detection in createSocket …",
          "author_name": "CatCatYu",
          "author_login": "fjh1997",
          "committed_at": "2026-03-15T05:33:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b85186b0d23ee597f0e38757b36289fd3a9b08d2",
          "body": null,
          "is_bot": false,
          "headline": "Update engines check to require >= 20",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-11T19:04:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d12b51fab7ec6853091e247a6812ac0f6b9aeaa",
          "body": "Closes #376",
          "is_bot": false,
          "headline": "Set minimum Node.js version to 20 and add Node 24.x to CI matrix",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-11T17:39:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8dcdac8ad2b8318948c4c9364d3b95acca74f355",
          "body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Version Packages (#395)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-03-11T16:57:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4a8cf4ba8bb328bc47e0812164415377beaa648",
          "body": null,
          "is_bot": false,
          "headline": "Update pnpm/action-setup to v4 and use package_json_file for version",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-11T16:52:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c8b3f79b2d52635e2626d8dafaca2fb2f8ab86d",
          "body": "Closes #384",
          "is_bot": false,
          "headline": "Set up OIDC npm trusted publishing",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-11T16:48:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f60af8fc4efc1546e053bf0fcd6a7504ea232581",
          "body": null,
          "is_bot": false,
          "headline": "Update changesets to v2.30.0",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-06T23:37:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b1509d851e75d7ba313985c4e772fd3290a7da4f",
          "body": "* Replace @tootallnate/quickjs-emscripten with quickjs-wasi\n\nMigrate degenerator, pac-resolver, and pac-proxy-agent from\n@tootallnate/quickjs-emscripten to quickjs-wasi, a lighter-weight\nQuickJS WASM runtime built on quickjs-ng with WASI reactor mode.\n\nKey changes:\n- degenerator: compile() now takes\n[…]\n quickjs-wasi as peerDependency (type appears in public API)\n- pac-proxy-agent: store QuickJS instance, dispose previous VM when PAC is\n  reloaded with new content, dispose unused VM when hash matches",
          "is_bot": false,
          "headline": "Replace `@tootallnate/quickjs-emscripten` with `quickjs-wasi` (#394)",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-06T23:27:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5d3f71a2d021ec07b2b9156c543423e47053218c",
          "body": "Add a catalog to pnpm-workspace.yaml defining versions for 11\ncommonly repeated dependencies across the monorepo. Update all\npackage.json files to use catalog: references instead of inline\nversion strings.\n\nThis also normalizes several version mismatches:\n- typescript: ^5.0.4 / ^5.1.6 -> ^5.1.6\n- debug / @types/debug: bare '4' in https-proxy-agent -> ^4.3.4 / ^4.1.7\n- ws / @types/ws: ^5.2.4 / ^6.0.4 in agent-base -> ^8.13.0 / ^8.5.4\n- socksv5: npm 0.0.6 in pac-proxy-agent -> GitHub fork",
          "is_bot": false,
          "headline": "Use pnpm catalog: for shared dependencies",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-06T23:18:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77da0681427860f4d29307b5b43a6b28529666af",
          "body": "Replace semver ranges with workspace:* protocol for all 16\ndependencies between packages in this monorepo. This ensures\nlocal development always uses the workspace versions and pnpm\nwill substitute the correct version range at publish time.",
          "is_bot": false,
          "headline": "Use workspace:* for inter-repo dependencies",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-06T23:13:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f70a9dcad65fdeabf6e7ce0e71dfd2319b54deec",
          "body": "- Drop Node.js 14.x and 16.x from CI matrix (pnpm 10 requires >= 18.12,\n  vitest 4 / vite 7 requires >= 20)\n- Test on Node.js 20.x and 22.x instead\n- Move e2e test exclusion from global vitest config to per-package test\n  scripts so that test-e2e commands still work\n- Fix get-uri file descriptor GC error by passing the FileHandle directly\n  to createReadStream instead of extracting the raw fd",
          "is_bot": false,
          "headline": "Fix CI failures: update Node.js matrix and test configuration",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-06T23:08:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08e62f7ba3b762a19f57aaf2f849b997813290cf",
          "body": null,
          "is_bot": false,
          "headline": "Don't cache test results",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-06T22:36:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e30ec52abda549c2daab833b5ca0d0b419c307c9",
          "body": "Use `new URL()` instead of `url.parse()` to eliminate the DEP0169\ndeprecation warning. Strip IPv6 bracket notation from hostname since\n`new URL()` preserves brackets (e.g. `[::]`) unlike `url.parse()`\nwhich returned bare addresses.",
          "is_bot": false,
          "headline": "Replace deprecated url.parse() with WHATWG URL API in proxy package",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-06T22:22:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "549af5e8780b16b75fe5a28b353f988edc270ef8",
          "body": "- Regenerate get-uri SSL test cert (1024-bit -> 2048-bit) to fix\n  'ee key too small' error on modern OpenSSL\n- Fix get-uri file test to consume stream before reusing as cache\n  to avoid file descriptor GC errors\n- Exclude e2e test files from default vitest runs\n- Polyfill util.isError for socksv5 test dependency which uses the\n  removed Node.js API",
          "is_bot": false,
          "headline": "Fix pre-existing test issues exposed by vitest migration",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-06T22:14:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c92c09649dba8002c24e6b80052c3630619c560",
          "body": "BREAKING CHANGE: All packages now use `\"type\": \"module\"` and emit\nESM output instead of CommonJS. The tsconfig base has been updated\nto use `module: NodeNext` and `moduleResolution: NodeNext`.\n\nChanges include:\n- Add `\"type\": \"module\"` to all publishable package.json files\n- Replace `main`/`types` w\n[…]\nrts (required by NodeNext)\n- Fix CommonJS-specific code in proxy package (require -> createRequire)\n- Align get-uri tsconfig to extend shared base\n- Add changeset for semver major bump on all packages",
          "is_bot": false,
          "headline": "Convert all packages to ESM with type: module",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-06T22:06:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0b77ac72f0ed4964a012942453c99340119423c4",
          "body": "Replace jest/ts-jest with vitest across all packages. Add vitest as a\nroot devDependency with globals enabled. Delete all jest.config.js files\nand add a root vitest.config.ts. Update test scripts in all packages.\n\nAlso update @types/node from ^14 to ^22 and fix resulting type errors\nin agent-base, data-uri-to-buffer, get-uri, and socks-proxy-agent.",
          "is_bot": false,
          "headline": "Migrate from Jest to Vitest",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-06T22:02:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3fea00044744520ddab64676fbf0512e42a13efc",
          "body": "Update the packageManager field in root package.json and all\npnpm version references in CI workflows (test.yml, release.yml).\n\nAlso fix broken custom ftpd tarball URL in get-uri by switching\nto the standard npm registry version.",
          "is_bot": false,
          "headline": "Update pnpm from 7.32.2 to 10.30.3",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2026-03-06T21:51:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b923f5363875d8fd56477094d5ffc562840a4b76",
          "body": null,
          "is_bot": true,
          "headline": "Version Packages (#381)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2025-07-07T17:43:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e7dccc0348588bf7ff6c2db98d8cc8425cd6996",
          "body": "Co-authored-by: brl1 <bert.ROSELL@3ds.com>\nCo-authored-by: Nathan Rajlich <n@n8.io>",
          "is_bot": false,
          "headline": "Need to close the handle when there is a cache hit (#372)",
          "author_name": "Bert Rosell",
          "author_login": "brosell",
          "committed_at": "2025-07-07T17:39:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed00d3016e85d2fc1f8d318f862b98d220b9c788",
          "body": null,
          "is_bot": false,
          "headline": "Re-generate self-signed cert for tests",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2025-07-07T17:29:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6fe3fd3b9f8690674fe279105a2ca109e7d6240",
          "body": null,
          "is_bot": false,
          "headline": "Make options for `Agent.prototype.getName` optional (#378)",
          "author_name": "Douglas Parker",
          "author_login": "dgp1130",
          "committed_at": "2025-07-07T16:32:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "536aaa5165b888c548cbfa8095801c05478605fe",
          "body": null,
          "is_bot": true,
          "headline": "Version Packages (#364)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2025-02-18T19:37:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bc3ae7cd820f1972026224c2c67fe9192128dfee",
          "body": null,
          "is_bot": false,
          "headline": "Fix formatting",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2025-02-18T19:33:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d462b8bcf6113f3976ce02c7baa2de02dada90a",
          "body": null,
          "is_bot": false,
          "headline": "[pac-proxy-agent] Expose `PacProxyAgent.getResolver()` publicly (#363)",
          "author_name": "Alex Bakon",
          "author_login": "akonradi-signal",
          "committed_at": "2025-02-18T19:31:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e691507813d237253b56e6750490ba5f2e8f119",
          "body": "Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Version Packages (#360)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2024-12-08T04:03:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12bbc085ef537dd66c00d9e8b388deee254037d2",
          "body": null,
          "is_bot": false,
          "headline": "Remove unused debug dependency (#359)",
          "author_name": "Alex Parish",
          "author_login": "alexparish",
          "committed_at": "2024-12-08T02:37:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7cf0b795e05218d9e49047d5c93de77d2f606510",
          "body": null,
          "is_bot": true,
          "headline": "Version Packages (#352)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2024-12-07T03:31:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "55e03bdcbdd6de7f21a687bef8a03ba6820be7ad",
          "body": null,
          "is_bot": false,
          "headline": "Add CI engines check for prod deps (#357)",
          "author_name": "Luke Karrys",
          "author_login": "lukekarrys",
          "committed_at": "2024-12-07T03:04:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38760db4f872e7abbdc5bd8845ca501d3f43a5e4",
          "body": null,
          "is_bot": false,
          "headline": "lazy load non-direct proxies within pac-proxy (#356)",
          "author_name": "Luke Karrys",
          "author_login": "lukekarrys",
          "committed_at": "2024-12-06T22:44:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5fd25462f4f6f83de4b5c521fa12dfd45462dd91",
          "body": null,
          "is_bot": false,
          "headline": "Run format check in CI (#355)",
          "author_name": "Luke Karrys",
          "author_login": "lukekarrys",
          "committed_at": "2024-12-06T22:14:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77c35997717aa3e1607bdeaca1b544dba4a1e8a6",
          "body": "…ctor instead. (#348)\n\n\r\n---------\r\n\r\nCo-authored-by: George <minggeorgelei@163.com>\r\nCo-authored-by: George Lei <mlei@opentext.com>\r\nCo-authored-by: Luke Karrys <luke@lukekarrys.com>",
          "is_bot": false,
          "headline": "[pac-proxy-agent]: Since format method is deprecated, use URL constru…",
          "author_name": "Ming-George-Lei",
          "author_login": "Ming-George-Lei",
          "committed_at": "2024-12-06T22:12:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "913a49af08cde419082706fe29ba2d0d68c4488b",
          "body": "…ss (#354)",
          "is_bot": false,
          "headline": "Only overwrite servername in tls connect when host is not an IP addre…",
          "author_name": "Luke Karrys",
          "author_login": "lukekarrys",
          "committed_at": "2024-12-06T22:12:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1699a09fb192f137c9931d6358bca74abcd6c52c",
          "body": "`tls.createSecureContext()` can throw exceptions, so `.addRequest()`\r\ncan throw exceptions as well.",
          "is_bot": false,
          "headline": "Handle exceptions from agent addRequest() (#330)",
          "author_name": "Anna Henningsen",
          "author_login": "addaleax",
          "committed_at": "2024-12-06T17:32:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96b771ba482b85105a41812c287c3542a975e4be",
          "body": "This allows more flexibility in the callback, e.g. for inspecting\r\nrequest headers before deciding on a given proxy.\r\n\r\n---------\r\n\r\nCo-authored-by: Anna Henningsen <anna@addaleax.net>",
          "is_bot": false,
          "headline": "Pass req to getProxyForUrl callback (#353)",
          "author_name": "Luke Karrys",
          "author_login": "lukekarrys",
          "committed_at": "2024-12-06T17:18:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e90e2b21dae65a9896586df02fa68fec9e63d302",
          "body": "This mirrors the check in the core `proxy-agent` package and\r\nserves the same purpose.",
          "is_bot": false,
          "headline": "Use WebSocket check in pac-proxy-agent (#329)",
          "author_name": "Anna Henningsen",
          "author_login": "addaleax",
          "committed_at": "2024-12-06T16:54:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85b10b395c65cf3ec52ba3ff2bfe4641a030501b",
          "body": null,
          "is_bot": false,
          "headline": "[proxy-agent] Lazily load agents (#327)",
          "author_name": "Anna Henningsen",
          "author_login": "addaleax",
          "committed_at": "2024-12-05T05:31:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad68f6391aa2f240973e30df66d6008516508867",
          "body": "Co-authored-by: Anna Henningsen <anna@addaleax.net>",
          "is_bot": false,
          "headline": "Destroy agent instances when disposed from cache (#350)",
          "author_name": "Luke Karrys",
          "author_login": "lukekarrys",
          "committed_at": "2024-12-05T03:02:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a40e3ad498c1a16c686ec4d15fe926198148ea45",
          "body": null,
          "is_bot": true,
          "headline": "Version Packages (#342)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2024-12-03T23:30:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7dc268174d90f1cd9810a210bb9563991b91d77c",
          "body": null,
          "is_bot": false,
          "headline": "[get-uri] Remove `fs-extra` dependency (#341)",
          "author_name": "Alex Parish",
          "author_login": "alexparish",
          "committed_at": "2024-10-22T21:45:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d4bd262041e38bc7110bc04857e64f6965e3278",
          "body": null,
          "is_bot": false,
          "headline": "[get-uri] Update 'st' from v1 to v3 (#336)",
          "author_name": "Max Schmitt",
          "author_login": "mxschmitt",
          "committed_at": "2024-10-21T21:14:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5555794b6d9e4b0a36fac80a2d3acea876a8f7dc",
          "body": null,
          "is_bot": true,
          "headline": "Version Packages (#311)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2024-06-28T07:28:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b991ffe3221fb2f4fbc9abbcdf09bb68767907ae",
          "body": null,
          "is_bot": true,
          "headline": "Bump ws from 3.3.3 to 5.2.4 (#320)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-06-28T07:25:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdeed27fea0a892ccdf35c4daf5f959f6ff5a211",
          "body": "…package (#322)\n\nCo-authored-by: Ricardo Lopes <ricardo.lopes@appliedblockchain.com>",
          "is_bot": false,
          "headline": "Bump socks and pac-resolver versions to mitigate vulnerability in IP …",
          "author_name": "Hervé Commowick",
          "author_login": "vr",
          "committed_at": "2024-06-28T07:22:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0fd02c5e0cc601b1ba9b52a2e838d776bed6e0e0",
          "body": null,
          "is_bot": false,
          "headline": "Don't test Node v14 on macOS (#323)",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2024-06-28T07:21:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70023c12abe0d014004af6309ff7d0fdbaa60875",
          "body": null,
          "is_bot": false,
          "headline": "Add SOCKS auth tests",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2024-04-06T06:54:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5908e84db988a3ab7316fec848b7cd00b64ec94e",
          "body": "Fixes #308.",
          "is_bot": false,
          "headline": "Remove `net.isIP()` check for TLS `servername` (#312)",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2024-04-06T06:07:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "28104d2121ae7f3e2318e3aa6015c5a8a93e4957",
          "body": "Closes #260.",
          "is_bot": false,
          "headline": "Add bin for proxy CLI (#305)",
          "author_name": "Luke Karrys",
          "author_login": "lukekarrys",
          "committed_at": "2024-04-06T05:55:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "010fdc304a18931d2a1da7767e71303e7ce05abd",
          "body": null,
          "is_bot": false,
          "headline": "Fix e2e (#303)",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2024-03-30T08:43:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1429c7e80cb9b2b00c426387db1ec24f7fb50e8e",
          "body": null,
          "is_bot": true,
          "headline": "Version Packages (#301)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2024-03-30T01:31:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ada656deb9db01afb3b4d51a3a8ef3fc645ee5fc",
          "body": "Co-authored-by: Nathan Rajlich <n@n8.io>",
          "is_bot": false,
          "headline": "[socks-proxy-agent] pass socket_options to SocksClient (#302)",
          "author_name": "Luke Karrys",
          "author_login": "lukekarrys",
          "committed_at": "2024-03-30T01:19:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e62863c3459987c3e2ad3dbb555d413d875dac5b",
          "body": "… used (#300)\n\n* Synchronously update internal sockets length so http.Agent pooling is used\r\n\r\nFixes #299\r\n\r\n* Fix some comments\r\n\r\n* Use fewer ts-expect-error comments\r\n\r\n* Implement getName method to get both http/https names\r\n\r\n* Fix linting\r\n\r\n* Create seven-colts-flash.md\r\n\r\n* Make getName() public and add tests for it\r\n\r\n* Add test for keepAlive+maxSockets when using https",
          "is_bot": false,
          "headline": "Synchronously update internal sockets length so http.Agent pooling is…",
          "author_name": "Luke Karrys",
          "author_login": "lukekarrys",
          "committed_at": "2024-03-30T00:21:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b5f94e3222c0aaa3bc56218ff125e2c56417c86e",
          "body": null,
          "is_bot": true,
          "headline": "Version Packages (#290)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2024-02-15T19:13:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b88ab4654950899a4fb1fc47ac5cdef1d78ccb64",
          "body": null,
          "is_bot": false,
          "headline": "fix: `URL` imports for Node 14 (#289)",
          "author_name": "Daniel Bankhead",
          "author_login": "danielbankhead",
          "committed_at": "2024-02-15T19:02:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d8a4fba1db1ecb423e29f14af93782e1433e85f4",
          "body": "The following updates are performed:\r\n* update actions/checkout to v4\r\n* update actions/setup-node to v4\r\n* update pnpm/action-setup to v3",
          "is_bot": false,
          "headline": "chore: update actions in GitHub Actions workflows (#283)",
          "author_name": "Dirk Stolle",
          "author_login": "striezel",
          "committed_at": "2024-02-13T00:06:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d494f891ba74b7c5274ccf71d0e05e94f2824cbc",
          "body": null,
          "is_bot": false,
          "headline": "chore: fix some typos (#282)",
          "author_name": "Dirk Stolle",
          "author_login": "striezel",
          "committed_at": "2024-02-13T00:02:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4d3cd09184813d1dbe3612af8b3919957abf145",
          "body": null,
          "is_bot": true,
          "headline": "Version Packages (#271)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2024-02-12T18:23:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a954da3800cd6de4166e2c904f08954d00f016fa",
          "body": null,
          "is_bot": false,
          "headline": "[pac-resolver] Remove `ip` dependency (#281)",
          "author_name": "Viktor U",
          "author_login": "viktor-urbanas-qatalog",
          "committed_at": "2024-02-12T18:14:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7e0e56d1f260c80a2c3660b6a015b38f83e0b7e",
          "body": "This allows users to use an asynchronous getProxyForUrl in case they need\r\nto do asynchronous operations to resolve the correct proxy URL.  This can\r\nbe the case, for example, if using Electron.Session.resolveProxy(url).",
          "is_bot": false,
          "headline": "[proxy-agent] Allow asynchronous `getProxyForUrl` (#275)",
          "author_name": "Mark Yen",
          "author_login": "mook-as",
          "committed_at": "2024-02-12T18:11:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c854e4c9235f9d0ab93e57114e59a1b2f5fba4b4",
          "body": null,
          "is_bot": false,
          "headline": "[get-uri] Update `fs-extra` to v11 (#279)",
          "author_name": "Mehul Kar",
          "author_login": "mehulkar",
          "committed_at": "2024-02-12T17:50:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c881a1804197b89580320b87082971c3c6a61746",
          "body": "* Make decoding of base64 data URIs faster\r\n\r\nI saw in https://github.com/microsoft/vscode-js-debug/issues/1911 that\r\nbase64 decoding of a data URI was taking a bit of time.\r\n\r\nThis PR feature-detects the presence of a global `Buffer` to use native\r\ndecoding when running in Node.js, which is about 2\n[…]\n:)\r\n\r\n* use conditional exports\r\n\r\n* fix test import\r\n\r\n* fix node test import, and set stringToBuffer encoding\r\n\r\n* Create few-adults-rhyme.md\r\n\r\n---------\r\n\r\nCo-authored-by: Nathan Rajlich <n@n8.io>",
          "is_bot": false,
          "headline": "Use native decoding of base64 in Node.js (#269)",
          "author_name": "Connor Peet",
          "author_login": "connor4312",
          "committed_at": "2024-01-08T17:56:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c3c405ee03748af5d3a863bec00c13e5a1b75051",
          "body": null,
          "is_bot": false,
          "headline": "fix: URL types were missing (#268)",
          "author_name": "Dimitri DO BAIRRO",
          "author_login": "rimiti",
          "committed_at": "2024-01-08T17:55:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b133295fd16f6475578b6b15bd9b4e33ecb0d0b7",
          "body": null,
          "is_bot": true,
          "headline": "Version Packages (#255)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2023-09-30T14:49:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d146e878f1b7f8393a3ee424c55e2cb586aeea9",
          "body": "… (#254)",
          "is_bot": false,
          "headline": "Ensure `<reference types=\"node\" />` is not present in generated types…",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2023-09-30T14:46:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b149ecc84107aa23e616cb01c43dbfdedd5359a8",
          "body": null,
          "is_bot": true,
          "headline": "Version Packages (#253)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2023-09-30T14:28:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52b458f7892b6b877d5a0aac8cf7d063440e0011",
          "body": "… Node.js `Buffer` (#252)\n\nBreaking change refactor to return an `ArrayBuffer` instead of a Node.js `Buffer`.\r\n\r\nThis change is being made to make the package platform-agnostic, and work in web browsers or other non-Node.js environments without polyfills.\r\n\r\nFor Node.js users of this package, you ca\n[…]\n `ArrayBuffer` like so:\r\n\r\n```typescript\r\nconst uri = 'data:,Hello%2C%20World!';\r\nconst parsed = dataUriToBuffer(uri);\r\nconst buffer = Buffer.from(parsed.buffer);\r\n// `buffer` is a Node.js Buffer\r\n```",
          "is_bot": false,
          "headline": "[data-uri-to-buffer] Refactor to return an `ArrayBuffer` instead of a…",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2023-09-30T14:26:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "aaebfa4c3664aa1e8538fc450e2ad48d65e613f5",
          "body": null,
          "is_bot": false,
          "headline": "Prettier",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2023-09-30T14:09:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5923589c2e5206504772c250ac4f20fc31122d3b",
          "body": null,
          "is_bot": false,
          "headline": "Moved licenses to separate files (#251)",
          "author_name": "tschlechtweg",
          "author_login": null,
          "committed_at": "2023-09-22T13:46:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43a96899673e041d4e31bf6a83e6ee05a8f77e9e",
          "body": null,
          "is_bot": false,
          "headline": "Fix lint and tweak eslint error message",
          "author_name": "Nathan Rajlich",
          "author_login": "TooTallNate",
          "committed_at": "2023-09-08T07:57:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "523b74c7d2ebfe9442f3e812b449f291c7706780",
          "body": null,
          "is_bot": false,
          "headline": "Restrict use of global URL in certain packages (#246)",
          "author_name": "Luke Karrys",
          "author_login": "lukekarrys",
          "committed_at": "2023-09-08T07:27:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd3b98f0f0bf1da83a58c3330415805568b297f6",
          "body": null,
          "is_bot": true,
          "headline": "Version Packages (#238)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2023-09-04T08:08:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 47,
      "latest_release_at": "2026-06-08T16:48:02Z",
      "latest_release_tag": "get-uri@8.0.1",
      "releases_from_tags": false,
      "days_since_last_push": 9,
      "active_weeks_last_year": 6,
      "days_since_latest_release": 43,
      "mean_days_between_releases": 7
    },
    "community": {
      "has_readme": true,
      "has_license": false,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 28,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "proxy",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "http",
            "https",
            "proxy",
            "connect",
            "tunnel",
            "squid",
            "privoxy",
            "apache",
            "mod_proxy",
            "via",
            "x-forwarded-for"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/proxy",
          "is_deprecated": false,
          "latest_version": "4.1.0",
          "repository_url": "https://github.com/TooTallNate/proxy-agents",
          "versions_count": 18,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 1966184,
          "first_published_at": "2013-09-08T02:23:50.128000Z",
          "latest_published_at": "2026-06-08T16:47:16.801000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 43
        },
        {
          "name": "get-uri",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "uri",
            "read",
            "readstream",
            "stream",
            "get",
            "http",
            "https",
            "ftp",
            "file",
            "data",
            "protocol",
            "url"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/get-uri",
          "is_deprecated": false,
          "latest_version": "8.0.1",
          "repository_url": "https://github.com/TooTallNate/proxy-agents",
          "versions_count": 26,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 111096886,
          "first_published_at": "2014-01-12T22:48:32.824000Z",
          "latest_published_at": "2026-06-08T16:47:20.580000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 43
        },
        {
          "name": "proxy-agent-negotiate",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "proxy",
            "negotiate",
            "kerberos",
            "spnego",
            "authentication"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/proxy-agent-negotiate",
          "is_deprecated": false,
          "latest_version": "1.1.0",
          "repository_url": "https://github.com/TooTallNate/proxy-agents",
          "versions_count": 2,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 8389247,
          "first_published_at": "2026-06-08T16:42:37.881000Z",
          "latest_published_at": "2026-06-08T16:47:13.126000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 43
        },
        {
          "name": "agent-base",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "http",
            "agent",
            "base",
            "barebones",
            "https"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/agent-base",
          "is_deprecated": false,
          "latest_version": "9.0.0",
          "repository_url": "https://github.com/TooTallNate/proxy-agents",
          "versions_count": 33,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 1011258370,
          "first_published_at": "2013-07-09T20:14:39.860000Z",
          "latest_published_at": "2026-04-01T06:57:34.221000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 112
        },
        {
          "name": "degenerator",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/degenerator",
          "is_deprecated": false,
          "latest_version": "7.0.1",
          "repository_url": "https://github.com/TooTallNate/proxy-agents",
          "versions_count": 31,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 108193855,
          "first_published_at": "2013-12-06T23:47:58.716000Z",
          "latest_published_at": "2026-04-06T06:41:04.741000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 107
        },
        {
          "name": "proxy-agent",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "http",
            "https",
            "socks",
            "agent",
            "mapping",
            "proxy"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/proxy-agent",
          "is_deprecated": false,
          "latest_version": "8.0.2",
          "repository_url": "https://github.com/TooTallNate/proxy-agents",
          "versions_count": 33,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 115192566,
          "first_published_at": "2013-11-21T01:02:52.160000Z",
          "latest_published_at": "2026-06-08T16:47:38.809000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 43
        },
        {
          "name": "pac-resolver",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "pac",
            "file",
            "proxy",
            "resolve",
            "dns"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/pac-resolver",
          "is_deprecated": false,
          "latest_version": "9.0.1",
          "repository_url": "https://github.com/TooTallNate/proxy-agents",
          "versions_count": 28,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 113293787,
          "first_published_at": "2013-12-09T21:44:42.130000Z",
          "latest_published_at": "2026-04-06T06:41:07.822000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 107
        },
        {
          "name": "pac-proxy-agent",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "pac",
            "proxy",
            "agent",
            "http",
            "https",
            "socks",
            "request",
            "access"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/pac-proxy-agent",
          "is_deprecated": false,
          "latest_version": "9.1.0",
          "repository_url": "https://github.com/TooTallNate/proxy-agents",
          "versions_count": 30,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 115867099,
          "first_published_at": "2014-01-13T06:20:21.850000Z",
          "latest_published_at": "2026-06-08T16:47:35.283000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 43
        }
      ]
    },
    "popularity": {
      "forks": 279,
      "stars": 1149,
      "watchers": 18,
      "fork_history": {
        "days": [
          {
            "date": "2013-11-18",
            "count": 1
          },
          {
            "date": "2014-01-13",
            "count": 1
          },
          {
            "date": "2014-02-14",
            "count": 1
          },
          {
            "date": "2015-05-21",
            "count": 1
          },
          {
            "date": "2015-08-26",
            "count": 1
          },
          {
            "date": "2015-12-14",
            "count": 2
          },
          {
            "date": "2016-03-01",
            "count": 1
          },
          {
            "date": "2016-03-07",
            "count": 1
          },
          {
            "date": "2016-04-28",
            "count": 1
          },
          {
            "date": "2016-06-24",
            "count": 1
          },
          {
            "date": "2016-08-03",
            "count": 1
          },
          {
            "date": "2016-09-22",
            "count": 1
          },
          {
            "date": "2016-09-25",
            "count": 1
          },
          {
            "date": "2016-11-06",
            "count": 1
          },
          {
            "date": "2016-11-13",
            "count": 1
          },
          {
            "date": "2016-12-01",
            "count": 1
          },
          {
            "date": "2016-12-11",
            "count": 1
          },
          {
            "date": "2017-02-06",
            "count": 1
          },
          {
            "date": "2017-07-20",
            "count": 1
          },
          {
            "date": "2017-10-23",
            "count": 1
          },
          {
            "date": "2017-11-02",
            "count": 1
          },
          {
            "date": "2017-11-06",
            "count": 1
          },
          {
            "date": "2017-11-11",
            "count": 1
          },
          {
            "date": "2017-11-14",
            "count": 1
          },
          {
            "date": "2017-12-12",
            "count": 1
          },
          {
            "date": "2018-01-04",
            "count": 1
          },
          {
            "date": "2018-01-07",
            "count": 1
          },
          {
            "date": "2018-01-29",
            "count": 1
          },
          {
            "date": "2018-03-28",
            "count": 2
          },
          {
            "date": "2018-04-03",
            "count": 1
          },
          {
            "date": "2018-04-26",
            "count": 1
          },
          {
            "date": "2018-05-14",
            "count": 1
          },
          {
            "date": "2018-07-06",
            "count": 1
          },
          {
            "date": "2018-07-07",
            "count": 1
          },
          {
            "date": "2018-07-12",
            "count": 1
          },
          {
            "date": "2018-07-22",
            "count": 1
          },
          {
            "date": "2018-09-24",
            "count": 1
          },
          {
            "date": "2018-10-09",
            "count": 1
          },
          {
            "date": "2018-10-19",
            "count": 1
          },
          {
            "date": "2018-11-02",
            "count": 1
          },
          {
            "date": "2018-12-23",
            "count": 1
          },
          {
            "date": "2018-12-27",
            "count": 1
          },
          {
            "date": "2019-01-06",
            "count": 1
          },
          {
            "date": "2019-02-08",
            "count": 1
          },
          {
            "date": "2019-03-22",
            "count": 1
          },
          {
            "date": "2019-04-10",
            "count": 1
          },
          {
            "date": "2019-05-21",
            "count": 1
          },
          {
            "date": "2019-07-14",
            "count": 1
          },
          {
            "date": "2019-07-16",
            "count": 1
          },
          {
            "date": "2019-07-23",
            "count": 1
          },
          {
            "date": "2019-07-26",
            "count": 1
          },
          {
            "date": "2019-09-05",
            "count": 1
          },
          {
            "date": "2019-09-24",
            "count": 1
          },
          {
            "date": "2019-09-29",
            "count": 1
          },
          {
            "date": "2019-10-18",
            "count": 1
          },
          {
            "date": "2019-10-21",
            "count": 1
          },
          {
            "date": "2019-11-20",
            "count": 1
          },
          {
            "date": "2019-11-26",
            "count": 1
          },
          {
            "date": "2019-12-16",
            "count": 1
          },
          {
            "date": "2019-12-28",
            "count": 1
          },
          {
            "date": "2020-01-26",
            "count": 1
          },
          {
            "date": "2020-02-07",
            "count": 1
          },
          {
            "date": "2020-03-10",
            "count": 1
          },
          {
            "date": "2020-04-27",
            "count": 1
          },
          {
            "date": "2020-05-13",
            "count": 2
          },
          {
            "date": "2020-05-20",
            "count": 1
          },
          {
            "date": "2020-05-22",
            "count": 1
          },
          {
            "date": "2020-05-24",
            "count": 1
          },
          {
            "date": "2020-06-03",
            "count": 2
          },
          {
            "date": "2020-07-01",
            "count": 1
          },
          {
            "date": "2020-07-29",
            "count": 1
          },
          {
            "date": "2020-09-01",
            "count": 2
          },
          {
            "date": "2020-09-10",
            "count": 1
          },
          {
            "date": "2020-09-15",
            "count": 1
          },
          {
            "date": "2020-09-23",
            "count": 1
          },
          {
            "date": "2020-11-10",
            "count": 1
          },
          {
            "date": "2021-02-12",
            "count": 2
          },
          {
            "date": "2021-03-19",
            "count": 1
          },
          {
            "date": "2021-03-31",
            "count": 1
          },
          {
            "date": "2021-04-04",
            "count": 1
          },
          {
            "date": "2021-04-13",
            "count": 1
          },
          {
            "date": "2021-04-15",
            "count": 1
          },
          {
            "date": "2021-05-20",
            "count": 1
          },
          {
            "date": "2021-05-26",
            "count": 1
          },
          {
            "date": "2021-06-14",
            "count": 1
          },
          {
            "date": "2021-06-29",
            "count": 1
          },
          {
            "date": "2021-07-10",
            "count": 1
          },
          {
            "date": "2021-08-04",
            "count": 1
          },
          {
            "date": "2021-08-08",
            "count": 1
          },
          {
            "date": "2021-08-10",
            "count": 1
          },
          {
            "date": "2021-08-15",
            "count": 1
          },
          {
            "date": "2021-09-15",
            "count": 1
          },
          {
            "date": "2021-10-04",
            "count": 1
          },
          {
            "date": "2021-10-07",
            "count": 1
          },
          {
            "date": "2021-11-13",
            "count": 1
          },
          {
            "date": "2021-11-15",
            "count": 1
          },
          {
            "date": "2021-11-22",
            "count": 1
          },
          {
            "date": "2021-11-25",
            "count": 1
          },
          {
            "date": "2021-12-10",
            "count": 1
          },
          {
            "date": "2022-01-27",
            "count": 1
          },
          {
            "date": "2022-01-31",
            "count": 1
          },
          {
            "date": "2022-03-07",
            "count": 1
          },
          {
            "date": "2022-03-10",
            "count": 1
          },
          {
            "date": "2022-03-22",
            "count": 1
          },
          {
            "date": "2022-03-24",
            "count": 1
          },
          {
            "date": "2022-03-29",
            "count": 1
          },
          {
            "date": "2022-03-30",
            "count": 1
          },
          {
            "date": "2022-04-08",
            "count": 1
          },
          {
            "date": "2022-04-20",
            "count": 1
          },
          {
            "date": "2022-05-04",
            "count": 1
          },
          {
            "date": "2022-05-14",
            "count": 1
          },
          {
            "date": "2022-06-08",
            "count": 1
          },
          {
            "date": "2022-07-07",
            "count": 1
          },
          {
            "date": "2022-08-04",
            "count": 1
          },
          {
            "date": "2022-08-11",
            "count": 1
          },
          {
            "date": "2022-09-08",
            "count": 2
          },
          {
            "date": "2022-09-30",
            "count": 1
          },
          {
            "date": "2022-11-01",
            "count": 1
          },
          {
            "date": "2022-11-07",
            "count": 1
          },
          {
            "date": "2022-11-11",
            "count": 1
          },
          {
            "date": "2023-01-23",
            "count": 1
          },
          {
            "date": "2023-02-01",
            "count": 1
          },
          {
            "date": "2023-03-09",
            "count": 2
          },
          {
            "date": "2023-03-31",
            "count": 1
          },
          {
            "date": "2023-04-21",
            "count": 1
          },
          {
            "date": "2023-04-28",
            "count": 1
          },
          {
            "date": "2023-05-07",
            "count": 2
          },
          {
            "date": "2023-05-12",
            "count": 3
          },
          {
            "date": "2023-05-19",
            "count": 2
          },
          {
            "date": "2023-05-22",
            "count": 1
          },
          {
            "date": "2023-06-07",
            "count": 1
          },
          {
            "date": "2023-06-09",
            "count": 3
          },
          {
            "date": "2023-06-13",
            "count": 1
          },
          {
            "date": "2023-06-15",
            "count": 1
          },
          {
            "date": "2023-06-20",
            "count": 1
          },
          {
            "date": "2023-06-27",
            "count": 1
          },
          {
            "date": "2023-06-30",
            "count": 2
          },
          {
            "date": "2023-07-17",
            "count": 1
          },
          {
            "date": "2023-07-23",
            "count": 1
          },
          {
            "date": "2023-08-05",
            "count": 1
          },
          {
            "date": "2023-08-10",
            "count": 1
          },
          {
            "date": "2023-08-15",
            "count": 1
          },
          {
            "date": "2023-08-21",
            "count": 1
          },
          {
            "date": "2023-08-29",
            "count": 1
          },
          {
            "date": "2023-08-30",
            "count": 1
          },
          {
            "date": "2023-10-14",
            "count": 1
          },
          {
            "date": "2023-10-26",
            "count": 1
          },
          {
            "date": "2023-10-28",
            "count": 1
          },
          {
            "date": "2023-11-16",
            "count": 1
          },
          {
            "date": "2023-11-25",
            "count": 1
          },
          {
            "date": "2023-11-28",
            "count": 1
          },
          {
            "date": "2023-12-04",
            "count": 1
          },
          {
            "date": "2023-12-07",
            "count": 1
          },
          {
            "date": "2023-12-17",
            "count": 1
          },
          {
            "date": "2024-01-04",
            "count": 2
          },
          {
            "date": "2024-01-05",
            "count": 1
          },
          {
            "date": "2024-01-08",
            "count": 1
          },
          {
            "date": "2024-01-12",
            "count": 1
          },
          {
            "date": "2024-01-22",
            "count": 1
          },
          {
            "date": "2024-01-23",
            "count": 1
          },
          {
            "date": "2024-01-24",
            "count": 1
          },
          {
            "date": "2024-02-01",
            "count": 2
          },
          {
            "date": "2024-02-07",
            "count": 1
          },
          {
            "date": "2024-02-09",
            "count": 1
          },
          {
            "date": "2024-02-14",
            "count": 1
          },
          {
            "date": "2024-02-15",
            "count": 2
          },
          {
            "date": "2024-02-19",
            "count": 1
          },
          {
            "date": "2024-02-21",
            "count": 1
          },
          {
            "date": "2024-02-26",
            "count": 1
          },
          {
            "date": "2024-03-11",
            "count": 1
          },
          {
            "date": "2024-03-21",
            "count": 1
          },
          {
            "date": "2024-03-25",
            "count": 1
          },
          {
            "date": "2024-03-31",
            "count": 1
          },
          {
            "date": "2024-04-07",
            "count": 1
          },
          {
            "date": "2024-04-12",
            "count": 1
          },
          {
            "date": "2024-04-26",
            "count": 1
          },
          {
            "date": "2024-05-06",
            "count": 1
          },
          {
            "date": "2024-05-10",
            "count": 1
          },
          {
            "date": "2024-05-14",
            "count": 1
          },
          {
            "date": "2024-05-22",
            "count": 1
          },
          {
            "date": "2024-05-23",
            "count": 1
          },
          {
            "date": "2024-06-16",
            "count": 1
          },
          {
            "date": "2024-06-17",
            "count": 1
          },
          {
            "date": "2024-06-26",
            "count": 1
          },
          {
            "date": "2024-07-15",
            "count": 1
          },
          {
            "date": "2024-07-21",
            "count": 3
          },
          {
            "date": "2024-07-30",
            "count": 1
          },
          {
            "date": "2024-08-04",
            "count": 1
          },
          {
            "date": "2024-08-07",
            "count": 2
          },
          {
            "date": "2024-08-16",
            "count": 1
          },
          {
            "date": "2024-08-26",
            "count": 1
          },
          {
            "date": "2024-10-01",
            "count": 1
          },
          {
            "date": "2024-10-07",
            "count": 1
          },
          {
            "date": "2024-10-13",
            "count": 1
          },
          {
            "date": "2024-11-06",
            "count": 1
          },
          {
            "date": "2024-11-07",
            "count": 1
          },
          {
            "date": "2024-11-21",
            "count": 2
          },
          {
            "date": "2024-11-23",
            "count": 1
          },
          {
            "date": "2024-12-06",
            "count": 1
          },
          {
            "date": "2024-12-09",
            "count": 1
          },
          {
            "date": "2025-02-18",
            "count": 1
          },
          {
            "date": "2025-02-24",
            "count": 1
          },
          {
            "date": "2025-04-02",
            "count": 1
          },
          {
            "date": "2025-04-17",
            "count": 1
          },
          {
            "date": "2025-04-22",
            "count": 2
          },
          {
            "date": "2025-04-28",
            "count": 1
          },
          {
            "date": "2025-05-09",
            "count": 1
          },
          {
            "date": "2025-05-14",
            "count": 1
          },
          {
            "date": "2025-05-20",
            "count": 1
          },
          {
            "date": "2025-06-02",
            "count": 1
          },
          {
            "date": "2025-06-26",
            "count": 1
          },
          {
            "date": "2025-06-30",
            "count": 3
          },
          {
            "date": "2025-07-07",
            "count": 1
          },
          {
            "date": "2025-07-28",
            "count": 2
          },
          {
            "date": "2025-09-05",
            "count": 1
          },
          {
            "date": "2025-09-11",
            "count": 1
          },
          {
            "date": "2025-10-02",
            "count": 1
          },
          {
            "date": "2025-10-16",
            "count": 1
          },
          {
            "date": "2025-11-06",
            "count": 1
          },
          {
            "date": "2025-11-22",
            "count": 1
          },
          {
            "date": "2025-12-07",
            "count": 1
          },
          {
            "date": "2026-01-08",
            "count": 1
          },
          {
            "date": "2026-01-10",
            "count": 1
          },
          {
            "date": "2026-01-30",
            "count": 1
          },
          {
            "date": "2026-02-12",
            "count": 1
          },
          {
            "date": "2026-02-18",
            "count": 1
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 1
          },
          {
            "date": "2026-03-02",
            "count": 2
          },
          {
            "date": "2026-03-03",
            "count": 1
          },
          {
            "date": "2026-03-13",
            "count": 1
          },
          {
            "date": "2026-03-14",
            "count": 1
          },
          {
            "date": "2026-03-19",
            "count": 1
          },
          {
            "date": "2026-04-20",
            "count": 1
          },
          {
            "date": "2026-05-06",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-07-06",
            "count": 1
          },
          {
            "date": "2026-07-22",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 265,
        "total_forks": 279
      },
      "star_history": null,
      "open_issues_and_prs": 20
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "packages/agent-base/test/tsconfig.json",
        "packages/agent-base/tsconfig.json",
        "packages/data-uri-to-buffer/test/tsconfig.json",
        "packages/data-uri-to-buffer/tsconfig.json",
        "packages/degenerator/test/tsconfig.json",
        "packages/degenerator/tsconfig.json",
        "packages/get-uri/test/tsconfig.json",
        "packages/get-uri/tsconfig.json",
        "packages/http-proxy-agent/test/tsconfig.json",
        "packages/http-proxy-agent/tsconfig.json",
        "packages/https-proxy-agent/test/tsconfig.json",
        "packages/https-proxy-agent/tsconfig.json",
        "packages/negotiate/tsconfig.json",
        "packages/pac-proxy-agent/test/tsconfig.json",
        "packages/pac-proxy-agent/tsconfig.json",
        "packages/pac-resolver/test/tsconfig.json",
        "packages/pac-resolver/tsconfig.json",
        "packages/proxy-agent/test/tsconfig.json",
        "packages/proxy-agent/tsconfig.json",
        "packages/proxy/test/tsconfig.json",
        "packages/proxy/tsconfig.json",
        "packages/socks-proxy-agent/test/tsconfig.json",
        "packages/socks-proxy-agent/tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 17005,
      "source_files_sampled": 95,
      "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": 13,
        "malicious_count": 0,
        "assessed_package": "npm:proxy@4.1.0",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "ast-types",
          "manifest": "packages/degenerator/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.13.4"
        },
        {
          "name": "escodegen",
          "manifest": "packages/degenerator/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.1.0"
        },
        {
          "name": "esprima",
          "manifest": "packages/degenerator/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.1"
        },
        {
          "name": "basic-ftp",
          "manifest": "packages/get-uri/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.3.1"
        },
        {
          "name": "data-uri-to-buffer",
          "manifest": "packages/get-uri/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "debug",
          "manifest": "packages/get-uri/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "agent-base",
          "manifest": "packages/http-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "debug",
          "manifest": "packages/http-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "proxy-agent-negotiate",
          "manifest": "packages/http-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "agent-base",
          "manifest": "packages/https-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "debug",
          "manifest": "packages/https-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "proxy-agent-negotiate",
          "manifest": "packages/https-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "agent-base",
          "manifest": "packages/pac-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "debug",
          "manifest": "packages/pac-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "get-uri",
          "manifest": "packages/pac-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "http-proxy-agent",
          "manifest": "packages/pac-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "https-proxy-agent",
          "manifest": "packages/pac-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "pac-resolver",
          "manifest": "packages/pac-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "quickjs-wasi",
          "manifest": "packages/pac-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "socks-proxy-agent",
          "manifest": "packages/pac-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "degenerator",
          "manifest": "packages/pac-resolver/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "netmask",
          "manifest": "packages/pac-resolver/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.2"
        },
        {
          "name": "agent-base",
          "manifest": "packages/proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "debug",
          "manifest": "packages/proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "http-proxy-agent",
          "manifest": "packages/proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "https-proxy-agent",
          "manifest": "packages/proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "lru-cache",
          "manifest": "packages/proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.14.1"
        },
        {
          "name": "pac-proxy-agent",
          "manifest": "packages/proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "proxy-from-env",
          "manifest": "packages/proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.0"
        },
        {
          "name": "socks-proxy-agent",
          "manifest": "packages/proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "args",
          "manifest": "packages/proxy/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.0.3"
        },
        {
          "name": "debug",
          "manifest": "packages/proxy/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "agent-base",
          "manifest": "packages/socks-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "debug",
          "manifest": "packages/socks-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "socks",
          "manifest": "packages/socks-proxy-agent/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.8.3"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "args",
            "direct": true,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "args",
            "direct": true,
            "version": "^5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "ast-types",
            "direct": true,
            "version": "0.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "ast-types",
            "direct": true,
            "version": "^0.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "basic-ftp",
            "direct": true,
            "version": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "basic-ftp",
            "direct": true,
            "version": "^5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": true,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "escodegen",
            "direct": true,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "escodegen",
            "direct": true,
            "version": "^2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": true,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": true,
            "version": "^4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": true,
            "version": "11.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": true,
            "version": "7.18.3",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": true,
            "version": "^7.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "netmask",
            "direct": true,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "netmask",
            "direct": true,
            "version": "^2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-from-env",
            "direct": true,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-from-env",
            "direct": true,
            "version": "^2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "quickjs-wasi",
            "direct": true,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "quickjs-wasi",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "socks",
            "direct": true,
            "version": "2.8.7",
            "ecosystem": "npm"
          },
          {
            "name": "socks",
            "direct": true,
            "version": "^2.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.12.11",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.28.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/highlight",
            "direct": false,
            "version": "7.25.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/apply-release-plan",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/assemble-release-plan",
            "direct": false,
            "version": "6.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/changelog-git",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/cli",
            "direct": false,
            "version": "2.30.0",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/config",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/errors",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/get-dependents-graph",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/get-release-plan",
            "direct": false,
            "version": "4.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/get-version-range-type",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/git",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/logger",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/parse",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/pre",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/read",
            "direct": false,
            "version": "0.6.7",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/should-skip-package",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/types",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/types",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@changesets/write",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/config-array",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/object-schema",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@inquirer/external-editor",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@manypkg/find-root",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@manypkg/get-packages",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.scandir",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.walk",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@turbo/darwin-64",
            "direct": false,
            "version": "2.9.14",
            "ecosystem": "npm"
          },
          {
            "name": "@turbo/darwin-arm64",
            "direct": false,
            "version": "2.9.14",
            "ecosystem": "npm"
          },
          {
            "name": "@turbo/linux-64",
            "direct": false,
            "version": "2.9.14",
            "ecosystem": "npm"
          },
          {
            "name": "@turbo/linux-arm64",
            "direct": false,
            "version": "2.9.14",
            "ecosystem": "npm"
          },
          {
            "name": "@turbo/windows-64",
            "direct": false,
            "version": "2.9.14",
            "ecosystem": "npm"
          },
          {
            "name": "@turbo/windows-arm64",
            "direct": false,
            "version": "2.9.14",
            "ecosystem": "npm"
          },
          {
            "name": "@types/agent-base",
            "direct": false,
            "version": "4.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/agent-base",
            "direct": false,
            "version": "^4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/args",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/args",
            "direct": false,
            "version": "^5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/async-retry",
            "direct": false,
            "version": "1.4.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/async-retry",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/debug",
            "direct": false,
            "version": "4.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "@types/debug",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/dns2",
            "direct": false,
            "version": "2.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "@types/dns2",
            "direct": false,
            "version": "^2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/escodegen",
            "direct": false,
            "version": "0.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/escodegen",
            "direct": false,
            "version": "^0.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/esprima",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/esprima",
            "direct": false,
            "version": "^4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ftpd",
            "direct": false,
            "version": "0.2.40",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ftpd",
            "direct": false,
            "version": "^0.2.35",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ms",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/netmask",
            "direct": false,
            "version": "1.0.30",
            "ecosystem": "npm"
          },
          {
            "name": "@types/netmask",
            "direct": false,
            "version": "^1.0.30",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "12.20.55",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "22.19.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@types/proxy-from-env",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/proxy-from-env",
            "direct": false,
            "version": "^1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/readable-stream",
            "direct": false,
            "version": "4.0.23",
            "ecosystem": "npm"
          },
          {
            "name": "@types/retry",
            "direct": false,
            "version": "0.12.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/semver",
            "direct": false,
            "version": "7.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/semver",
            "direct": false,
            "version": "^7.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ws",
            "direct": false,
            "version": "8.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ws",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "5.62.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "abort-controller",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-colors",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "array-union",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "astral-regex",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "async-listen",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "async-listen",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "async-retry",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "async-retry",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "better-path-resolve",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bl",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "bl",
            "direct": false,
            "version": "6.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cacheable-lookup",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cacheable-lookup",
            "direct": false,
            "version": "^6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chardet",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "dateformat",
            "direct": false,
            "version": "1.0.7-1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "decompress-response",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-extend",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "detect-indent",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "dir-glob",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "dns2",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "dns2",
            "direct": false,
            "version": "^2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "end-of-stream",
            "direct": false,
            "version": "1.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "enquirer",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "7.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-prettier",
            "direct": false,
            "version": "8.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-utils",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "7.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "event-target-shim",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "events",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "expand-template",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "extendable-error",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-glob",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "fd",
            "direct": false,
            "version": "0.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "fs-constants",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "ftpd",
            "direct": false,
            "version": "0.2.16",
            "ecosystem": "npm"
          },
          {
            "name": "ftpd",
            "direct": false,
            "version": "^0.2.14",
            "ecosystem": "npm"
          },
          {
            "name": "functional-red-black-tree",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "github-from-package",
            "direct": false,
            "version": "0.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "13.24.0",
            "ecosystem": "npm"
          },
          {
            "name": "globby",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "graphemer",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "human-id",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "ip-address",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-subdir",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-windows",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "3.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "kerberos",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "leven",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.startcase",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.truncate",
            "direct": false,
            "version": "4.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-response",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp-classic",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "mri",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "mri",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "napi-build-utils",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare-lite",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-abi",
            "direct": false,
            "version": "3.90.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-addon-api",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "outdent",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-filter",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-map",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-try",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "package-manager-detector",
            "direct": false,
            "version": "0.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "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": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "prebuild-install",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "2.8.8",
            "ecosystem": "npm"
          },
          {
            "name": "process",
            "direct": false,
            "version": "0.11.10",
            "ecosystem": "npm"
          },
          {
            "name": "progress",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pump",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "quansync",
            "direct": false,
            "version": "0.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "rc",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "read-yaml-file",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "regexpp",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "retry",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "simple-concat",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "simple-get",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "smart-buffer",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "socksv5",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "socksv5",
            "direct": false,
            "version": "https://codeload.github.com/TooTallNate/socksv5/tar.gz/d937368b28e929396166d77a06d387a4a902bd51",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "spawndamnit",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "st",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "st",
            "direct": false,
            "version": "^3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "stat-mode",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "table",
            "direct": false,
            "version": "6.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tar-fs",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "tar-stream",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "term-size",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "text-table",
            "direct": false,
            "version": "0.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": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsutils",
            "direct": false,
            "version": "3.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "tunnel-agent",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "turbo",
            "direct": false,
            "version": "2.9.14",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "v8-compile-cache",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "7.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "8.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 432,
        "direct_count": 23,
        "indirect_count": 409
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 9,
        "merged_prs": 145,
        "open_issues": 11,
        "closed_ratio": 0.943,
        "closed_issues": 182,
        "closed_unmerged_prs": 75
      },
      "bus_factor": 1,
      "bot_contributors": 3,
      "top_contributors": [
        {
          "type": "User",
          "login": "TooTallNate",
          "commits": 224,
          "avatar_url": "https://avatars.githubusercontent.com/u/71256?v=4"
        },
        {
          "type": "User",
          "login": "lukekarrys",
          "commits": 10,
          "avatar_url": "https://avatars.githubusercontent.com/u/542108?v=4"
        },
        {
          "type": "User",
          "login": "lpinca",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/1443911?v=4"
        },
        {
          "type": "User",
          "login": "addaleax",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/899444?v=4"
        },
        {
          "type": "User",
          "login": "jportner",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/5295965?v=4"
        },
        {
          "type": "User",
          "login": "sadasant",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/417016?v=4"
        },
        {
          "type": "User",
          "login": "mceIdo",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/58237675?v=4"
        },
        {
          "type": "User",
          "login": "Krinkle",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/156867?v=4"
        },
        {
          "type": "User",
          "login": "striezel",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/20865852?v=4"
        },
        {
          "type": "User",
          "login": "alexparish",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/135674?v=4"
        }
      ],
      "contributors_sampled": 42,
      "top_contributor_share": 0.775
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "release.yml",
        "test.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [
        ".eslintrc.js"
      ],
      "has_editorconfig": true,
      "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": 3,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 7,
            "reason": "18 out of 25 merged PRs checked by a CI test -- score normalized to 7",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/6 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 14 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 0,
            "reason": "license file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "23 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "17 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "4813885d3f4e2ff837878ceffdba656a71dc31f0",
        "ran_at": "2026-07-22T16:35:44Z",
        "aggregate_score": 4.2,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-12T21:27:48Z",
      "oldest_open_prs": [
        {
          "number": 259,
          "created_at": "2023-11-18T00:44:22Z",
          "last_comment_at": "2023-11-18T00:44:26Z",
          "last_comment_author": "vercel"
        },
        {
          "number": 306,
          "created_at": "2024-03-31T20:00:36Z",
          "last_comment_at": "2024-03-31T21:07:30Z",
          "last_comment_author": "erickythierry"
        },
        {
          "number": 328,
          "created_at": "2024-08-07T19:38:40Z",
          "last_comment_at": "2024-08-07T19:38:45Z",
          "last_comment_author": "vercel"
        },
        {
          "number": 347,
          "created_at": "2024-11-23T11:14:30Z",
          "last_comment_at": "2024-11-23T11:15:56Z",
          "last_comment_author": "crutch12"
        },
        {
          "number": 367,
          "created_at": "2025-03-02T13:18:20Z",
          "last_comment_at": "2026-07-10T10:16:11Z",
          "last_comment_author": "jarroyorodriguez-dashlane"
        },
        {
          "number": 371,
          "created_at": "2025-04-22T17:32:43Z",
          "last_comment_at": "2026-02-18T09:11:36Z",
          "last_comment_author": "vercel"
        },
        {
          "number": 383,
          "created_at": "2025-07-28T13:45:05Z",
          "last_comment_at": "2025-07-28T13:45:10Z",
          "last_comment_author": "vercel"
        },
        {
          "number": 438,
          "created_at": "2026-07-06T16:04:02Z",
          "last_comment_at": "2026-07-06T16:04:10Z",
          "last_comment_author": "changeset-bot"
        },
        {
          "number": 439,
          "created_at": "2026-07-22T15:41:51Z",
          "last_comment_at": "2026-07-22T15:41:56Z",
          "last_comment_author": "changeset-bot"
        }
      ],
      "last_merged_pr_at": "2026-07-12T21:26:09Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 243,
          "created_at": "2023-08-29T20:57:42Z",
          "last_comment_at": "2024-05-01T16:37:20Z",
          "last_comment_author": "lukekarrys"
        },
        {
          "number": 256,
          "created_at": "2023-10-06T18:44:00Z",
          "last_comment_at": "2024-12-12T20:24:35Z",
          "last_comment_author": "timursevimli"
        },
        {
          "number": 314,
          "created_at": "2024-05-19T11:42:57Z",
          "last_comment_at": "2024-11-23T11:15:26Z",
          "last_comment_author": "crutch12"
        },
        {
          "number": 333,
          "created_at": "2024-08-27T21:38:33Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 340,
          "created_at": "2024-10-02T15:42:28Z",
          "last_comment_at": "2025-10-22T08:46:30Z",
          "last_comment_author": "Agritite"
        },
        {
          "number": 365,
          "created_at": "2025-02-21T01:05:48Z",
          "last_comment_at": "2025-02-23T15:25:03Z",
          "last_comment_author": "warjiang"
        },
        {
          "number": 374,
          "created_at": "2025-05-15T15:11:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 379,
          "created_at": "2025-06-30T18:20:19Z",
          "last_comment_at": "2025-08-21T13:04:47Z",
          "last_comment_author": "kapouer"
        },
        {
          "number": 382,
          "created_at": "2025-07-09T11:37:02Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 427,
          "created_at": "2026-05-22T15:10:18Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 437,
          "created_at": "2026-06-24T06:30:08Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/TooTallNate/proxy-agents",
    "host": "github.com",
    "name": "proxy-agents",
    "owner": "TooTallNate"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 69,
      "inputs": {
        "security": 54,
        "vitality": 75,
        "community": 65,
        "governance": 67,
        "engineering": 80
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 75,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 58,
            "inputs": {
              "commits_last_year": 47,
              "human_commit_share": 0.59,
              "days_since_last_push": 9,
              "active_weeks_last_year": 6
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 9 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 9
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "6/52 weeks with commits",
                "points": 4.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "47 commits in the last year",
                "points": 15.1,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 47
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "23 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": 100,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "get-uri@8.0.1",
              "releases_from_tags": false,
              "days_since_latest_release": 43,
              "mean_days_between_releases": 7
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 43 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 43
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~7 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 7
                    }
                  }
                ],
                "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": 79,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 79 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 79
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 65,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "good",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "forks": 279,
              "stars": 1149,
              "watchers": 18,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "1,149 stars",
                "points": 49.6,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 1149
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "279 forks",
                "points": 20.4,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 279
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "18 watchers",
                "points": 6.8,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 18
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "critical",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 25,
            "inputs": {
              "has_readme": true,
              "has_license": false,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "no license file detected",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "license_absent",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "packages": [
                "proxy",
                "get-uri",
                "proxy-agent-negotiate",
                "agent-base",
                "degenerator",
                "proxy-agent",
                "pac-resolver",
                "pac-proxy-agent"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 1585257994
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "1,585,257,994 downloads/month across npm",
                "points": 80,
                "status": "met",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 1585257994,
                      "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": 38,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 42,
              "top_contributor_share": 0.775
            },
            "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 78% of commits",
                "points": 5.1,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 78
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "42 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 42
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 14 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 69,
            "inputs": {
              "merged_prs": 145,
              "open_issues": 11,
              "closed_issues": 182,
              "issue_closed_ratio": 0.943,
              "closed_unmerged_prs": 75
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "94% of issues closed",
                "points": 44.1,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 94
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "145/220 decided PRs merged",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 145,
                      "decided": 220
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/6 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 75,
            "inputs": {
              "followers": 6565,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "TooTallNate",
              "public_repos": 409,
              "account_age_days": 6315
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "6,565 followers of TooTallNate",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 6565,
                      "login": "TooTallNate"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "409 public repos, account ~17 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 409
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 17
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "proxy",
                "get-uri",
                "proxy-agent-negotiate",
                "agent-base",
                "degenerator",
                "proxy-agent",
                "pac-resolver",
                "pac-proxy-agent"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 43
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "8 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 8,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 43 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 43
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "33 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 33
                    }
                  }
                ],
                "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": 80,
        "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": true,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc.js",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "18 out of 25 merged PRs checked by a CI test -- score normalized to 7",
                "points": 14,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "good",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "topics": [
                "http",
                "https",
                "nodejs",
                "pac",
                "proxy",
                "socks",
                "agent"
              ],
              "has_wiki": true,
              "homepage": "https://proxy-agents.n8.io",
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://proxy-agents.n8.io",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "7 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "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": 54,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 42,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 4.2
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "18 out of 25 merged PRs checked by a CI test -- score normalized to 7",
                "points": 1.8,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/6 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 14 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "23 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "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": "17 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "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:proxy@4.1.0 runtime dependency closure — what installing the published package pulls in — 13 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:proxy@4.1.0",
                  "assessed": 13
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 13,
              "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": 13,
              "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": 21
            },
            "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": 62,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.763,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "45 of 59 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 45,
                      "sampled": 59
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "pnpm-lock.yaml"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "packages/agent-base/test/tsconfig.json",
                "packages/agent-base/tsconfig.json",
                "packages/data-uri-to-buffer/test/tsconfig.json",
                "packages/data-uri-to-buffer/tsconfig.json",
                "packages/degenerator/test/tsconfig.json",
                "packages/degenerator/tsconfig.json",
                "packages/get-uri/test/tsconfig.json",
                "packages/get-uri/tsconfig.json",
                "packages/http-proxy-agent/test/tsconfig.json",
                "packages/http-proxy-agent/tsconfig.json",
                "packages/https-proxy-agent/test/tsconfig.json",
                "packages/https-proxy-agent/tsconfig.json",
                "packages/negotiate/tsconfig.json",
                "packages/pac-proxy-agent/test/tsconfig.json",
                "packages/pac-proxy-agent/tsconfig.json",
                "packages/pac-resolver/test/tsconfig.json",
                "packages/pac-resolver/tsconfig.json",
                "packages/proxy-agent/test/tsconfig.json",
                "packages/proxy-agent/tsconfig.json",
                "packages/proxy/test/tsconfig.json",
                "packages/proxy/tsconfig.json",
                "packages/socks-proxy-agent/test/tsconfig.json",
                "packages/socks-proxy-agent/tsconfig.json"
              ],
              "agent_commit_share": 0.01,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.06
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".eslintrc.js",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "packages/agent-base/test/tsconfig.json, packages/agent-base/tsconfig.json, packages/data-uri-to-buffer/test/tsconfig.json, packages/data-uri-to-buffer/tsconfig.json, packages/degenerator/test/tsconfig.json, packages/degenerator/tsconfig.json, packages/get-uri/test/tsconfig.json, packages/get-uri/tsconfig.json, packages/http-proxy-agent/test/tsconfig.json, packages/http-proxy-agent/tsconfig.json, packages/https-proxy-agent/test/tsconfig.json, packages/https-proxy-agent/tsconfig.json, packages/negotiate/tsconfig.json, packages/pac-proxy-agent/test/tsconfig.json, packages/pac-proxy-agent/tsconfig.json, packages/pac-resolver/test/tsconfig.json, packages/pac-resolver/tsconfig.json, packages/proxy-agent/test/tsconfig.json, packages/proxy-agent/tsconfig.json, packages/proxy/test/tsconfig.json, packages/proxy/tsconfig.json, packages/socks-proxy-agent/test/tsconfig.json, packages/socks-proxy-agent/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "packages/agent-base/test/tsconfig.json, packages/agent-base/tsconfig.json, packages/data-uri-to-buffer/test/tsconfig.json, packages/data-uri-to-buffer/tsconfig.json, packages/degenerator/test/tsconfig.json, packages/degenerator/tsconfig.json, packages/get-uri/test/tsconfig.json, packages/get-uri/tsconfig.json, packages/http-proxy-agent/test/tsconfig.json, packages/http-proxy-agent/tsconfig.json, packages/https-proxy-agent/test/tsconfig.json, packages/https-proxy-agent/tsconfig.json, packages/negotiate/tsconfig.json, packages/pac-proxy-agent/test/tsconfig.json, packages/pac-proxy-agent/tsconfig.json, packages/pac-resolver/test/tsconfig.json, packages/pac-resolver/tsconfig.json, packages/proxy-agent/test/tsconfig.json, packages/proxy-agent/tsconfig.json, packages/proxy/test/tsconfig.json, packages/proxy/tsconfig.json, packages/socks-proxy-agent/test/tsconfig.json, packages/socks-proxy-agent/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "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": "6 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 6,
                      "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 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 17005,
              "source_files_sampled": 95,
              "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/95 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 95,
                      "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-22T16:36:10.183177Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/t/TooTallNate/proxy-agents.svg",
  "full_name": "TooTallNate/proxy-agents",
  "license_state": "absent",
  "license_spdx": null
}

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

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

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