Public record
Software health reportschema 0.26.0 · metrics 1.13.0 · 2026-07-22 18:44 UTC

pubky / pubky-core

An open protocol for per-public-key backends for censorship resistant web applications.

RustMIT★ 83 stars⑂ 30 forkssince Dec 2023View on GitHub ↗

pubky/pubky-core holds a health index of 69 out of 100, placing it in the Moderate band. It scores highest on Vitality (92/100) and lowest on Community & Adoption (50/100). It was last updated today. A single contributor accounts for most of its recent work.

69
overall / 100
Moderate

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

69
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

PubkyOrganization
149 followers52 public repossince Jan 2024

This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.

Package ecosystems

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

92Excellent · 22% of overall
How it's scored
36/36Push recency — last push 0 days ago
29.1/36Commit cadence — 42/52 weeks with commits
18/18Commit volume — 230 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year230
human_commit_share0.97
days_since_last_push0
active_weeks_last_year42
How it's scored
27/27Ships releases — 14 releases published
36/36Release recency — latest release 23 days ago
27/27Release cadence — a release every ~37.3 days
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Inputs used
releases_count14
latest_release_tagv0.10.0-alpha.0
releases_from_tagsno
days_since_latest_release23
mean_days_between_releases37.3

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

50Moderate · 18% of overall
How it's scored
31/60Stars — 83 stars
12.2/25Forks — 30 forks
3.3/15Watchers — 5 watchers
Inputs used
forks30
stars83
watchers5
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (MIT)
0/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno
How it's scored
45.6/80Monthly downloads — 2,626 downloads/month across crates
0/20Registry dependents — not reported by this ecosystem
Inputs used
packagespubky, pubky-common, pubky-testnet, pubky-homeserver
dependents
ecosystemscrates
total_downloads61,778
monthly_downloads2,626
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

67Moderate · 24% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
9.6/22.5Commit distribution — top contributor authored 57% of commits
13.5/13.5Contributor breadth — 16 contributors
10/10OpenSSF Scorecard: Contributors — project has 5 contributing companies or organizations
Inputs used
bus_factor1
contributors_sampled16
top_contributor_share0.575
How it's scored
27.2/46.8Issue resolution — 58% of issues closed
32.1/38.3PR acceptance — 299/356 decided PRs merged
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Inputs used
merged_prs299
open_issues57
closed_issues79
issue_closed_ratio0.581
closed_unmerged_prs57
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
15.6/25Owner reach — 149 followers of pubky
17.7/25Track record — 52 public repos, account ~2 yr old
Inputs used
followers149
owner_typeOrganization
is_verified
owner_loginpubky
public_repos52
account_age_days931
How it's scored
25/25Published & resolvable — 4 package(s) on crates
35/35Publish recency — latest publish 23 days ago
20/20Version history — 31 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagespubky, pubky-common, pubky-testnet, pubky-homeserver
ecosystemscrates
any_deprecatedno
min_days_since_publish23

Engineering Quality

Are baseline engineering and documentation practices in place?

76Good · 20% of overall
How it's scored
24/24CI workflows — 6 workflow(s)
24/24Tests present
0/16Linter config
0/9.6Pre-commit hooks
0/6.4.editorconfig
18/20OpenSSF Scorecard: CI-Tests — 29 out of 30 merged PRs checked by a CI test -- score normalized to 9
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configno
has_precommit_configno

Documentation

90Excellent
How it's scored
30/30README
25/25Documentation directory
15/15Documentation / homepage site — https://docs.pubky.org
10/10Repository description
10/10Topics — 5 topics
0/10Wiki
Inputs used
topicsclient-server, cloud, publickey-authentication, web, pkarr
has_wikino
homepagehttps://docs.pubky.org
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

54Moderate · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
0.8/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.2/2.5CI-Tests — 29 out of 30 merged PRs checked by a CI test -- score normalized to 9
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 5 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 32 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated18
scorecard_versionv5.5.0
checks_inconclusive0
scorecard_aggregate5
How it's scored
17.8/35Direct dependencies free of known advisories — 2 affected: jsonwebtoken 9.3.1 (moderate 5.3), opentelemetry_sdk 0.29.0 (moderate 5.3)
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
35.3/40No advisories left outstanding — 1 advisory-carrying package(s) unaddressed past 90 days; oldest published 168 days ago
Inputs used
sourceosv
advisories33
affected_packages20
assessed_packages1,134
unassessed_packages70
affected_by_severitycritical 3, high 6, moderate 7, low 1, unknown 3
direct_affected_packages2
Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 1134 resolved dependencies against OSV. 70 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.

AI Readiness

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.

60Moderate · 0% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 97 of 97 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
How it's scored
12.6/18One-command bootstrap — Cargo.toml, e2e/Cargo.toml, examples/rust/Cargo.toml (toolchain convention, no task runner)
22/22Automated tests
0/11Lint / format config
11/11Static type checking — pubky-sdk/bindings/js/pkg/tsconfig.json
10/10Reproducible environment — Dockerfile, lockfile
4/10Demonstrated agent practice — 2 of the last 100 commits agent-authored or agent-credited
8/8Automated maintenance — 3 of the last 100 commits are automated dependency updates
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Inputs used
has_nixno
has_testsyes
lockfilesCargo.lock, package-lock.json
has_dockerfileyes
typed_languageyes
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configspubky-sdk/bindings/js/pkg/tsconfig.json
agent_commit_share0.02
toolchain_manifestsCargo.toml, e2e/Cargo.toml, examples/rust/Cargo.toml, pubky-common/Cargo.toml, pubky-homeserver/Cargo.toml, pubky-sdk/Cargo.toml, pubky-sdk/bindings/js/Cargo.toml, pubky-testnet/Cargo.toml, test_utils/drop_db_helper/Cargo.toml, test_utils/pubky_test/Cargo.toml, test_utils/test_macro/Cargo.toml
dependency_bot_commit_share0.03
How it's scored
45/45Type-checkable code — Rust (statically typed)
55/55Manageable file sizes — 0/369 source files over 60KB
Inputs used
primary_languageRust
largest_source_bytes52,535
source_files_sampled369
oversized_source_files0
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
0/20MCP server
40/40Runnable examples — examples
Inputs used
example_dirsexamples
has_mcp_signalno
api_schema_files

Key facts

83GitHub stars
16contributors
230commits, last 12 months
0days since last push
14releases
1bus factor
57open issues
crates.iopackage ecosystems

Data collection warnings

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • crates package 'e2e' points at a different repository (https://github.com/popzxc/e2e); excluded from ecosystem scoring

More detail

Star and fork history 0 ★ / 30 ⇿
0Stars
30Forks
14Releases

When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.

0510152025302922024-102025-092026-07
Major 0Minor 5Patch 6

Each point covers 2 days.

OpenSSF Scorecard 5.0 / 10
5.0aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-22 18:44 UTC

10Binary-Artifactsno binaries found in the repo
1Branch-Protectionbranch protection is not maximal on development and all release branches
9CI-Tests29 out of 30 merged PRs checked by a CI test -- score normalized to 9
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 5 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities32 existing vulnerabilities detected
Direct dependencies 101
RegistryPackageVersion constraintManifest
crates.ioblake31pubky-common/Cargo.toml
crates.ioed25519-dalek3pubky-common/Cargo.toml
crates.iorandpubky-common/Cargo.toml
crates.iothiserrorpubky-common/Cargo.toml
crates.iopostcard1pubky-common/Cargo.toml
crates.iocrypto_secretbox0.1pubky-common/Cargo.toml
crates.ioargon20.5pubky-common/Cargo.toml
crates.iopubky-timestamp0.4pubky-common/Cargo.toml
crates.ioserdepubky-common/Cargo.toml
crates.iopkarrpubky-common/Cargo.toml
crates.iourlpubky-common/Cargo.toml
crates.ioserde_jsonpubky-common/Cargo.toml
crates.iobase64pubky-common/Cargo.toml
crates.ioanyhowpubky-homeserver/Cargo.toml
crates.ioaxumpubky-homeserver/Cargo.toml
crates.ioaxum-extra0.10pubky-homeserver/Cargo.toml
crates.iobackon1pubky-homeserver/Cargo.toml
crates.iobase32pubky-homeserver/Cargo.toml
crates.iobase64pubky-homeserver/Cargo.toml
crates.iobytespubky-homeserver/Cargo.toml
crates.ioclappubky-homeserver/Cargo.toml
crates.iofutures-lite2pubky-homeserver/Cargo.toml
crates.iofutures-utilpubky-homeserver/Cargo.toml
crates.iohttpdatepubky-homeserver/Cargo.toml
crates.iopkarrpubky-homeserver/Cargo.toml
crates.iopubky-commonpubky-homeserver/Cargo.toml
crates.ioserdepubky-homeserver/Cargo.toml
crates.ioserde_jsonpubky-homeserver/Cargo.toml
crates.iotokiopubky-homeserver/Cargo.toml
crates.iotoml0.8pubky-homeserver/Cargo.toml
crates.iotower-cookies0.11pubky-homeserver/Cargo.toml
crates.iotower-httppubky-homeserver/Cargo.toml
crates.iotracingpubky-homeserver/Cargo.toml
crates.iotracing-subscriberpubky-homeserver/Cargo.toml
crates.iourlpubky-homeserver/Cargo.toml
crates.ioaxum-serverpubky-homeserver/Cargo.toml
crates.iotower0.5pubky-homeserver/Cargo.toml
crates.iothiserrorpubky-homeserver/Cargo.toml
crates.iodirs6pubky-homeserver/Cargo.toml
crates.iohostname-validator1pubky-homeserver/Cargo.toml
crates.iotempfilepubky-homeserver/Cargo.toml
crates.iodyn-clone1pubky-homeserver/Cargo.toml
crates.ioreqwestpubky-homeserver/Cargo.toml
crates.iogovernor0.10pubky-homeserver/Cargo.toml
crates.iofast-glob0.4pubky-homeserver/Cargo.toml
crates.iotokio-util0.7pubky-homeserver/Cargo.toml
crates.iopercent-encoding2pubky-homeserver/Cargo.toml
crates.ioserde_valid2pubky-homeserver/Cargo.toml
crates.ioopendal0.54pubky-homeserver/Cargo.toml
crates.ioinfer0.19pubky-homeserver/Cargo.toml
crates.iomime_guess2pubky-homeserver/Cargo.toml
crates.iodav-server-opendalfs0.6pubky-homeserver/Cargo.toml
crates.iodav-server0.8pubky-homeserver/Cargo.toml
crates.iosea-query0.32pubky-homeserver/Cargo.toml
crates.iosea-query-binder0.7pubky-homeserver/Cargo.toml
crates.iosqlx0.8pubky-homeserver/Cargo.toml
crates.iodashmap6pubky-homeserver/Cargo.toml
crates.ioasync-traitpubky-homeserver/Cargo.toml
crates.ioasync-stream0.3pubky-homeserver/Cargo.toml
crates.iouuid1pubky-homeserver/Cargo.toml
crates.iopubky_test_utilspubky-homeserver/Cargo.toml
crates.ioopentelemetry0.29pubky-homeserver/Cargo.toml
crates.ioopentelemetry_sdk0.29pubky-homeserver/Cargo.toml
crates.ioopentelemetry-prometheus0.29pubky-homeserver/Cargo.toml
crates.ioprometheus0.14pubky-homeserver/Cargo.toml
crates.iojsonwebtoken9pubky-homeserver/Cargo.toml
crates.iochrono0.4pubky-homeserver/Cargo.toml
crates.iosha20.10pubky-homeserver/Cargo.toml
crates.iorandpubky-homeserver/Cargo.toml
crates.iopubky-commonpubky-sdk/Cargo.toml
crates.iothiserrorpubky-sdk/Cargo.toml
crates.ioasync-traitpubky-sdk/Cargo.toml
crates.ioeventsource-streampubky-sdk/Cargo.toml
crates.iourlpubky-sdk/Cargo.toml
crates.iobase64pubky-sdk/Cargo.toml
crates.iopkarrpubky-sdk/Cargo.toml
crates.iocookie0.18pubky-sdk/Cargo.toml
crates.ioflume0.11pubky-sdk/Cargo.toml
crates.iofutures-utilpubky-sdk/Cargo.toml
crates.ioserdepubky-sdk/Cargo.toml
crates.ioserde_jsonpubky-sdk/Cargo.toml
crates.iohttpdatepubky-sdk/Cargo.toml
crates.ioweb-time1pubky-sdk/Cargo.toml
crates.iotokiopubky-sdk/Cargo.toml
crates.ioanyhowpubky-testnet/Cargo.toml
crates.ioclappubky-testnet/Cargo.toml
crates.iohttp-relaypubky-testnet/Cargo.toml
crates.iolibc0.2pubky-testnet/Cargo.toml
crates.iopkarrpubky-testnet/Cargo.toml
crates.iopkarr-relaypubky-testnet/Cargo.toml
crates.iopubkypubky-testnet/Cargo.toml
crates.iopubky-commonpubky-testnet/Cargo.toml
crates.iopubky-homeserverpubky-testnet/Cargo.toml
crates.iopubky_test_utilspubky-testnet/Cargo.toml
crates.iotempfilepubky-testnet/Cargo.toml
crates.iotestcontainers0.27pubky-testnet/Cargo.toml
crates.iotestcontainers-modules0.15pubky-testnet/Cargo.toml
crates.iotokiopubky-testnet/Cargo.toml
crates.iotracing-subscriberpubky-testnet/Cargo.toml
crates.iotracingpubky-testnet/Cargo.toml
crates.iourlpubky-testnet/Cargo.toml
All dependencies 1,204

Full resolved dependency set from the GitHub dependency graph: 123 direct and 1,081 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
crates.ioanyhow1.0.103direct
crates.ioargon2direct
crates.ioargon20.5.3direct
crates.ioasync-streamdirect
crates.ioasync-stream0.3.6direct
crates.ioasync-trait0.1.89direct
crates.ioaxum0.8.9direct
crates.ioaxum-extradirect
crates.ioaxum-extra0.10.3direct
crates.ioaxum-server0.8.0direct
crates.iobackondirect
crates.iobackon1.6.0direct
crates.iobase320.5.1direct
crates.iobase640.21.7direct
crates.iobase640.22.1direct
crates.ioblake3direct
crates.ioblake31.8.4direct
crates.iobytes1.12.1direct
crates.iochronodirect
crates.iochrono0.4.44direct
crates.ioclap4.6.1direct
crates.iocookiedirect
crates.iocookie0.18.1direct
crates.iocrypto_secretboxdirect
crates.iocrypto_secretbox0.1.1direct
crates.iodashmapdirect
crates.iodashmap6.1.0direct
crates.iodav-serverdirect
crates.iodav-server0.8.0direct
crates.iodav-server-opendalfsdirect
crates.iodav-server-opendalfs0.6.2direct
crates.iodirsdirect
crates.iodirs6.0.0direct
crates.iodyn-clonedirect
crates.iodyn-clone1.0.20direct
crates.ioed25519-dalekdirect
crates.ioed25519-dalek3.0.0direct
crates.ioeventsource-stream0.2.3direct
crates.iofast-globdirect
crates.iofast-glob0.4.5direct
crates.ioflumedirect
crates.ioflume0.11.1direct
crates.ioflume0.12.0direct
crates.iofutures-litedirect
crates.iofutures-lite2.6.1direct
crates.iofutures-util0.3.32direct
crates.iogovernordirect
crates.iogovernor0.10.4direct
crates.iohostname-validatordirect
crates.iohostname-validator1.1.1direct
crates.iohttp-relay0.7.0direct
crates.iohttpdate1.0.3direct
crates.ioinferdirect
crates.ioinfer0.19.0direct
crates.iojsonwebtokendirect
crates.iojsonwebtoken9.3.1direct
crates.iolibcdirect
crates.iolibc0.2.186direct
crates.iomime_guessdirect
crates.iomime_guess2.0.5direct
crates.ioopendaldirect
crates.ioopendal0.54.1direct
crates.ioopentelemetrydirect
crates.ioopentelemetry0.29.1direct
crates.ioopentelemetry-prometheusdirect
crates.ioopentelemetry-prometheus0.29.1direct
crates.ioopentelemetry_sdkdirect
crates.ioopentelemetry_sdk0.29.0direct
crates.iopercent-encodingdirect
crates.iopercent-encoding2.3.2direct
crates.iopkarr7.0.0direct
crates.iopkarr-relay1.0.0direct
crates.iopostcarddirect
crates.iopostcard1.1.3direct
crates.ioprometheusdirect
crates.ioprometheus0.14.0direct
crates.iopubky-timestampdirect
crates.iopubky-timestamp0.4.1direct
crates.iorand0.10.2direct
crates.iorand0.8.6direct
crates.iorand0.9.4direct
crates.ioreqwest0.12.28direct
crates.ioreqwest0.13.4direct
crates.iosea-querydirect
crates.iosea-query0.32.7direct
crates.iosea-query-binderdirect
crates.iosea-query-binder0.7.0direct
crates.ioserde1.0.228direct
crates.ioserde_json1.0.150direct
crates.ioserde_validdirect
crates.ioserde_valid2.0.3direct
crates.iosha2direct
crates.iosha20.10.9direct
crates.iosha20.11.0direct
crates.iosqlxdirect
crates.iosqlx0.8.6direct
crates.iotempfile3.27.0direct
crates.iotestcontainersdirect
crates.iotestcontainers0.27.3direct
crates.iotestcontainers-modulesdirect
crates.iotestcontainers-modules0.15.0direct
crates.iothiserror1.0.69direct
crates.iothiserror2.0.18direct
crates.iotokiodirect
crates.iotokio1.52.3direct
crates.iotokio-utildirect
crates.iotokio-util0.7.18direct
crates.iotomldirect
crates.iotoml0.8.23direct
crates.iotoml0.9.12+spec-1.1.0direct
crates.iotowerdirect
crates.iotower0.5.3direct
crates.iotower-cookiesdirect
crates.iotower-cookies0.11.0direct
crates.iotower-http0.6.11direct
crates.iotower-http0.7.0direct
crates.iotracing0.1.44direct
crates.iotracing-subscriber0.3.23direct
crates.iourl2.5.8direct
crates.iouuiddirect
crates.iouuid1.23.1direct
crates.ioweb-timedirect
crates.ioweb-time1.1.0direct
crates.ioaead0.5.2indirect
crates.ioaes0.8.4indirect
crates.ioahash0.8.12indirect
crates.ioaho-corasick1.1.4indirect
crates.ioallocator-api20.2.21indirect
crates.ioandroid_system_properties0.1.5indirect
crates.ioanstream1.0.0indirect
crates.ioanstyle1.0.14indirect
crates.ioanstyle-parse1.0.0indirect
crates.ioanstyle-query1.1.5indirect
crates.ioanstyle-wincon3.0.11indirect
crates.ioarc-swap1.9.1indirect
crates.ioarrayref0.3.9indirect
crates.ioarrayvec0.7.6indirect
crates.ioascii-canvas3.0.0indirect
crates.ioassert-json-diff2.0.2indirect
crates.ioastral-tokio-tar0.6.2indirect
crates.ioasync-attributes1.1.2indirect
crates.ioasync-channel1.9.0indirect
crates.ioasync-channel2.5.0indirect
crates.ioasync-compat0.2.5indirect
crates.ioasync-dropperindirect
crates.ioasync-dropper0.3.1indirect
crates.ioasync-dropper-derive0.3.1indirect
crates.ioasync-dropper-simple0.2.6indirect
crates.ioasync-executor1.14.0indirect
crates.ioasync-global-executor2.4.1indirect
crates.ioasync-io2.6.0indirect
crates.ioasync-lock3.4.2indirect
crates.ioasync-object-pool0.1.5indirect
crates.ioasync-process2.5.0indirect
crates.ioasync-scoped0.9.0indirect
crates.ioasync-signal0.2.14indirect
crates.ioasync-std1.13.2indirect
crates.ioasync-stream-impl0.3.6indirect
crates.ioasync-task4.7.1indirect
crates.ioatoi2.0.0indirect
crates.ioatomic-polyfill1.0.3indirect
crates.ioatomic-waker1.1.2indirect
crates.ioauto-future1.0.0indirect
crates.ioautocfg1.5.0indirect
crates.ioaws-lc-rs1.16.3indirect
crates.ioaws-lc-sys0.40.0indirect
crates.ioaxum-core0.5.6indirect
crates.ioaxum-macros0.5.1indirect
crates.ioaxum-testindirect
crates.ioaxum-test17.3.0indirect
crates.iobase16ct1.0.0indirect
crates.iobase64ct1.8.3indirect
crates.iobasic-cookies0.1.5indirect
crates.iobit-set0.5.3indirect
crates.iobit-vec0.6.3indirect
crates.iobitflags2.11.1indirect
crates.ioblake20.10.6indirect
crates.ioblock-buffer0.10.4indirect
crates.ioblock-buffer0.12.0indirect
crates.ioblock-padding0.3.3indirect
crates.ioblocking1.6.2indirect
crates.iobollard0.20.2indirect
crates.iobollard-buildkit-proto0.7.0indirect
crates.iobollard-stubs1.52.1-rc.29.1.3indirect
crates.iobs580.5.1indirect
crates.iobumpalo3.20.2indirect
crates.iobyteorder1.5.0indirect
crates.iobytesize2.3.1indirect
crates.iocast0.3.0indirect
crates.iocbc0.1.2indirect
crates.iocc1.2.61indirect
crates.iocesu81.1.0indirect
crates.iocfb0.7.3indirect
crates.iocfg-if1.0.4indirect
crates.iocfg_aliases0.2.1indirect
crates.iochacha200.10.0indirect
crates.iocipher0.4.4indirect
crates.ioclap_builder4.6.0indirect
crates.ioclap_derive4.6.1indirect
crates.ioclap_lex1.1.0indirect
crates.iocmake0.1.58indirect
crates.iocobs0.3.0indirect
crates.iocolorchoice1.0.5indirect
crates.iocombine4.6.7indirect
crates.ioconcurrent-queue2.5.0indirect
crates.ioconquer-once0.4.0indirect
crates.ioconquer-util0.3.0indirect
crates.ioconsole_logindirect
crates.ioconsole_log1.0.0indirect
crates.ioconst-oid0.10.2indirect
crates.ioconst-oid0.9.6indirect
crates.ioconstant_time_eq0.4.2indirect
crates.iocookie_store0.22.1indirect
crates.iocordyceps0.3.4indirect
crates.iocore-foundation0.10.1indirect
crates.iocore-foundation-sys0.8.7indirect
crates.iocpufeatures0.2.17indirect
crates.iocpufeatures0.3.0indirect
crates.iocrc3.4.0indirect
crates.iocrc-catalog2.4.0indirect
crates.iocritical-section1.2.0indirect
crates.iocrossbeam-queue0.3.12indirect
crates.iocrossbeam-utils0.8.21indirect
crates.iocrunchy0.2.4indirect
crates.iocrypto-common0.1.7indirect
crates.iocrypto-common0.2.1indirect
crates.iocurve25519-dalek5.0.0indirect
crates.iocurve25519-dalek-derive0.1.1indirect
crates.iodarling0.20.11indirect
crates.iodarling0.23.0indirect
crates.iodarling_core0.20.11indirect
crates.iodarling_core0.23.0indirect
crates.iodarling_macro0.20.11indirect
crates.iodarling_macro0.23.0indirect
crates.ioder0.7.10indirect
crates.ioder0.8.0indirect
crates.ioderanged0.5.8indirect
crates.ioderivative2.2.0indirect
crates.iodiatomic-waker0.2.3indirect
crates.iodiff0.1.13indirect
crates.iodigest0.10.7indirect
crates.iodigest0.11.3indirect
crates.iodirs-next2.0.0indirect
crates.iodirs-sys0.5.0indirect
crates.iodirs-sys-next0.1.2indirect
crates.iodisplaydoc0.2.5indirect
crates.iodocker_credential1.3.3indirect
crates.iodocument-features0.2.12indirect
crates.iodotenvy0.15.7indirect
crates.iodoxygen-rs0.4.2indirect
crates.iodunce1.0.5indirect
crates.ioed255193.0.0indirect
crates.ioeither1.15.0indirect
crates.ioembedded-io0.4.0indirect
crates.ioembedded-io0.6.1indirect
crates.ioena0.14.4indirect
crates.ioequivalent1.0.2indirect
crates.ioerrno0.3.14indirect
crates.ioetcetera0.11.0indirect
crates.ioetcetera0.8.0indirect
crates.ioevent-listener2.5.3indirect
crates.ioevent-listener5.4.1indirect
crates.ioevent-listener-strategy0.5.4indirect
crates.iofallible-iterator0.3.0indirect
crates.iofallible-streaming-iterator0.1.9indirect
crates.iofastrand2.4.1indirect
crates.ioferroid2.0.0indirect
crates.iofiat-crypto0.3.0indirect
crates.iofiletime0.2.27indirect
crates.iofind-msvc-tools0.1.9indirect
crates.iofixedbitset0.4.2indirect
crates.iofnv1.0.7indirect
crates.iofoldhash0.1.5indirect
crates.iofoldhash0.2.0indirect
crates.ioform_urlencoded1.2.2indirect
crates.ioforwarded-header-value0.1.1indirect
crates.iofs-err3.3.0indirect
crates.iofs_extra1.3.0indirect
crates.iofuturesindirect
crates.iofutures0.3.32indirect
crates.iofutures-buffered0.2.13indirect
crates.iofutures-channel0.3.32indirect
crates.iofutures-core0.3.32indirect
crates.iofutures-executor0.3.32indirect
crates.iofutures-intrusive0.5.0indirect
crates.iofutures-io0.3.32indirect
crates.iofutures-macro0.3.32indirect
crates.iofutures-sink0.3.32indirect
crates.iofutures-task0.3.32indirect
crates.iofutures-timer3.0.3indirect
crates.iogenawaiter0.99.1indirect
crates.iogenawaiter-macro0.99.1indirect
crates.iogenerator0.8.8indirect
crates.iogeneric-array0.14.7indirect
crates.iogetrandom0.2.17indirect
crates.iogetrandom0.3.4indirect
crates.iogetrandom0.4.2indirect
crates.ioglob0.3.3indirect
crates.iogloo-timers0.3.0indirect
crates.iogloo-utils0.2.0indirect
crates.ioh20.4.13indirect
crates.iohash320.2.1indirect
crates.iohashbrown0.12.3indirect
crates.iohashbrown0.14.5indirect
crates.iohashbrown0.15.5indirect
crates.iohashbrown0.16.1indirect
crates.iohashbrown0.17.0indirect
crates.iohashlink0.10.0indirect
crates.iohashlink0.9.1indirect
crates.ioheaders0.4.1indirect
crates.ioheaders-core0.3.0indirect
crates.ioheapless0.7.17indirect
crates.ioheck0.4.1indirect
crates.ioheck0.5.0indirect
crates.ioheed0.22.0indirect
crates.ioheed-traits0.20.0indirect
crates.ioheed-types0.21.0indirect
crates.iohermit-abi0.5.2indirect
crates.iohexindirect
crates.iohex0.4.3indirect
crates.iohkdf0.12.4indirect
crates.iohmac0.12.1indirect
crates.iohome0.5.12indirect
crates.iohtmlescape0.3.1indirect
crates.iohttp0.2.12indirect
crates.iohttp1.4.0indirect
crates.iohttp-body0.4.6indirect
crates.iohttp-body1.0.1indirect
crates.iohttp-body-util0.1.3indirect
crates.iohttparse1.10.1indirect
crates.iohttpmockindirect
crates.iohttpmock0.7.0indirect
crates.iohybrid-array0.4.11indirect
crates.iohyper0.14.32indirect
crates.iohyper1.9.0indirect
crates.iohyper-named-pipe0.1.0indirect
crates.iohyper-rustls0.27.9indirect
crates.iohyper-timeout0.5.2indirect
crates.iohyper-util0.1.20indirect
crates.iohyperlocal0.9.1indirect
crates.ioiana-time-zone0.1.65indirect
crates.ioiana-time-zone-haiku0.1.2indirect
crates.ioicu_collections2.2.0indirect
crates.ioicu_locale_core2.2.0indirect
crates.ioicu_normalizer2.2.0indirect
crates.ioicu_normalizer_data2.2.0indirect
crates.ioicu_properties2.2.0indirect
crates.ioicu_properties_data2.2.0indirect
crates.ioicu_provider2.2.0indirect
crates.ioid-arena2.3.0indirect
crates.ioident_case1.0.1indirect
crates.ioidna1.1.0indirect
crates.ioidna_adapter1.2.1indirect
crates.ioindexmap1.9.3indirect
crates.ioindexmap2.14.0indirect
crates.ioinherent1.0.13indirect
crates.ioinout0.1.4indirect
crates.ioipnet2.12.0indirect
crates.iois_terminal_polyfill1.70.2indirect
crates.ioitertools0.11.0indirect
crates.ioitertools0.14.0indirect
crates.ioitoa1.0.18indirect
crates.iojni0.21.1indirect
crates.iojni-sys0.3.1indirect
crates.iojni-sys0.4.1indirect
crates.iojni-sys-macros0.4.1indirect
crates.iojobserver0.1.34indirect
crates.iojs-sys0.3.95indirect
crates.iokv-log-macro1.0.7indirect
crates.iolalrpop0.20.2indirect
crates.iolalrpop-util0.20.2indirect
crates.iolazy_static1.5.0indirect
crates.ioleb128fmt0.1.0indirect
crates.iolevenshtein1.0.5indirect
crates.iolibm0.2.16indirect
crates.iolibredox0.1.16indirect
crates.iolibsqlite3-sys0.30.1indirect
crates.iolinux-raw-sys0.12.1indirect
crates.iolitemap0.8.2indirect
crates.iolitrs1.0.0indirect
crates.iolmdb-master-sys0.2.6indirect
crates.iolock_api0.4.14indirect
crates.iolog0.4.33indirect
crates.ioloom0.7.2indirect
crates.iolru0.14.0indirect
crates.iolru0.16.4indirect
crates.iolru-slab0.1.2indirect
crates.iomainline7.0.0indirect
crates.iomatchers0.2.0indirect
crates.iomatchit0.8.4indirect
crates.iomd-50.10.6indirect
crates.iomemchr2.8.0indirect
crates.iomime0.3.17indirect
crates.iominicov0.3.8indirect
crates.iominimal-lexical0.2.1indirect
crates.iomio1.2.0indirect
crates.ionew_debug_unreachable1.0.6indirect
crates.ionom7.1.3indirect
crates.iononempty0.7.0indirect
crates.iononzero_ext0.3.0indirect
crates.iontimestamp1.0.0indirect
crates.ionu-ansi-term0.50.3indirect
crates.ionum0.4.3indirect
crates.ionum-bigint0.4.6indirect
crates.ionum-bigint-dig0.8.6indirect
crates.ionum-complex0.4.6indirect
crates.ionum-conv0.2.1indirect
crates.ionum-integer0.1.46indirect
crates.ionum-iter0.1.45indirect
crates.ionum-rational0.4.2indirect
crates.ionum-traits0.2.19indirect
crates.ioonce_cell1.21.4indirect
crates.ioonce_cell_polyfill1.70.2indirect
crates.iooorandom11.1.5indirect
crates.ioopaque-debug0.3.1indirect
crates.ioopenssl-probe0.2.1indirect
crates.iooption-ext0.2.0indirect
crates.iopage_size0.6.0indirect
crates.ioparking2.2.1indirect
crates.ioparking_lot0.12.5indirect
crates.ioparking_lot_core0.9.12indirect
crates.ioparse-display0.9.1indirect
crates.ioparse-display-derive0.9.1indirect
crates.iopassword-hash0.5.0indirect
crates.iopbkdf20.12.2indirect
crates.iopem3.0.6indirect
crates.iopem-rfc74680.7.0indirect
crates.iopetgraph0.6.5indirect
crates.iophf0.11.3indirect
crates.iophf_generator0.11.3indirect
crates.iophf_macros0.11.3indirect
crates.iophf_shared0.11.3indirect
crates.iopico-args0.5.0indirect
crates.iopin-project1.1.11indirect
crates.iopin-project-internal1.1.11indirect
crates.iopin-project-lite0.2.17indirect
crates.iopin-utils0.1.0indirect
crates.iopiper0.2.5indirect
crates.iopkcs10.7.5indirect
crates.iopkcs50.7.1indirect
crates.iopkcs80.10.2indirect
crates.iopkcs80.11.0indirect
crates.iopkg-config0.3.33indirect
crates.ioplain0.2.3indirect
crates.iopolling3.11.0indirect
crates.iopoly13050.8.0indirect
crates.ioportable-atomic1.13.1indirect
crates.iopotential_utf0.1.5indirect
crates.iopowerfmt0.2.0indirect
crates.ioppv-lite860.2.21indirect
crates.ioprecomputed-hash0.1.1indirect
crates.iopretty_assertions1.4.1indirect
crates.ioprettyplease0.2.37indirect
crates.ioproc-macro-crateindirect
crates.ioproc-macro-crate3.5.0indirect
crates.ioproc-macro2indirect
crates.ioproc-macro21.0.106indirect
crates.ioprost0.14.3indirect
crates.ioprost-derive0.14.3indirect
crates.ioprost-types0.14.3indirect
crates.ioprotobuf3.7.2indirect
crates.ioprotobuf-support3.7.2indirect
crates.iopsl-types2.0.11indirect
crates.iopubky_test_utils_drop_db_helperindirect
crates.iopubky_test_utils_macroindirect
crates.iopublicsuffix2.3.0indirect
crates.ioquanta0.12.6indirect
crates.ioquick-xml0.38.4indirect
crates.ioquinn0.11.9indirect
crates.ioquinn-proto0.11.14indirect
crates.ioquinn-udp0.5.14indirect
crates.ioquoteindirect
crates.ioquote1.0.45indirect
crates.ior-efi5.3.0indirect
crates.ior-efi6.0.0indirect
crates.iorand_chacha0.3.1indirect
crates.iorand_chacha0.9.0indirect
crates.iorand_core0.10.1indirect
crates.iorand_core0.6.4indirect
crates.iorand_core0.9.5indirect
crates.ioraw-cpuid11.6.0indirect
crates.ioredox_syscall0.5.18indirect
crates.ioredox_syscall0.7.4indirect
crates.ioredox_users0.4.6indirect
crates.ioredox_users0.5.2indirect
crates.ioref-cast1.0.25indirect
crates.ioref-cast-impl1.0.25indirect
crates.ioreflink-copy0.1.29indirect
crates.ioregex1.12.3indirect
crates.ioregex-automata0.4.14indirect
crates.ioregex-syntax0.8.10indirect
crates.ioreqsign0.16.5indirect
crates.ioreserve-port2.4.0indirect
crates.ioring0.17.14indirect
crates.iorpasswordindirect
crates.iorpassword7.5.4indirect
crates.iorsa0.9.10indirect
crates.iortoolbox0.0.5indirect
crates.iorusqlite0.32.1indirect
crates.iorust-multipart-rfc7578_20.8.0indirect
crates.iorustc-hash2.1.2indirect
crates.iorustc_version0.4.1indirect
crates.iorustix1.1.4indirect
crates.iorustlsindirect
crates.iorustls0.23.39indirect
crates.iorustls-native-certs0.8.3indirect
crates.iorustls-pki-types1.14.1indirect
crates.iorustls-platform-verifier0.6.2indirect
crates.iorustls-platform-verifier-android0.1.1indirect
crates.iorustls-webpki0.103.13indirect
crates.iorustversion1.0.22indirect
crates.ioryu1.0.23indirect
crates.iosalsa200.10.2indirect
crates.iosame-file1.0.6indirect
crates.ioschannel0.1.29indirect
crates.ioschemars0.9.0indirect
crates.ioschemars1.2.1indirect
crates.ioscoped-tls1.0.1indirect
crates.ioscopeguard1.2.0indirect
crates.ioscrypt0.11.0indirect
crates.iosea-query-derive0.4.3indirect
crates.iosecurity-framework3.7.0indirect
crates.iosecurity-framework-sys2.17.0indirect
crates.ioself_cell1.2.2indirect
crates.iosemver1.0.28indirect
crates.ioserde-wasm-bindgenindirect
crates.ioserde-wasm-bindgen0.6.5indirect
crates.ioserde_bencode0.2.4indirect
crates.ioserde_bytes0.11.19indirect
crates.ioserde_core1.0.228indirect
crates.ioserde_derive1.0.228indirect
crates.ioserde_derive_internals0.29.1indirect
crates.ioserde_path_to_error0.1.20indirect
crates.ioserde_regex1.1.0indirect
crates.ioserde_repr0.1.20indirect
crates.ioserde_spanned0.6.9indirect
crates.ioserde_spanned1.1.1indirect
crates.ioserde_urlencoded0.7.1indirect
crates.ioserde_valid_derive2.0.3indirect
crates.ioserde_valid_literal2.0.3indirect
crates.ioserde_with3.20.0indirect
crates.ioserde_with_macros3.20.0indirect
crates.ioserdect0.4.3indirect
crates.iosha10.10.6indirect
crates.iosha1_smol1.0.1indirect
crates.iosharded-slab0.1.7indirect
crates.ioshlex1.3.0indirect
crates.iosignal-hook0.4.1indirect
crates.iosignal-hook-registry1.4.8indirect
crates.iosignature2.2.0indirect
crates.iosignature3.0.0indirect
crates.iosimilar2.7.0indirect
crates.iosimple-dns0.11.2indirect
crates.iosimple_asn10.6.4indirect
crates.iosiphasher1.0.2indirect
crates.ioslab0.4.12indirect
crates.iosmallvec1.15.1indirect
crates.iosocket20.5.10indirect
crates.iosocket20.6.3indirect
crates.iospin0.10.0indirect
crates.iospin0.9.8indirect
crates.iospinning_top0.3.0indirect
crates.iospki0.7.3indirect
crates.iospki0.8.0indirect
crates.iosqlx-core0.8.6indirect
crates.iosqlx-macros0.8.6indirect
crates.iosqlx-macros-core0.8.6indirect
crates.iosqlx-mysql0.8.6indirect
crates.iosqlx-postgres0.8.6indirect
crates.iosqlx-sqlite0.8.6indirect
crates.iostable_deref_trait1.2.1indirect
crates.iostring_cache0.8.9indirect
crates.iostringprep0.1.5indirect
crates.iostrsim0.11.1indirect
crates.iostructmeta0.3.0indirect
crates.iostructmeta-derive0.3.0indirect
crates.iosubtle2.6.1indirect
crates.iosynindirect
crates.iosyn1.0.109indirect
crates.iosyn2.0.117indirect
crates.iosync_wrapper1.0.2indirect
crates.iosynchronoise1.0.1indirect
crates.iosynstructure0.13.2indirect
crates.ioterm0.7.0indirect
crates.iothiserror-impl1.0.69indirect
crates.iothiserror-impl2.0.18indirect
crates.iothread_local1.1.9indirect
crates.iotime0.3.47indirect
crates.iotime-core0.1.8indirect
crates.iotime-macros0.2.27indirect
crates.iotiny-keccak2.0.2indirect
crates.iotinystr0.8.3indirect
crates.iotinyvec1.11.0indirect
crates.iotinyvec_macros0.1.1indirect
crates.iotokio-macros2.7.0indirect
crates.iotokio-rustls0.26.4indirect
crates.iotokio-stream0.1.18indirect
crates.iotoml_datetime0.6.11indirect
crates.iotoml_datetime0.7.5+spec-1.1.0indirect
crates.iotoml_datetime1.1.1+spec-1.1.0indirect
crates.iotoml_edit0.22.27indirect
crates.iotoml_edit0.25.11+spec-1.1.0indirect
crates.iotoml_parser1.1.2+spec-1.1.0indirect
crates.iotoml_write0.1.2indirect
crates.iotoml_writer1.1.1+spec-1.1.0indirect
crates.iotonic0.14.6indirect
crates.iotonic-prost0.14.6indirect
crates.iotower-layer0.3.3indirect
crates.iotower-service0.3.3indirect
crates.iotower_governor0.8.0indirect
crates.iotracing-attributes0.1.31indirect
crates.iotracing-core0.1.36indirect
crates.iotracing-log0.2.0indirect
crates.iotry-lock0.2.5indirect
crates.iotsifyindirect
crates.iotsify0.5.6indirect
crates.iotsify-macros0.5.6indirect
crates.iotypenum1.20.0indirect
crates.iounicase2.9.0indirect
crates.iounicode-bidi0.3.18indirect
crates.iounicode-ident1.0.24indirect
crates.iounicode-normalization0.1.25indirect
crates.iounicode-properties0.1.4indirect
crates.iounicode-segmentation1.13.2indirect
crates.iounicode-xid0.2.6indirect
crates.iouniversal-hash0.5.1indirect
crates.iountrusted0.9.0indirect
crates.ioureq3.3.0indirect
crates.ioureq-proto0.6.0indirect
crates.ioutf8-zero0.8.1indirect
crates.ioutf8_iter1.0.4indirect
crates.ioutf8parse0.2.2indirect
crates.iovaluable0.1.1indirect
crates.iovalue-bag1.12.0indirect
crates.iovcpkg0.2.15indirect
crates.ioversion_check0.9.5indirect
crates.iowalkdir2.5.0indirect
crates.iowant0.3.1indirect
crates.iowasi0.11.1+wasi-snapshot-preview1indirect
crates.iowasip21.0.3+wasi-0.2.9indirect
crates.iowasip30.4.0+wasi-0.3.0-rc-2026-01-06indirect
crates.iowasite0.1.0indirect
crates.iowasm-bindgenindirect
crates.iowasm-bindgen0.2.118indirect
crates.iowasm-bindgen-futures0.4.68indirect
crates.iowasm-bindgen-macro0.2.118indirect
crates.iowasm-bindgen-macro-support0.2.118indirect
crates.iowasm-bindgen-shared0.2.118indirect
crates.iowasm-bindgen-testindirect
crates.iowasm-bindgen-test0.3.68indirect
crates.iowasm-bindgen-test-macro0.3.68indirect
crates.iowasm-bindgen-test-shared0.2.118indirect
crates.iowasm-encoder0.244.0indirect
crates.iowasm-metadata0.244.0indirect
crates.iowasm-streams0.4.2indirect
crates.iowasm-streams0.5.0indirect
crates.iowasmparser0.244.0indirect
crates.ioweb-sysindirect
crates.ioweb-sys0.3.95indirect
crates.iowebpki-root-certs1.0.7indirect
crates.iowebpki-rootsindirect
crates.iowebpki-roots0.26.11indirect
crates.iowebpki-roots1.0.7indirect
crates.iowhoami1.6.1indirect
crates.iowinapi0.3.9indirect
crates.iowinapi-i686-pc-windows-gnu0.4.0indirect
crates.iowinapi-util0.1.11indirect
crates.iowinapi-x86_64-pc-windows-gnu0.4.0indirect
crates.iowindows0.62.2indirect
crates.iowindows-collections0.3.2indirect
crates.iowindows-core0.62.2indirect
crates.iowindows-future0.3.2indirect
crates.iowindows-implement0.60.2indirect
crates.iowindows-interface0.59.3indirect
crates.iowindows-link0.2.1indirect
crates.iowindows-numerics0.3.1indirect
crates.iowindows-result0.4.1indirect
crates.iowindows-strings0.5.1indirect
crates.iowindows-sys0.45.0indirect
crates.iowindows-sys0.48.0indirect
crates.iowindows-sys0.52.0indirect
crates.iowindows-sys0.59.0indirect
crates.iowindows-sys0.61.2indirect
crates.iowindows-targets0.42.2indirect
crates.iowindows-targets0.48.5indirect
crates.iowindows-targets0.52.6indirect
crates.iowindows-threading0.2.1indirect
crates.iowindows_aarch64_gnullvm0.42.2indirect
crates.iowindows_aarch64_gnullvm0.48.5indirect
crates.iowindows_aarch64_gnullvm0.52.6indirect
crates.iowindows_aarch64_msvc0.42.2indirect
crates.iowindows_aarch64_msvc0.48.5indirect
crates.iowindows_aarch64_msvc0.52.6indirect
crates.iowindows_i686_gnu0.42.2indirect
crates.iowindows_i686_gnu0.48.5indirect
crates.iowindows_i686_gnu0.52.6indirect
crates.iowindows_i686_gnullvm0.52.6indirect
crates.iowindows_i686_msvc0.42.2indirect
crates.iowindows_i686_msvc0.48.5indirect
crates.iowindows_i686_msvc0.52.6indirect
crates.iowindows_x86_64_gnu0.42.2indirect
crates.iowindows_x86_64_gnu0.48.5indirect
crates.iowindows_x86_64_gnu0.52.6indirect
crates.iowindows_x86_64_gnullvm0.42.2indirect
crates.iowindows_x86_64_gnullvm0.48.5indirect
crates.iowindows_x86_64_gnullvm0.52.6indirect
crates.iowindows_x86_64_msvc0.42.2indirect
crates.iowindows_x86_64_msvc0.48.5indirect
crates.iowindows_x86_64_msvc0.52.6indirect
crates.iowinnow0.7.15indirect
crates.iowinnow1.0.2indirect
crates.iowit-bindgen0.51.0indirect
crates.iowit-bindgen0.57.1indirect
crates.iowit-bindgen-core0.51.0indirect
crates.iowit-bindgen-rust0.51.0indirect
crates.iowit-bindgen-rust-macro0.51.0indirect
crates.iowit-component0.244.0indirect
crates.iowit-parser0.244.0indirect
crates.iowriteable0.6.3indirect
crates.ioxattr1.6.1indirect
crates.ioxml-rs0.8.28indirect
crates.ioxmltree0.11.0indirect
crates.ioyansi1.0.1indirect
crates.ioyoke0.8.2indirect
crates.ioyoke-derive0.8.2indirect
crates.iozerocopy0.8.48indirect
crates.iozerocopy-derive0.8.48indirect
crates.iozerofrom0.1.7indirect
crates.iozerofrom-derive0.1.7indirect
crates.iozeroize1.8.2indirect
crates.iozerotrie0.2.4indirect
crates.iozerovec0.11.6indirect
crates.iozerovec-derive0.11.3indirect
crates.iozmij1.0.21indirect
npm@babel/code-frame7.29.0indirect
npm@babel/compat-data7.29.0indirect
npm@babel/core7.29.0indirect
npm@babel/generator7.29.1indirect
npm@babel/helper-compilation-targets7.28.6indirect
npm@babel/helper-globals7.28.0indirect
npm@babel/helper-module-imports7.28.6indirect
npm@babel/helper-module-transforms7.28.6indirect
npm@babel/helper-plugin-utils7.28.6indirect
npm@babel/helper-string-parser7.27.1indirect
npm@babel/helper-validator-identifier7.28.5indirect
npm@babel/helper-validator-option7.27.1indirect
npm@babel/helpers7.28.6indirect
npm@babel/parser7.29.0indirect
npm@babel/plugin-syntax-async-generators7.8.4indirect
npm@babel/plugin-syntax-dynamic-import7.8.3indirect
npm@babel/plugin-syntax-object-rest-spread7.8.3indirect
npm@babel/plugin-transform-modules-commonjs7.28.6indirect
npm@babel/template7.28.6indirect
npm@babel/traverse7.29.0indirect
npm@babel/types7.29.0indirect
npm@electron/get2.0.3indirect
npm@jridgewell/gen-mapping0.3.13indirect
npm@jridgewell/remapping2.3.5indirect
npm@jridgewell/resolve-uri3.1.2indirect
npm@jridgewell/sourcemap-codec1.5.5indirect
npm@jridgewell/trace-mapping0.3.31indirect
npm@juliangruber/tap-finished0.0.2indirect
npm@ljharb/resumer0.1.3indirect
npm@ljharb/through2.3.14indirect
npm@sindresorhus/is4.6.0indirect
npm@szmarczak/http-timer4.0.6indirect
npm@types/cacheable-request6.0.3indirect
npm@types/http-cache-semantics4.2.0indirect
npm@types/keyv3.1.4indirect
npm@types/node22.19.13indirect
npm@types/node24.12.4indirect
npm@types/responselike1.0.3indirect
npm@types/tape5.8.1indirect
npm@types/yauzl2.10.3indirect
npm@xmldom/xmldom0.8.11indirect
npmacorn7.4.1indirect
npmacorn-node1.8.2indirect
npmacorn-walk7.2.0indirect
npmansi-regex2.1.1indirect
npmansi-regex5.0.1indirect
npmansi-styles2.2.1indirect
npmansi-styles4.3.0indirect
npmarray-buffer-byte-length1.0.2indirect
npmarray.prototype.every1.1.7indirect
npmarray.prototype.flatmap1.3.3indirect
npmarraybuffer.prototype.slice1.0.4indirect
npmasap2.0.6indirect
npmasn1.js4.10.1indirect
npmassert1.5.1indirect
npmasync-function1.0.0indirect
npmavailable-typed-arrays1.0.7indirect
npmbabel-code-frame6.26.0indirect
npmbabel-messages6.23.0indirect
npmbabel-plugin-import-to-require1.0.0indirect
npmbabel-runtime6.26.0indirect
npmbabel-template6.26.0indirect
npmbabel-traverse6.26.0indirect
npmbabel-types6.26.0indirect
npmbabylon6.18.0indirect
npmbalanced-match1.0.2indirect
npmbase64-js1.5.1indirect
npmbaseline-browser-mapping2.10.0indirect
npmbn.js4.12.3indirect
npmbn.js5.2.3indirect
npmboolean3.2.0indirect
npmbrace-expansion1.1.12indirect
npmbrorand1.1.0indirect
npmbrowser-launcher3.0.1indirect
npmbrowser-pack6.1.0indirect
npmbrowser-resolve2.0.0indirect
npmbrowser-run12.0.0indirect
npmbrowserify17.0.1indirect
npmbrowserify-aes1.2.0indirect
npmbrowserify-cipher1.0.1indirect
npmbrowserify-des1.0.2indirect
npmbrowserify-rsa4.1.1indirect
npmbrowserify-sign4.2.5indirect
npmbrowserify-zlib0.2.0indirect
npmbrowserslist4.28.1indirect
npmbuffer5.2.1indirect
npmbuffer-crc320.2.13indirect
npmbuffer-from1.1.2indirect
npmbuffer-xor1.0.3indirect
npmbuiltin-status-codes3.0.0indirect
npmbytes3.0.0indirect
npmcacheable-lookup5.0.4indirect
npmcacheable-request7.0.4indirect
npmcached-path-relative1.1.0indirect
npmcall-bind1.0.8indirect
npmcall-bind-apply-helpers1.0.2indirect
npmcall-bound1.0.4indirect
npmcaniuse-lite1.0.30001776indirect
npmchalk1.1.3indirect
npmcharset1.0.1indirect
npmcipher-base1.0.7indirect
npmcliui7.0.4indirect
npmcliui8.0.1indirect
npmclone-response1.0.3indirect
npmcolor-convert2.0.1indirect
npmcolor-name1.1.4indirect
npmcombine-source-map0.8.0indirect
npmconcat-map0.0.1indirect
npmconcat-stream0.1.1indirect
npmconcat-stream1.6.2indirect
npmconsole-browserify1.2.0indirect
npmconstants-browserify1.0.0indirect
npmcontent-disposition0.5.2indirect
npmconvert-source-map1.1.3indirect
npmconvert-source-map2.0.0indirect
npmcore-js2.6.12indirect
npmcore-util-is1.0.3indirect
npmcreate-ecdh4.0.4indirect
npmcreate-hash1.2.0indirect
npmcreate-hmac1.1.7indirect
npmcrypto-browserify3.12.1indirect
npmcrypto-random-string1.0.0indirect
npmcssauron1.4.0indirect
npmdash-ast1.0.0indirect
npmdata-view-buffer1.0.2indirect
npmdata-view-byte-length1.0.2indirect
npmdata-view-byte-offset1.0.1indirect
npmdebug2.6.9indirect
npmdebug4.4.3indirect
npmdecompress-response6.0.0indirect
npmdeep-equal2.2.3indirect
npmdefer-to-connect2.0.1indirect
npmdefine-data-property1.1.4indirect
npmdefine-properties1.2.1indirect
npmdefined1.0.1indirect
npmdeps-sort2.0.1indirect
npmdes.js1.1.0indirect
npmdetect-node2.1.0indirect
npmdetective5.2.1indirect
npmdezalgo1.0.4indirect
npmdiffie-hellman5.0.3indirect
npmdomain-browser1.2.0indirect
npmdotignore0.1.2indirect
npmdunder-proto1.0.1indirect
npmduplexer0.0.4indirect
npmduplexer0.1.2indirect
npmduplexer20.0.2indirect
npmduplexer20.1.4indirect
npmecstatic4.1.4indirect
npmee-first1.1.1indirect
npmelectron41.0.2indirect
npmelectron-stream11.0.2indirect
npmelectron-to-chromium1.5.307indirect
npmelliptic6.6.1indirect
npmemoji-regex8.0.0indirect
npmend-of-stream1.4.5indirect
npmenstore1.0.1indirect
npment2.2.2indirect
npmenv-paths2.2.1indirect
npmes-abstract1.24.1indirect
npmes-define-property1.0.1indirect
npmes-errors1.3.0indirect
npmes-get-iterator1.1.3indirect
npmes-object-atoms1.1.1indirect
npmes-set-tostringtag2.1.0indirect
npmes-shim-unscopables1.1.0indirect
npmes-to-primitive1.3.0indirect
npmes6-error4.1.1indirect
npmescalade3.2.0indirect
npmescape-string-regexp1.0.5indirect
npmescape-string-regexp4.0.0indirect
npmesmify2.1.1indirect
npmesutils2.0.3indirect
npmevents3.3.0indirect
npmevp_bytestokey1.0.3indirect
npmextract-zip2.0.1indirect
npmfast-safe-stringify2.1.1indirect
npmfd-slicer1.1.0indirect
npmfetch-cookie3.2.0indirect
npmfor-each0.3.5indirect
npmfs-extra8.1.0indirect
npmfs.realpath1.0.0indirect
npmfunction-bind1.1.2indirect
npmfunction.prototype.name1.1.8indirect
npmfunctions-have-names1.2.3indirect
npmgenerator-function2.0.1indirect
npmgensync1.0.0-beta.2indirect
npmget-assigned-identifiers1.2.0indirect
npmget-caller-file2.0.5indirect
npmget-intrinsic1.3.0indirect
npmget-package-type0.1.0indirect
npmget-proto1.0.1indirect
npmget-stream5.2.0indirect
npmget-symbol-description1.1.0indirect
npmglob7.2.3indirect
npmglobal-agent3.0.0indirect
npmglobals9.18.0indirect
npmglobalthis1.0.4indirect
npmgopd1.2.0indirect
npmgot11.8.6indirect
npmgraceful-fs4.2.11indirect
npmhas-ansi2.0.0indirect
npmhas-bigints1.1.0indirect
npmhas-dynamic-import2.1.1indirect
npmhas-property-descriptors1.0.2indirect
npmhas-proto1.2.0indirect
npmhas-symbols1.1.0indirect
npmhas-tostringtag1.0.2indirect
npmhash-base3.0.5indirect
npmhash-base3.1.2indirect
npmhash.js1.1.7indirect
npmhasown2.0.2indirect
npmhe1.2.0indirect
npmheadless1.2.0indirect
npmhmac-drbg1.0.1indirect
npmhtml-inject-script2.0.0indirect
npmhtml-select2.3.24indirect
npmhtml-tokenize1.2.5indirect
npmhtmlescape1.1.1indirect
npmhttp-cache-semantics4.2.0indirect
npmhttp2-wrapper1.0.3indirect
npmhttps-browserify1.0.0indirect
npmhyperstream1.2.2indirect
npmieee7541.2.1indirect
npmindexof0.0.1indirect
npminflight1.0.6indirect
npminherits2.0.3indirect
npminherits2.0.4indirect
npminline-source-map0.6.3indirect
npminsert-module-globals7.2.1indirect
npminternal-slot1.1.0indirect
npminvariant2.2.4indirect
npmis-arguments1.2.0indirect
npmis-array-buffer3.0.5indirect
npmis-async-function2.1.1indirect
npmis-bigint1.1.0indirect
npmis-boolean-object1.2.2indirect
npmis-buffer1.1.6indirect
npmis-callable1.2.7indirect
npmis-core-module2.16.1indirect
npmis-data-view1.0.2indirect
npmis-date-object1.1.0indirect
npmis-finalizationregistry1.1.1indirect
npmis-fullwidth-code-point3.0.0indirect
npmis-generator-function1.1.2indirect
npmis-map2.0.3indirect
npmis-negative-zero2.0.3indirect
npmis-number-object1.1.1indirect
npmis-regex1.2.1indirect
npmis-set2.0.3indirect
npmis-shared-array-buffer1.0.4indirect
npmis-string1.1.1indirect
npmis-symbol1.1.1indirect
npmis-typed-array1.1.15indirect
npmis-weakmap2.0.2indirect
npmis-weakref1.1.1indirect
npmis-weakset2.0.4indirect
npmisarray0.0.1indirect
npmisarray1.0.0indirect
npmisarray2.0.5indirect
npmjs-tokens3.0.2indirect
npmjs-tokens4.0.0indirect
npmjsesc3.1.0indirect
npmjson-buffer3.0.1indirect
npmjson-stringify-safe5.0.1indirect
npmjson52.2.3indirect
npmjsonfile4.0.0indirect
npmjsonparse1.3.1indirect
npmJSONStream1.3.5indirect
npmkeyv4.5.4indirect
npmlabeled-stream-splicer2.0.2indirect
npmlit^3.2.0indirect
npmlodash4.17.23indirect
npmlodash.memoize3.0.4indirect
npmloose-envify1.4.0indirect
npmlowercase-keys2.0.0indirect
npmlru-cache5.1.1indirect
npmmatcher3.0.0indirect
npmmath-intrinsics1.1.0indirect
npmmd5.js1.3.5indirect
npmmiller-rabin4.0.1indirect
npmmime2.6.0indirect
npmmime-db1.33.0indirect
npmmime-types2.1.18indirect
npmmimic-response1.0.1indirect
npmmimic-response3.1.0indirect
npmminimalistic-assert1.0.1indirect
npmminimalistic-crypto-utils1.0.1indirect
npmminimatch3.1.5indirect
npmminimist0.0.10indirect
npmminimist1.2.8indirect
npmmkdirp1.0.4indirect
npmmkdirp-classic0.5.3indirect
npmmock-property1.1.0indirect
npmmodule-deps6.2.3indirect
npmmonotonic-timestamp0.0.8indirect
npmmri^1.2.0indirect
npmms2.0.0indirect
npmms2.1.3indirect
npmnode-exports-info1.6.0indirect
npmnode-releases2.0.36indirect
npmnormalize-url6.1.0indirect
npmobject-inspect1.13.4indirect
npmobject-is1.1.6indirect
npmobject-keys0.4.0indirect
npmobject-keys1.1.1indirect
npmobject.assign4.1.7indirect
npmobject.entries1.1.9indirect
npmon-finished2.4.1indirect
npmonce1.4.0indirect
npmordered-emitter0.1.1indirect
npmos-browserify0.3.0indirect
npmown-keys1.0.1indirect
npmp-cancelable2.1.1indirect
npmpako1.0.11indirect
npmparents1.0.1indirect
npmparse-asn15.1.9indirect
npmpassword-prompt^1.1.3indirect
npmpath-browserify1.0.1indirect
npmpath-is-absolute1.0.1indirect
npmpath-is-inside1.0.2indirect
npmpath-parse1.0.7indirect
npmpath-platform0.11.15indirect
npmpath-to-regexp3.3.0indirect
npmpbkdf23.1.5indirect
npmpend1.2.0indirect
npmpicocolors1.1.1indirect
npmpify2.3.0indirect
npmplist3.1.0indirect
npmpossible-typed-array-names1.1.0indirect
npmprocess0.11.10indirect
npmprocess-nextick-args2.0.1indirect
npmprogress2.0.3indirect
npmpublic-encrypt4.0.3indirect
npmpump3.0.4indirect
npmpunycode1.4.1indirect
npmqrcode^1.5.4indirect
npmqs6.15.0indirect
npmquerystring-es30.2.1indirect
npmquick-lru5.1.1indirect
npmrandombytes2.1.0indirect
npmrandomfill1.0.4indirect
npmrange-parser1.2.0indirect
npmread-only-stream2.0.0indirect
npmreadable-stream1.0.34indirect
npmreadable-stream1.1.14indirect
npmreadable-stream2.3.8indirect
npmreadable-stream3.6.2indirect
npmreadable-wrap1.0.0indirect
npmreflect.getprototypeof1.0.10indirect
npmregenerator-runtime0.11.1indirect
npmregexp.prototype.flags1.5.4indirect
npmrequire-directory2.1.1indirect
npmresolve1.22.11indirect
npmresolve2.0.0-next.6indirect
npmresolve-alpn1.2.1indirect
npmresponselike2.0.1indirect
npmripemd1602.0.3indirect
npmroarr2.15.4indirect
npmsafe-array-concat1.1.3indirect
npmsafe-buffer5.1.2indirect
npmsafe-buffer5.2.1indirect
npmsafe-push-apply1.0.0indirect
npmsafe-regex-test1.1.0indirect
npmsemver6.3.1indirect
npmsemver7.7.4indirect
npmsemver-compare1.0.0indirect
npmserialize-error7.0.1indirect
npmserve-handler6.1.7indirect
npmserver-destroy1.0.1indirect
npmset-cookie-parser2.7.2indirect
npmset-function-length1.2.2indirect
npmset-function-name2.0.2indirect
npmset-proto1.0.0indirect
npmsha.js2.4.12indirect
npmshasum-object1.0.1indirect
npmshell-quote1.8.3indirect
npmside-channel1.1.0indirect
npmside-channel-list1.0.0indirect
npmside-channel-map1.0.1indirect
npmside-channel-weakmap1.0.2indirect
npmsimple-concat1.0.1indirect
npmsource-map0.5.7indirect
npmsource-map-support0.4.18indirect
npmsplit0.1.2indirect
npmsplit0.3.3indirect
npmsprintf-js1.1.3indirect
npmstop-iteration-iterator1.1.0indirect
npmstream-browserify3.0.0indirect
npmstream-combiner21.0.2indirect
npmstream-combiner21.1.1indirect
npmstream-http3.2.0indirect
npmstream-read1.1.2indirect
npmstream-splicer1.3.2indirect
npmstream-splicer2.0.1indirect
npmstring-width4.2.3indirect
npmstring.prototype.trim1.2.10indirect
npmstring.prototype.trimend1.0.9indirect
npmstring.prototype.trimstart1.0.8indirect
npmstring_decoder0.10.31indirect
npmstring_decoder1.1.1indirect
npmstring_decoder1.3.0indirect
npmstrip-ansi3.0.1indirect
npmstrip-ansi6.0.1indirect
npmsubarg1.0.0indirect
npmsumchecker3.0.1indirect
npmsupports-color2.0.0indirect
npmsupports-preserve-symlinks-flag1.0.0indirect
npmsyntax-error1.4.0indirect
npmtap-parser0.2.1indirect
npmtape5.9.0indirect
npmtape-run11.0.0indirect
npmtemp-dir1.0.0indirect
npmtempy0.1.0indirect
npmthrough1.1.2indirect
npmthrough2.3.8indirect
npmthrough20.4.2indirect
npmthrough20.5.1indirect
npmthrough21.1.1indirect
npmthrough22.0.5indirect
npmthroughout0.0.0indirect
npmtimers-browserify1.4.2indirect
npmtldts7.0.24indirect
npmtldts-core7.0.24indirect
npmto-buffer1.2.2indirect
npmto-fast-properties1.0.3indirect
npmtough-cookie6.0.0indirect
npmtrumpet1.7.2indirect
npmtty-browserify0.0.1indirect
npmtype-fest0.13.1indirect
npmtyped-array-buffer1.0.3indirect
npmtyped-array-byte-length1.0.3indirect
npmtyped-array-byte-offset1.0.4indirect
npmtyped-array-length1.0.7indirect
npmtypedarray0.0.6indirect
npmtypescript5.9.3indirect
npmumd3.0.3indirect
npmunbox-primitive1.1.0indirect
npmundeclared-identifiers1.1.3indirect
npmundici-types6.21.0indirect
npmundici-types7.16.0indirect
npmunique-string1.0.0indirect
npmuniversalify0.1.2indirect
npmupdate-browserslist-db1.2.3indirect
npmurl0.11.4indirect
npmurl-join4.0.1indirect
npmutf8-stream0.0.0indirect
npmutil0.10.4indirect
npmutil0.12.5indirect
npmutil-deprecate1.0.2indirect
npmvite^5.4.2indirect
npmvm-browserify1.1.2indirect
npmwhich-boxed-primitive1.1.1indirect
npmwhich-builtin-type1.2.1indirect
npmwhich-collection1.0.2indirect
npmwhich-typed-array1.1.20indirect
npmwrap-ansi7.0.0indirect
npmwrappy1.0.2indirect
npmxhr-write-stream0.1.2indirect
npmxmlbuilder15.1.1indirect
npmxtend2.1.2indirect
npmxtend3.0.0indirect
npmxtend4.0.2indirect
npmy18n5.0.8indirect
npmyallist3.1.1indirect
npmyargs16.2.0indirect
npmyargs17.7.2indirect
npmyargs-parser20.2.9indirect
npmyargs-parser21.1.1indirect
npmyauzl2.10.0indirect
Dependency advisories 20

This repository publishes no package the index resolves, so its own dependency graph was assessed — 1,134 packages, which also include development and test pins that never ship: 20 carry known advisories, of which 2 are direct. 70 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list.

PackageVersionRelationSeverityAdvisoriesFixed in
babel-traverse6.26.0indirectcritical18.0.0-alpha.4
minimist0.0.10indirectcritical21.2.6
shell-quote1.8.3indirectcritical21.9.0
@xmldom/xmldom0.8.11indirecthigh50.9.10
brace-expansion1.1.12indirecthigh25.0.7
elliptic6.6.1indirecthigh1
lodash4.17.23indirecthigh24.18.0
quick-xml0.38.4indirecthigh20.41.0
quinn-proto0.11.14indirecthigh10.11.15
jsonwebtoken9.3.1directmoderate110.3.0
opentelemetry_sdk0.29.0directmoderate10.32.1
electron41.0.2indirectmoderate442.0.0-alpha.5
lru0.14.0indirectmoderate20.16.3
qs6.15.0indirectmoderate16.15.2
rsa0.9.10indirectmoderate1
serde_with3.20.0indirectmoderate13.21.0
@babel/core7.29.0indirectlow18.0.0-rc.6
async-std1.13.2indirectunknown1
atomic-polyfill1.0.3indirectunknown1
derivative2.2.0indirectunknown1

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [
        "client-server",
        "cloud",
        "publickey-authentication",
        "web",
        "pkarr"
      ],
      "is_fork": false,
      "size_kb": 4583,
      "has_wiki": false,
      "homepage": "https://docs.pubky.org",
      "languages": {
        "Rust": 2139174,
        "Shell": 7092,
        "Dockerfile": 2041,
        "JavaScript": 6981,
        "TypeScript": 121026
      },
      "pushed_at": "2026-07-22T16:28:45Z",
      "created_at": "2023-12-07T15:23:01Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-22T14:49:23Z",
      "description": "An open protocol for per-public-key backends for censorship resistant web applications.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "Rust",
      "significant_languages": [
        "Rust"
      ]
    },
    "owner": {
      "blog": "https://pubky.org",
      "name": "Pubky",
      "type": "Organization",
      "login": "pubky",
      "company": null,
      "location": null,
      "followers": 149,
      "avatar_url": "https://avatars.githubusercontent.com/u/155569201?v=4",
      "created_at": "2024-01-03T17:01:01Z",
      "is_verified": null,
      "public_repos": 52,
      "account_age_days": 931
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.10.0-alpha.0",
          "kind": "prerelease",
          "published_at": "2026-06-29T11:43:58Z"
        },
        {
          "tag": "v0.9.3",
          "kind": "patch",
          "published_at": "2026-06-24T12:25:50Z"
        },
        {
          "tag": "v0.9.2",
          "kind": "patch",
          "published_at": "2026-06-23T09:25:29Z"
        },
        {
          "tag": "v0.9.1",
          "kind": "patch",
          "published_at": "2026-05-27T13:16:22Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2026-05-25T08:09:54Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2026-05-19T14:54:21Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2026-03-18T14:03:17Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2026-01-15T07:55:05Z"
        },
        {
          "tag": "v0.5.4",
          "kind": "patch",
          "published_at": "2025-07-31T08:17:28Z"
        },
        {
          "tag": "v0.5.2",
          "kind": "patch",
          "published_at": "2025-07-28T11:20:31Z"
        },
        {
          "tag": "v0.5.1",
          "kind": "patch",
          "published_at": "2025-06-27T08:03:08Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2025-06-25T12:37:33Z"
        },
        {
          "tag": "v0.5.0-rc.2",
          "kind": "prerelease",
          "published_at": "2025-05-27T12:06:36Z"
        },
        {
          "tag": "v0.5.0-rc.0",
          "kind": "prerelease",
          "published_at": "2025-05-19T09:22:45Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "4044c80afcf8eba65d7d797edc206fae6719866f",
          "body": null,
          "is_bot": false,
          "headline": "ci: update dependabot rust interval to weekly (#511)",
          "author_name": "ok300",
          "author_login": "ok300",
          "committed_at": "2026-07-22T14:34:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9ee83a9c74f3eb76445f9a2f87655fe23a9992d",
          "body": "Resolve the cache once per attempt and compare its snapshot with the\nnetwork result when fallback is required.\n\nHandle invalid signed-packet sequences, retry resolution and publishing\nerrors, and verify the stored-node count before reporting success.",
          "is_bot": false,
          "headline": "fix(homeserver): republish latest known PKARR packet (#509)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-07-22T13:00:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83710e3a04da61ce851dbb9c24d85f3d2e6d1a9c",
          "body": "Remove the mdBook sources, deployment workflow, and stale links to the\npublished documentation.",
          "is_bot": false,
          "headline": "docs: remove legacy mdBook site (#508)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-07-22T07:18:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9cd30dd63607ef39d15120c22698806c76a9434",
          "body": "Use explicit resolve policies and operation-specific errors.\nConsume publish node counts directly and update testnet builders.\nConfigure test clients and relays with the testnet report policy.\n\nReconcile network resolution results with the local cache before\nrepublishing homeserver records. Use the \n[…]\nerialize Ed25519 signatures as fixed 64-byte tuples to retain the\nexisting AuthToken wire format across the ed25519-dalek upgrade.\n\nBREAKING CHANGE: replace PkarrError::Query with PkarrError::Resolve.",
          "is_bot": false,
          "headline": "fix(pkarr)!: adapt to the new client API (#502)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-07-21T18:00:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a8e5661783b4991f7dce73afbcc3c0f191718ed2",
          "body": "* fix: api docs inconsistency in limit param\n\n* refactor: split openapi file\n\n* feat: error responses + /priv writes doc",
          "is_bot": false,
          "headline": "fix(homeserver): split openapi spec into client/admin + minor fix (#507)",
          "author_name": "Marcos Carlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-07-21T11:45:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae90218a3fb4b51161554873ee8a71803c7fd52a",
          "body": "* feat: Add DEPLOY.md, steal some content from INSTALL.md\n\n* feat: Add option for deploy setup with HTTPS to bare IP\n\n* fix: A few simplifications from PR review\n\n* fix: Improve description of Pubky TLS vs. CA-authenticated TLS. Add docker restart policy",
          "is_bot": false,
          "headline": "docs(homeserver): Deploy guide (#503)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-07-21T09:53:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6525ce319bc4c1c65fca03bbef50bef805f0c6b",
          "body": "…ples (#487)\n\n* use grant auth\n\n* updated login example\n\n* fixed some authenticator.rs variable names\n\n* improved storage flow\n\n* added session management example\n\n* browser session example\n\n* reordered examples\n\n* updated example readmes\n\n* moved sample recovery key up so it can be used in js too\n\n\n[…]\nile is used in prod\n\n* consolidated homeserver testnet pubkey\n\n* fail if signup error is something else than conflict\n\n* fixed fmt & clippy\n\n* added run testnet explantion\n\n* updated names of examples",
          "is_bot": false,
          "headline": "docs(examples): Added grant auth examples + reordered/refactored exam…",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-07-20T06:44:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "03933715e4e92683cda3e0123008ae4339d01839",
          "body": "* feat: signup deeplinks auth\n\n* fix: fmt\n\n* fix: return errors instead of panicking\n\n* refactor: separate direct_signup from signup deeplinks\n\n* fix: restore log signup variant\n\n* test: add missing tests\n\n* fix: introduce çhandle_deeplink API",
          "is_bot": false,
          "headline": "feat(homeserver|sdk)!: signup deeplinks auth (#482)",
          "author_name": "Marcos Carlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-07-16T19:02:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b860ba3115fd1793a2efaecfc57566f3b5655196",
          "body": "…ates (#491)",
          "is_bot": true,
          "headline": "deps: bump the cargo-dependencies group across 1 directory with 6 upd…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-16T17:39:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2697bb8c30caa014371d914300b311c09e5d206f",
          "body": null,
          "is_bot": false,
          "headline": "chore: bind testnet http-relay to all addresses (#497)",
          "author_name": "ok300",
          "author_login": "ok300",
          "committed_at": "2026-07-16T17:21:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2ef9debec38a9b105f9e58815bd8201d1049432",
          "body": "Separate batch, retry, and single-key settings by ownership.\nReturn typed outcomes and summarize non-publish results explicitly.\nPropagate PublishError directly through retry handling.",
          "is_bot": false,
          "headline": "refactor(homeserver): restructure PKARR republishing (#498)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-07-16T14:06:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9754ca64d08ed2880802ae0604d00ebef9ba2295",
          "body": "* docs: Improve readmes and add INSTALL and LOCAL_DEVELOPMENT docs\n\n* feat: Improve INSTALL.md\n\n* feat: Improve README, TESTING and LOCAL_DEVELOPMENT\n\n* feat: Crate readmes cleanup\n\n* feat: Docs cleanup and fixes from testing\n\n* fix: Further refinements\n\n* feat: Add Docker-compose option\n\n* fix: Rem\n[…]\nx: Remove LOCAL_DEVELOPER completely. Rely on testnet readme for testnet instructions. A couple review fixes.\n\n* fix: Small corrections from review\n\n---------\n\nCo-authored-by: tomos <tomos@synonym.to>",
          "is_bot": false,
          "headline": "docs(homeserver): Improve developer docs and readmes (#431)",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-07-16T12:43:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8c7a75fbd164eb5222ac84e6dfb5f9f7a8276968",
          "body": null,
          "is_bot": false,
          "headline": "ci: cache npm dependencies (#499)",
          "author_name": "ok300",
          "author_login": "ok300",
          "committed_at": "2026-07-16T09:53:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d16285517b198a8d65a732ccfc651439b64af5b4",
          "body": "* fix: cache policy for priv events\n\n* docs: note about OPTIONS scope\n\n* refactor: declare headervalues as const",
          "is_bot": false,
          "headline": "fix: cache policy for priv events (#494)",
          "author_name": "Marcos Carlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-07-15T12:47:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c62e7658b409c67f06f72d702e61bfddf0c6ea92",
          "body": "* tests: e2e for private data\n\n* test(e2e): move owner + feed cases out of the private-data matrix",
          "is_bot": false,
          "headline": "test(homeserver): e2e for private data (#474)",
          "author_name": "Marcos Carlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-07-15T11:11:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "60d204b38d801138de9afcf60734ea1ee09e7209",
          "body": "…#495)\n\nKeep `Publisher` and `Republisher` focused on a single publish\nattempt. Use `BackON` for capped exponential backoff with jitter,\nretry only recoverable failures, and report attempt counts.",
          "is_bot": false,
          "headline": "refactor(homeserver): move PKARR retries into dedicated republisher (…",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-07-14T13:50:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0700dbc7d63400c391bf6c761766c3da2bad09d7",
          "body": "Reuse one DHT-enabled client per bounded worker and process keys from a\nshared queue. Aggregate outcomes into summaries without retaining\nper-key results.",
          "is_bot": false,
          "headline": "refactor(homeserver): simplify concurrent pkarr republishing (#488)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-07-13T13:22:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76ec5f1ec79b580eebd8871f7a826439847fc823",
          "body": "Remove the future-incompatible `proc-macro-error2` dependency from the\nhomeserver dependency graph.",
          "is_bot": false,
          "headline": "chore(deps): update `serde_valid` to 2.0.3 (#490)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-07-13T12:32:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2cbd39f4a1ced6d5e69a42f888f9345e1ed358fe",
          "body": "Apply lint-suggested iterator, control-flow, duration, and test\ncleanups without changing behavior.",
          "is_bot": false,
          "headline": "refactor: resolve workspace clippy warnings (#489)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-07-13T11:26:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9bd5cfb8c6f84db2d384122929c25dd8804c8ccc",
          "body": "* feat: add support to sessions for events streams\n\n* fix: validate homeserver attached session\n\n* fix: feedback from tomos\n\n* fix: resolve event stream homeserver from subscription\n\n* fix(sdk): make private event streams grant-only\n\n* feat: enable cookie auth for private events stream\n\n* lint: fmt\n\n[…]\nce comments noise, reduce tests redundancy and encapsulate better the code\n\n* refactor: move imports and utilities in tests to top\n\n* fix: minor findings\n\n* fix: dx gap for returned errors\n\n* fix: e2e",
          "is_bot": false,
          "headline": "feat(sdk): subscribe to private events (#470)",
          "author_name": "Marcos Carlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-07-13T10:54:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9ff7633bd5396f72aff4b3ecf4bc87cc4c2c36eb",
          "body": null,
          "is_bot": false,
          "headline": "fix: build-artifacts script (#485)",
          "author_name": "SpontaneousOverthrow",
          "author_login": "SpontaneousOverthrow",
          "committed_at": "2026-07-09T12:44:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37b9b754e1c1eb4a565e2938a19d788574a35fbe",
          "body": "Make the user keys republisher optional at startup and pass only the\ndatabase, pkarr client builder, and interval into the worker.\n\nStore worker dependencies on the worker itself and replace allocating\nmulti-republisher result helpers with count helpers.",
          "is_bot": false,
          "headline": "refactor(homeserver): simplify republisher internals (#481)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-07-09T11:17:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c6e788763b8360739a24d5ac696fb9d0fc7fda4",
          "body": "* feat: events admin endpoint\n\n* fix: add streaming capability\n\n* refactor: feed stream\n\n* refactor: use pathfilter\n\n* lint: fmt\n\n* fix: regressions + feedbacl\n\n* fix: update openapi spec\n\n* tests: add coverage for the new query params\n\n* fix: consistent behaviour when limit = 0\n\n* fix: limit mist be\n\n* fix: nit - use enum for filter mode\n\n* fix: fixes from feedback\n\n---------\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(homeserver): events admin endpoint (#463)",
          "author_name": "Marcos Carlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-07-08T17:34:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a2d2eee6187d823ce8facd4c48e5d467618f52eb",
          "body": "* feat: expose pool_max_idle_per_host on PubkyHttpClientBuilder\n\n* fix: skip pool_max_idle_per_host on wasm32 targets\n\n* ref: group native reqwest settings in PubkyHttpClientBuilder\n\n* fix: show deprecated state in wasm",
          "is_bot": false,
          "headline": "feat: expose `pool_max_idle_per_host` on PubkyHttpClientBuilder (#480)",
          "author_name": "tipogi",
          "author_login": "tipogi",
          "committed_at": "2026-07-07T09:08:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "088e6f8da53894c36095feb43823ae7b15204014",
          "body": "* feat: Introduce Persistent mode for StaticTestnet and add builder pattern\n\n* test: Add StaticTestnet tests\n\n* fix: Set ports in persistent mode to match ephemeral mode\n\n* refactor: Use InMemory name instead of Ephemeral to avoid confusing collision with EphemeralTestnet naming. Also make builder f\n[…]\noverride config.toml database_url\n\n* fix: Check for postgres ephemeral db flag in persistent mode. Also some small refactor\n\n* fix: Check for postgres ephemeral db flag after all overrides are applied",
          "is_bot": false,
          "headline": "feat(testnet): `StaticTestnet` data dir persist mode (#472)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-07-07T08:18:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "51db89744f97e33486a5e5aedf442b7e2f9b51c2",
          "body": "* feat(sdk): WebCrypto Proof of Posession key\n\n* feat(js-sdk): add browser session storage\n\n* removed unnecessary line\n\n* renamed export_secret\n\n* fixed save_local\n\n* handle session store clean methods better\n\n* fixed readme\n\n* check if the saved state matches the key in IndexDB\n\n* added public key recovery validation test\n\n* refactored and improved indexdb store js\n\n* cleaned up unnecessary method + better save_delegated doc string\n\n* fmt",
          "is_bot": false,
          "headline": "feat(sdk): Webcrypto delegated PoP key + Browser session store (#411)",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-07-03T12:05:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e9b8830f94185295fdb64527889262447fa8a08",
          "body": null,
          "is_bot": false,
          "headline": "chore: v0.9.3 (#469)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-06-30T13:39:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d6c5afc7ff0481ae7c343d1e2bd2be312ce8c811",
          "body": "* feat: Add init cli command for generating config.toml and secrets\n\n* fix: Simplify message",
          "is_bot": false,
          "headline": "feat: Add init cli command for generating config.toml and secrets (#467)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-06-29T18:19:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a293cc8f7d54d672809aa4f33826a619f073f00",
          "body": "* chore: add missing examples in the npm module README.md\n\n* fix: review comments\n\n* nit: link to the function in the readme\n\n* made a few examples cleaner\n\n---------\n\nCo-authored-by: Severin Buhler <sevi_buehler@hotmail.com>",
          "is_bot": false,
          "headline": "chore: Improve cookie AuthFlow documentation (#367)",
          "author_name": "tipogi",
          "author_login": "tipogi",
          "committed_at": "2026-06-29T14:46:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ac32cb6e0974c25aff339b954cb8630ea59ef62",
          "body": "* feat/add-priv-event-stream-auth-reads\n\n* format: fmt\n\n* refactor: optional user param to ensure single user read\n\n* refactor: use WebDavPath\n\n* refactor: rename path filters to allowed paths + remove unnecesary check",
          "is_bot": false,
          "headline": "feat(homeserver): add private event stream reads (#458)",
          "author_name": "Marcos Carlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-06-29T14:43:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "926c5d64cc98981da23367e0dd8a7c555c7c90a5",
          "body": "* fix: Update dockerhub username in githubs ui",
          "is_bot": false,
          "headline": "fix: docker build pipeline (#466)",
          "author_name": "SpontaneousOverthrow",
          "author_login": "SpontaneousOverthrow",
          "committed_at": "2026-06-29T14:20:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3aeb7edaeb81b78ad71240075b452b9d16d0e8b",
          "body": null,
          "is_bot": false,
          "headline": "chore: npm github workflow - respect prerelease (#465)",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-06-29T12:28:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba6d69c117b927e665fa6dd6b79c0deceafceb87",
          "body": "…ration guide (#460)\n\n* feat!: Migration guide & renamed startAuthFlow to startCookieAuthFlow\n\n* made secret/session break more explicit in the migration guide\n\n* added capability trailing slash to top summary",
          "is_bot": false,
          "headline": "feat(sdk)!: Renamed startAuthFlow to startCookieAuthFlow + Cookie mig…",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-06-26T09:41:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e81671266cac9f94cfd340cc630baebde06754bc",
          "body": "Add a file-only WebDAV Axum extractor for write routes so PUT and\nDELETE validate targets during path deserialization.",
          "is_bot": false,
          "headline": "fix(homeserver): reject directory paths on writes (#445)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-06-26T09:16:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73e057abf2b1a2b0f1310127961ec08aff4c3719",
          "body": "ci: add Context7 refresh workflow",
          "is_bot": false,
          "headline": "Merge pull request #462 from pubky/docs/context7-updater",
          "author_name": "Gabriel Comte",
          "author_login": "gcomte",
          "committed_at": "2026-06-26T05:37:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1197062ad0cf4246f8d6a7af3e7267379cb4aa61",
          "body": null,
          "is_bot": false,
          "headline": "ci: add Context7 refresh workflow",
          "author_name": "Gabriel Comte",
          "author_login": "gcomte",
          "committed_at": "2026-06-26T04:48:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a36064c13ee4b838db68a5a6d7d536b95c48601",
          "body": "Wrap the README example in a hidden cfg module so plain doctests do\nnot try to import the feature-gated `docker_postgres` module.",
          "is_bot": false,
          "headline": "docs(testnet): gate Docker Postgres doctest by feature (#461)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-06-25T18:52:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1a4b4a714cedc26512048455a317b4ce4291631",
          "body": "* fix: path collisions\n\n* docs: add rule about path collisions\n\n* fix: regression in e2e tests\n\n* fix: fmt\n\n* fix: review items",
          "is_bot": false,
          "headline": "fix: path collisions (#424)",
          "author_name": "Marcos Carlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-06-24T12:16:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6df47ec9c7ff61003068216c68da3e9a88f92b97",
          "body": "…e Revoked errors on Android) (#456)\n\n* fix(sdk): disable TLS revocation hard-fail on ICANN HTTP client\n\nreqwest 0.13's default rustls verifier (rustls-platform-verifier) hard-fails\ncertificate revocation on Android. With Let's Encrypt's newer sharded-CRL\nhierarchy this falsely rejects valid certifi\n[…]\naude Opus 4.8 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nCo-authored-by: Andrei <92177534+andrei-21@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(sdk): disable TLS revocation hard-fail on ICANN HTTP client (fals…",
          "author_name": "Corey",
          "author_login": "coreyphillips",
          "committed_at": "2026-06-24T11:51:07Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "25045a2092a3edca032ed6628b1dc6250092e982",
          "body": null,
          "is_bot": false,
          "headline": "feat: filter private events from events endpoint (#454)",
          "author_name": "Marcos Carlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-06-23T20:58:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6311b76c05914c87102fc2f09164b5a52528179",
          "body": "* feat: OpenAPI yaml\n\n* feat: Add /admin/signup_tokens to openapi.yaml\n\n* feat: Remove need for adding /admin/ into admin paths by removing docs for trivial / call",
          "is_bot": false,
          "headline": "feat: OpenAPI yaml (#406)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-06-23T16:02:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd00c25bb610726b0b6f82b656476369e5043341",
          "body": "Enable unused crate dependency warnings for crates where the lint is\nuseful, then remove dependencies that are no longer referenced directly.\n\nMove test-only dependencies out of normal dependency sets where possible.",
          "is_bot": false,
          "headline": "chore(deps): remove unused crate dependencies (#455)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-06-23T15:58:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e8639fab2abf5534a0e0dba613ef253170834182",
          "body": "Configure Cargo to run the pubky-homeserver binary by default when\ninvoking `cargo run`.",
          "is_bot": false,
          "headline": "build(homeserver): set default run binary to pubky-homeserver (#452)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-06-23T13:31:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9d1040401dfa0fda985d0dbf3734c04ec19af3d",
          "body": "* fix: Release pipeline to not check that tag commit is on main branch. This blocks hot fix tagging.\n\n* fix: Add hotfix release instructions",
          "is_bot": false,
          "headline": "fix(release): Allow hot-fixing (#453)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-06-23T12:27:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80267dce63aa47a287b069f5c4f9c367fed06ab5",
          "body": "* feat(homeserver): authorized reads to /priv folder\n\n* test: add tests to ensure dir listing coverage\n\n* Update pubky-homeserver/src/client_server/auth/authorization.rs\n\nCo-authored-by: Andrei <92177534+andrei-21@users.noreply.github.com>\n\n* fix: storage roots references\n\n* fix: refactors from review + doc update\n\n* fix: make tenants read private\n\n---------\n\nCo-authored-by: Andrei <92177534+andrei-21@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat(homeserver): authenticated reads + listing authz for `/priv` (#448)",
          "author_name": "Marcos Carlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-06-22T20:11:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef6d5b97adc95e1239f3946ce50ceaea69374927",
          "body": "* Add DeepWiki badge to README",
          "is_bot": false,
          "headline": "docs: add DeepWiki badge to README (#450)",
          "author_name": "ok300",
          "author_login": "ok300",
          "committed_at": "2026-06-22T15:33:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a08a75f91f22bd8cbd3836676bc575626179e20",
          "body": "Replace broken/private intra-doc links with resolvable links or code\nformatting, and wrap bare URLs so `cargo doc` runs cleanly.",
          "is_bot": false,
          "headline": "docs: fix rustdoc links (#447)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-06-19T17:53:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a428a45d2bd744f54857422782965ba5138a4087",
          "body": "feat: allow writes to `/priv` folder",
          "is_bot": false,
          "headline": "Merge pull request #446 from pubky/feat/accept-priv-writes",
          "author_name": "Marcos Carlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-06-19T14:53:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee2327a01af0196747406d0231e6b959dc52702b",
          "body": null,
          "is_bot": false,
          "headline": "format: fmt",
          "author_name": "MCarlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-06-18T14:34:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "172b0dbca6bb639abc1fb9c49143e1a3a42e1b5a",
          "body": null,
          "is_bot": false,
          "headline": "feat: allow writes to /priv folder",
          "author_name": "MCarlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-06-18T14:28:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "673ae7d82fbda5ba32dc79c7ffedb78f72d7b741",
          "body": "feat: add list signup tokens endpoint",
          "is_bot": false,
          "headline": "Merge pull request #420 from pubky/feat/list-signup-codes",
          "author_name": "Marcos Carlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-06-17T13:20:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4f0a842f6f528f231120cba24537aa941d37197",
          "body": null,
          "is_bot": false,
          "headline": "test: better coverage for cursor and pagination",
          "author_name": "MCarlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-06-17T13:08:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "368279bfa2af0d29835a08c45b21fc5d1a28489f",
          "body": "… fallback applies (#423)\n\nThe native transport resolver was handed the bare public key after\nprepare_request stripped the _pubky. prefix, but the user's HTTPS\nrecord is published under the _pubky.<key> qname. Resolving the bare\nkey returned no endpoints, so the resolver always defaulted to\nPubkyTls\n[…]\naking signin\nand storage fail whenever the homeserver's direct endpoint is\nunreachable.\n\nResolve with the URL's full host instead, keeping the bare key only\nas the pubky-host header value.\n\nFixes #422",
          "is_bot": false,
          "headline": "fix(sdk): resolve transport with the full _pubky.<key> qname so ICANN…",
          "author_name": "SHAcollision",
          "author_login": "SHAcollision",
          "committed_at": "2026-06-11T14:14:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a5a5c1fe27914511e1fdfdabc3a6dc44c9774453",
          "body": "* chore(cargo): centralize workspace manifest metadata\n\nMove repeated package version, author, license, repository, and\ndependency declarations into the workspace manifest. Update member\ncrates to inherit shared Cargo metadata and dependency versions.\n\nThe standalone cargo-set-version command does not respect workspace\nversion references, so require the cargo-edit implementation instead.",
          "is_bot": false,
          "headline": "chore(cargo): centralize workspace manifest metadata (#417)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-06-11T12:08:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc47edaba0ad0d8329aad8a499d825d64ee63383",
          "body": null,
          "is_bot": false,
          "headline": "fix: use NonZerou16 for limit",
          "author_name": "MCarlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-06-11T11:15:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6960908d5e3259963d1b8942dfdabff856f18dbd",
          "body": null,
          "is_bot": false,
          "headline": "fix: changes from review",
          "author_name": "MCarlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-06-10T19:46:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc6d7f3a3ab9d19e043c66fdf39c4d6c94e108e2",
          "body": null,
          "is_bot": false,
          "headline": "feat: add list signup tokens endpoint",
          "author_name": "MCarlomagno",
          "author_login": "MCarlomagno",
          "committed_at": "2026-06-10T12:00:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24b0e8ddcedf53c0f0d260cb2e55a46cea034e6d",
          "body": "* feat: Add docker build pipeline",
          "is_bot": false,
          "headline": "feat: Add docker build pipeline (#416)",
          "author_name": "SpontaneousOverthrow",
          "author_login": "SpontaneousOverthrow",
          "committed_at": "2026-06-09T09:16:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9cb1a33e6cb8fd7789f02731ae712111f254bf0",
          "body": "…Manager (#412)",
          "is_bot": false,
          "headline": "refactor(sdk): Extract grant management from session to its own Grant…",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-06-05T14:24:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6fbfc155a6ac38b0cbc17c942c84fd01b11c7715",
          "body": "Use broad dependency requirements in published library crates while\nkeeping workspace dependency versions for app and test crates.",
          "is_bot": false,
          "headline": "chore(deps): separate library dependency ranges (#414)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-06-04T16:56:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "137d85dab2f3076f8a5045fd12b43a5c4cc3a422",
          "body": "Use the root workspace Cargo.lock as the single lockfile for the\npubky-wasm workspace member.",
          "is_bot": false,
          "headline": "chore(deps): remove nested wasm lockfile (#415)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-06-03T15:26:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b124ed341b4aa21aac7995341f030ea324b128c9",
          "body": "…ates (#396)\n\n* deps: bump the cargo-dependencies group across 1 directory with 8 updates\n\nBumps the cargo-dependencies group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [mainline](https://github.com/pubky/mainline) | `6.1.2` | `6.2.0` |\n| [log](https://github.c\n[…]\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: ok300 <106775972+ok300@users.noreply.github.com>",
          "is_bot": true,
          "headline": "deps: bump the cargo-dependencies group across 1 directory with 8 upd…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-03T05:25:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "caa250a1372f62f5db83e9c7c90176c7f9b02dd8",
          "body": "* added grant deep links to the js sdk\n\n* added grant auth to js sdk\n\n* added deprecation warnings\n\n* updated readme\n\n* removed duplicated inflightguard and moved existing in its own module\n\n* inlined method\n\n* fixed examples\n\n* improved examples README\n\n* improved examples\n\n* further fixing example\n[…]\ne tests and refactored start auth flow grant method\n\n* added grant operations to session\n\n* renamed cookie/grant as\n\n* added deeplink doc strings\n\n* applied PR feedback\n\n* fmt & clippy\n\n* fixed readme",
          "is_bot": false,
          "headline": "feat(js-sdk)!: Grant auth for the JS SDK (#405)",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-05-29T17:34:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "baefac72ec95ffc2c66c0088e28518730ce669ee",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): update pkarr to 6.0.1 (#404)",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-05-27T12:14:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1b2f9316c251ea581ea56628d17fb1a87e01e688",
          "body": "* added experimental typed deep link\n\n* use typed seed export deep link\n\n* use new typed deeplinks\n\n* simplified deeplink parser\n\n* simplified auth flow\n\n* inlined method\n\n* fixed clippy & fmt\n\n* removed deprecation warning\n\n* applied review comment fixes\n\n* avoid reparsing the url",
          "is_bot": false,
          "headline": "feat(sdk)!: deeplink refactor (#392)",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-05-26T14:42:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4c96fd84c2d696e3b96bc4903ec07d31f23c3b3",
          "body": "* feat(sdk): restore grant session\n\n* fmt\n\n* added more e2e test",
          "is_bot": false,
          "headline": "feat(sdk): restore grant session (#400)",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-05-26T14:41:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce5f2b69851aa3c41d8d6d0730a6c788281db896",
          "body": "* feat(hs/sdk/common)!: Grant-based auth\n\n* updated doc string for pubky facade\n\n* fixed errors",
          "is_bot": false,
          "headline": "feat(hs/sdk/common)!: Grant-based auth (#373)",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-05-25T13:17:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "59797cdffb0f9f1e84993abf94e5860017546526",
          "body": "BREAKING CHANGE: The embedded-postgres feature was renamed to\ndocker-postgres and now requires Docker on the host. Deprecated\naliases are provided for the old feature flag and API names.\n(introduced in f9e75f0)",
          "is_bot": false,
          "headline": "chore!: v0.9.0 (#395)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-05-25T07:45:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b605fcc619fd17d0b08b90b745c0216da4eaf5ae",
          "body": "…or release notes from conventional commit messages. Ensure PR titles follow correct conventional commit pattern. (#393)",
          "is_bot": false,
          "headline": "ci: Use requarks/changelog-action to generate categorised changelog f…",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-05-22T14:35:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9e75f0dacaf2850d1a46d982c775f4b789470eb",
          "body": "…nging postgres bug (#368)\n\n* feat: Use docker testcontainers to automatically stop embedded_postgres after Drop\n\n* fix: README, add back the full-flow integration test as an example usage\n\n* refactor: Rename embedded-postgres feature to docker-postgres\n\n* feat: Add cleanup of containers on normal exit\n\n* fix: AI review small improvements",
          "is_bot": false,
          "headline": "fix: Improve embedded-postgres shared instance handling to prevent ha…",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-05-22T11:40:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a421c98399e868cf6786b6c53dad5a1c05071bb",
          "body": "* chore: Fixed release pipeline - Pin pubky_test_utils\n\n* added comment\n\n* exclude helper crates from the workspace",
          "is_bot": false,
          "headline": "chore: Fix release pipeline - Pin pubky_test_utils (#390)",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-05-20T07:58:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06f242ce21075dd0a6e7d784acaf1d90f9be21dd",
          "body": null,
          "is_bot": false,
          "headline": "chore: v0.8.0 (#389)",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-05-19T14:28:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb16b68e4951530669c5b0c07842000ff9492813",
          "body": "* pkarr v5.0.5\n\nSigned-off-by: dzdidi <dzdidi@protonmail.com>\n\n* Dependency update\n\n    sha2:               0.11.0-rc.4 -> 0.11.0\n    ed25519-dalek:      3.0.0-pre.5 -> 3.0.0-pre.6\n    curve25519-dalek:   5.0.0-pre.5 -> 5.0.0-pre.6\n\n* pkarr v5.0.5: api changes\n\nSigned-off-by: dzdidi <dzdidi@protonmail.com>\n\n* Bump pkarr, pkarr-relay\n\n---------\n\nSigned-off-by: dzdidi <dzdidi@protonmail.com>\nCo-authored-by: ok300 <106775972+ok300@users.noreply.github.com>",
          "is_bot": false,
          "headline": "pkarr v6 (#380)",
          "author_name": "DZ",
          "author_login": "dzdidi",
          "committed_at": "2026-05-19T08:54:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c7fb557a8bdeef1582dc8ea59e50406a3ddbd2e",
          "body": null,
          "is_bot": false,
          "headline": "refactor(homeserver): use nonzero burst quota values",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-05-18T18:25:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "22dc13047b7adc46e067bd91f81afbc2d2b4d465",
          "body": null,
          "is_bot": false,
          "headline": "refactor: move error mapping inside `create_app()`",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-05-18T13:05:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6cb887759b43e3f1e60f35f72b7ed87a761c4d41",
          "body": "Add coverage for PathLimit conversion to governor quotas with explicit\nburst overrides.\n\nStore prepared request rate limit tuples in the layer and propagate\ninvalid quota configuration errors during app creation.",
          "is_bot": false,
          "headline": "fix(homeserver): apply burst to request rate limits",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-05-18T13:05:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0877574841607643149682f14cd832f8b4d27b1",
          "body": null,
          "is_bot": false,
          "headline": "ci: fix worflow yaml",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-05-18T12:49:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30523b052cf897ee7c276fb6dfa603b994313645",
          "body": null,
          "is_bot": false,
          "headline": "ci(wasm): install wasm-pack from prebuilt binary",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-05-18T11:55:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d85d726ffa418109c53160d4e0c2eb6568b36206",
          "body": "* feat: Add allowed_write_paths to UserQuota\n\n* fix: Improve OpenDal layer error handling\n\n* test: Use storage backend for write path tests\n\n* feat: Implement From<opendal::Error> for FileIoError\n\n* fix: Do not panic on non-serialisable WebDavPath\n\n* fix: Do not add write path layer to admin endpoints\n\n* test: A few more tests\n\n* refactor: Remove ensure_valid_path() in favour parse fn on type\n\n* fix: Storage layer Operators should share storage backends",
          "is_bot": false,
          "headline": "feat(homeserver): UserQuota option allowed_write_paths (#381)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-05-14T13:54:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f30cdb0e643749ee60b473684562f43ab86e4726",
          "body": "* feat: Keygen tool for usage with examples\n\n* feat: Add write example to 4-storage\n\n* fix: keygen.rs nits",
          "is_bot": false,
          "headline": "feat(examples): Improve write abilities (#382)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-05-14T08:35:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "88d194ffd2365c9f519a43c123da236d16d8dddd",
          "body": null,
          "is_bot": false,
          "headline": "feat: signup_count metric (#379)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-05-11T14:03:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6bd352034fd34f2c742034eb284baf78bd90fc8",
          "body": "Add `Capabilities::normalize()` to merge duplicate scopes, sort and\ndeduplicate actions, and remove capabilities covered by broader scopes.\n\nKeep `From` and `TryFrom` conversions representation-preserving so\ncallers opt into normalization explicitly.\n\nBREAKING CHANGE: `from()` and `try_from()` conversions no longer\nnormalize capability lists. Call `Capabilities::normalize()`\nexplicitly when canonicalized capabilities are required.",
          "is_bot": false,
          "headline": "feat(common)!: add explicit capabilities normalization",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-04-29T08:30:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ae365083b9e0ddd4902e6a7878f3980fde52668",
          "body": "* feat: Per-user rate limits\n\n* feat: Return 429 on rate limiting\n\n* fix: Make rate limit of authenticated requests on bandwidth rather than request number\n\n* refactor: Cleanup code\n\n* feat: Remove separate user bandwidth cap and instead merge per-user configs into the existing RateLimiter\n\n* feat: \n[…]\ns\n\n* refactor: Split out RateLimiterLayer into a RequestRateLimiterLayer and a BandwidthRateLimiterLayer. Also cleanup fns a bit.\n\n* fix: Take write payload size hint directly from content-size header",
          "is_bot": false,
          "headline": "feat(homeserver): Per user rate limits (#363)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-04-29T07:32:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bf721554c9472d789bbb8211d87a0fa4092b00af",
          "body": "…ates (#359)",
          "is_bot": true,
          "headline": "deps: bump the cargo-dependencies group across 1 directory with 9 upd…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-27T08:00:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dfd06dfb8e54917778cce53990800c3684f7dce7",
          "body": "test: add unit test to verify actual behavior on quota excess",
          "is_bot": false,
          "headline": "Merge pull request #374 from pubky/fix/webdav-error-code",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-04-22T15:38:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "63a82251ad94cd5d96e22b89adec79e01aaf5890",
          "body": "build: symlink `LICENSE` for wasm-pack packaging",
          "is_bot": false,
          "headline": "Merge pull request #372 from pubky/fix/license-warning",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-04-22T09:30:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "460c6e492c6b588fa9d0be377d792af331b458c4",
          "body": "Currently it returns 500. See #364.",
          "is_bot": false,
          "headline": "test: add unit test to verify actual behavior on quota excess",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-04-22T00:00:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1c5e1a5167baf771992a3dee3c6d06ebfb730ef5",
          "body": "`wasm-pack` reads packaging metadata from\n`pubky-sdk/bindings/js/Cargo.toml`. That crate declares `license =\n\"MIT\"`, but the actual `LICENSE` file only existed at the repo root,\nso the command warned that no license file was found in the package\ndirectory.\nAdding a relative symlink at `pubky-sdk/bindings/js/LICENSE` makes the\ncrate expose the repo's existing license where `wasm-pack` expects to\nfind it, without duplicating the file.",
          "is_bot": false,
          "headline": "build: symlink `LICENSE` for wasm-pack packaging",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-04-22T00:00:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af1d45cefa74f74028ba1302213ff96f1ba9c680",
          "body": "… versions from wasm-pack's lockfile",
          "is_bot": false,
          "headline": "fix(sdk): lock wasm-pack install so that it uses the exact dependency…",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-04-21T14:01:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b330046f7b6c4287a821a47c16eb73e396139a9e",
          "body": "fix(auth): Check actual version byte",
          "is_bot": false,
          "headline": "Merge pull request #370 from andrei-21/fix/auth-version-validation",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-04-20T13:30:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b7b3e807a8d1a0f3c9cecf470ab3468b9c9e659",
          "body": null,
          "is_bot": false,
          "headline": "fix(auth): Check actual version byte",
          "author_name": "Andrei",
          "author_login": "andrei-21",
          "committed_at": "2026-04-20T00:00:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0d9c534cb4152a9ea456df21d355d1c2be931772",
          "body": "…nreachable (#352)\n\n* feat: add ICANN fallback for native SDK when PubkyTLS is unreachable\n\n* pr comment fixes\n\n* fix Nits",
          "is_bot": false,
          "headline": "feat: native SDK fallback to ICANN when PubkyTLS direct endpoint is u…",
          "author_name": "SHAcollision",
          "author_login": "SHAcollision",
          "committed_at": "2026-04-01T20:43:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "93e67690292004a4e73cb05ff1d7745f101ab730",
          "body": "…h (#355)\n\n* fix: resume auth link for relay inbox method\n\n* lint fixes\n\n* chore: review fixes",
          "is_bot": false,
          "headline": "feat(sdk): Add resumeAuthFlow to recover auth flows after page refres…",
          "author_name": "tipogi",
          "author_login": "tipogi",
          "committed_at": "2026-04-01T11:35:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "733a3c316b6a02d7986d84191df20e29538c5551",
          "body": null,
          "is_bot": false,
          "headline": "fix(testnet): testnet port binding (#362)",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-03-31T08:42:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6f3d63369d2896f2bf3a40e001d25feb503a965",
          "body": "* removed lmdb\n\n* updated a few comments removing LMDB mentions\n\n* fmt + clippy\n\n* fixed run_migration() log flow\n\n* fix(homeserver): use correct Postgres query in migration rollback test",
          "is_bot": false,
          "headline": "feat(hs): Remove LMDB (#357)",
          "author_name": "Severin Alexander Bühler",
          "author_login": "SeverinAlexB",
          "committed_at": "2026-03-26T14:07:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e9a1ebcc5ed540e3914d86ab640e8d6e8428074",
          "body": "…ipping events (#358)\n\n* feat: Serialize event inserts to prevent poll loop from skipping events. Add a pg_advisory_xact_lock to serialize event inserts, guaranteeing\nIDs are always committed in order.\n\n* test: Add regression test",
          "is_bot": false,
          "headline": "fix(homeserver): Serialise event inserts to prevent poll loop from sk…",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-03-26T13:16:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de5c8e3d653eb68e055ab895415a18f3e24428d7",
          "body": "* feat: Use Postgres NOTIFY events to achieve horizontally scaled Event broadcasting\n\n* refactor: some small cleaning\n\n* fix: Use DB as source of truth for events instead of relying on successful broadcast of NOTIFY event\n\n* fix: PR review suggestions: better testing of failure cases and remove double hardcoding of events\n\n* chore: Remove EventType after rebase\n\n* fix: A few more consmetic fixes\n\n* test: Drain lagged channel before re-use",
          "is_bot": false,
          "headline": "feat(homeserver): Horizontally scalable SSE Events (#303)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-03-23T14:38:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e26e42a934575fd6f648af9c004e57c1a30abfd",
          "body": "* docs: ARCHITECTURE.md and mod.rs file module overviews\n\n* refactor: Move pkarr-republisher into homeserver\n\n* fix: Add pkarr default features to homeserver, which was implicitly being shared previously in the workspace due to  pkarr-republisher\n\n* fix: Removed unused base_url() fn\n\n* fix: Move ARCHITECTURE.md into pubky-homeserver\n\n* fix: Remove a load of pkarr-republisher code which isnt used\n\n* refactor: Code clean up\n\n* fix: Remove ARCHITECTURE.md doc",
          "is_bot": false,
          "headline": "refactor(homeserver): Move pkarr republisher and add docs (#351)",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-03-20T14:42:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "faefe2d1ec436a183ebedf778dc6ea0ba2601e1e",
          "body": null,
          "is_bot": false,
          "headline": "chore: Set npm to version 11 in release pipeline",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-03-18T13:40:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bca3b47129dfeed53f5cbd4a82e0df6c8fc197ab",
          "body": null,
          "is_bot": false,
          "headline": "fix: Install wasm-pack in release workflow",
          "author_name": "tomos",
          "author_login": "86667",
          "committed_at": "2026-03-18T10:34:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 14,
      "commits_last_year": 230,
      "latest_release_at": "2026-06-29T11:43:58Z",
      "latest_release_tag": "v0.10.0-alpha.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 42,
      "days_since_latest_release": 23,
      "mean_days_between_releases": 37.3
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 37,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "e2e",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "test",
            "framework",
            "e2e",
            "development-tools"
          ],
          "ecosystem": "crates",
          "matches_repo": false,
          "registry_url": "https://crates.io/crates/e2e",
          "is_deprecated": false,
          "latest_version": "0.1.3",
          "repository_url": "https://github.com/popzxc/e2e",
          "versions_count": 4,
          "total_downloads": 2243,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 20,
          "first_published_at": "2025-06-06T10:22:34.583821Z",
          "latest_published_at": "2025-06-26T06:37:00.269143Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 391
        },
        {
          "name": "pubky",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "web",
            "dns",
            "dht",
            "identity",
            "decentralized",
            "network-programming",
            "web-programming",
            "cryptography",
            "authentication"
          ],
          "ecosystem": "crates",
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/pubky",
          "is_deprecated": false,
          "latest_version": "0.9.3",
          "repository_url": "https://github.com/pubky/pubky-core",
          "versions_count": 31,
          "total_downloads": 20782,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 901,
          "first_published_at": "2024-09-06T08:06:37.282342Z",
          "latest_published_at": "2026-06-29T12:07:17.777292Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 23
        },
        {
          "name": "pubky-common",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "auth",
            "pubkey",
            "pkarr",
            "pubky",
            "web-programming",
            "cryptography",
            "authentication"
          ],
          "ecosystem": "crates",
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/pubky-common",
          "is_deprecated": false,
          "latest_version": "0.9.3",
          "repository_url": "https://github.com/pubky/pubky-core",
          "versions_count": 28,
          "total_downloads": 19659,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 950,
          "first_published_at": "2024-10-25T08:43:08.805211Z",
          "latest_published_at": "2026-06-29T12:04:53.293461Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 23
        },
        {
          "name": "pubky-testnet",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "testing",
            "testnet",
            "pkarr",
            "pubky",
            "web-programming",
            "cryptography",
            "authentication"
          ],
          "ecosystem": "crates",
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/pubky-testnet",
          "is_deprecated": false,
          "latest_version": "0.9.3",
          "repository_url": "https://github.com/pubky/pubky-core",
          "versions_count": 29,
          "total_downloads": 10250,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 369,
          "first_published_at": "2025-02-13T18:01:57.986211Z",
          "latest_published_at": "2026-06-29T12:15:44.543425Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 23
        },
        {
          "name": "pubky-homeserver",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "web",
            "dns",
            "dht",
            "identity",
            "decentralized",
            "network-programming",
            "web-programming",
            "cryptography",
            "authentication"
          ],
          "ecosystem": "crates",
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/pubky-homeserver",
          "is_deprecated": false,
          "latest_version": "0.9.3",
          "repository_url": "https://github.com/pubky/pubky-core",
          "versions_count": 26,
          "total_downloads": 11087,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 406,
          "first_published_at": "2025-02-13T17:31:30.691472Z",
          "latest_published_at": "2026-06-29T12:06:55.190094Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 23
        }
      ]
    },
    "popularity": {
      "forks": 30,
      "stars": 83,
      "watchers": 5,
      "fork_history": {
        "days": [
          {
            "date": "2024-10-25",
            "count": 1
          },
          {
            "date": "2024-10-27",
            "count": 1
          },
          {
            "date": "2024-10-28",
            "count": 1
          },
          {
            "date": "2024-11-03",
            "count": 1
          },
          {
            "date": "2024-11-11",
            "count": 1
          },
          {
            "date": "2024-11-12",
            "count": 1
          },
          {
            "date": "2024-11-16",
            "count": 1
          },
          {
            "date": "2025-02-18",
            "count": 1
          },
          {
            "date": "2025-02-21",
            "count": 1
          },
          {
            "date": "2025-04-14",
            "count": 1
          },
          {
            "date": "2025-04-20",
            "count": 1
          },
          {
            "date": "2025-05-21",
            "count": 1
          },
          {
            "date": "2025-05-25",
            "count": 1
          },
          {
            "date": "2025-05-26",
            "count": 1
          },
          {
            "date": "2025-07-18",
            "count": 1
          },
          {
            "date": "2025-07-25",
            "count": 1
          },
          {
            "date": "2025-09-30",
            "count": 1
          },
          {
            "date": "2025-12-02",
            "count": 1
          },
          {
            "date": "2026-01-03",
            "count": 1
          },
          {
            "date": "2026-01-07",
            "count": 1
          },
          {
            "date": "2026-01-19",
            "count": 1
          },
          {
            "date": "2026-01-31",
            "count": 1
          },
          {
            "date": "2026-03-26",
            "count": 1
          },
          {
            "date": "2026-03-27",
            "count": 1
          },
          {
            "date": "2026-04-20",
            "count": 1
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-06-02",
            "count": 1
          },
          {
            "date": "2026-06-13",
            "count": 1
          },
          {
            "date": "2026-07-17",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 29,
        "total_forks": 30
      },
      "star_history": null,
      "open_issues_and_prs": 74
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "pubky-sdk/bindings/js/pkg/tsconfig.json"
      ],
      "toolchain_manifests": [
        "Cargo.toml",
        "e2e/Cargo.toml",
        "examples/rust/Cargo.toml",
        "pubky-common/Cargo.toml",
        "pubky-homeserver/Cargo.toml",
        "pubky-sdk/Cargo.toml",
        "pubky-sdk/bindings/js/Cargo.toml",
        "pubky-testnet/Cargo.toml",
        "test_utils/drop_db_helper/Cargo.toml",
        "test_utils/pubky_test/Cargo.toml",
        "test_utils/test_macro/Cargo.toml"
      ],
      "largest_source_bytes": 52535,
      "source_files_sampled": 369,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "Cargo.toml",
        "e2e/Cargo.toml",
        "pubky-common/Cargo.toml",
        "pubky-homeserver/Cargo.toml",
        "pubky-sdk/Cargo.toml",
        "pubky-testnet/Cargo.toml"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "babel-traverse",
            "direct": false,
            "version": "6.26.0",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.3,
            "advisory_ids": [
              "GHSA-67hx-6x53-jw92"
            ],
            "fixed_version": "8.0.0-alpha.4",
            "advisory_count": 1,
            "oldest_advisory_days": 1010
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "0.0.10",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-vh95-rmgr-6w4m",
              "GHSA-xvch-5gv4-984h"
            ],
            "fixed_version": "1.2.6",
            "advisory_count": 2,
            "oldest_advisory_days": 2300
          },
          {
            "name": "shell-quote",
            "direct": false,
            "version": "1.8.3",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-395f-4hp3-45gv",
              "GHSA-w7jw-789q-3m8p"
            ],
            "fixed_version": "1.9.0",
            "advisory_count": 2,
            "oldest_advisory_days": 43
          },
          {
            "name": "@xmldom/xmldom",
            "direct": false,
            "version": "0.8.11",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-2v35-w6hq-6mfw",
              "GHSA-f6ww-3ggp-fr8h",
              "GHSA-j759-j44w-7fr8",
              "GHSA-wh4c-j3r5-mjhp",
              "GHSA-x6wf-f3px-wcqx"
            ],
            "fixed_version": "0.9.10",
            "advisory_count": 5,
            "oldest_advisory_days": 112
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.12",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-f886-m6hf-6m8v"
            ],
            "fixed_version": "5.0.7",
            "advisory_count": 2,
            "oldest_advisory_days": 118
          },
          {
            "name": "elliptic",
            "direct": false,
            "version": "6.6.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.3,
            "advisory_ids": [
              "GHSA-848j-6mx2-7j84"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 194
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.23",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-f23m-r3pf-42rh",
              "GHSA-r5fr-rjxr-66jc"
            ],
            "fixed_version": "4.18.0",
            "advisory_count": 2,
            "oldest_advisory_days": 111
          },
          {
            "name": "quick-xml",
            "direct": false,
            "version": "0.38.4",
            "severity": "high",
            "ecosystem": "crates",
            "cvss_score": 7.5,
            "advisory_ids": [
              "RUSTSEC-2026-0194",
              "RUSTSEC-2026-0195"
            ],
            "fixed_version": "0.41.0",
            "advisory_count": 2,
            "oldest_advisory_days": 23
          },
          {
            "name": "quinn-proto",
            "direct": false,
            "version": "0.11.14",
            "severity": "high",
            "ecosystem": "crates",
            "cvss_score": 7.5,
            "advisory_ids": [
              "RUSTSEC-2026-0185"
            ],
            "fixed_version": "0.11.15",
            "advisory_count": 1,
            "oldest_advisory_days": 30
          },
          {
            "name": "jsonwebtoken",
            "direct": true,
            "version": "9.3.1",
            "severity": "moderate",
            "ecosystem": "crates",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-h395-gr6q-cpjc"
            ],
            "fixed_version": "10.3.0",
            "advisory_count": 1,
            "oldest_advisory_days": 168
          },
          {
            "name": "opentelemetry_sdk",
            "direct": true,
            "version": "0.29.0",
            "severity": "moderate",
            "ecosystem": "crates",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-w9wp-h8wv-79jx"
            ],
            "fixed_version": "0.32.1",
            "advisory_count": 1,
            "oldest_advisory_days": 27
          },
          {
            "name": "electron",
            "direct": false,
            "version": "41.0.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6,
            "advisory_ids": [
              "GHSA-4p4r-m79c-wq3v",
              "GHSA-8x5q-pvf5-64mp",
              "GHSA-f37v-82c4-4x64",
              "GHSA-f3pv-wv63-48x8"
            ],
            "fixed_version": "42.0.0-alpha.5",
            "advisory_count": 4,
            "oldest_advisory_days": 110
          },
          {
            "name": "lru",
            "direct": false,
            "version": "0.14.0",
            "severity": "moderate",
            "ecosystem": "crates",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-rhfx-m35p-ff5j",
              "RUSTSEC-2026-0002"
            ],
            "fixed_version": "0.16.3",
            "advisory_count": 2,
            "oldest_advisory_days": 196
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.15.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-q8mj-m7cp-5q26"
            ],
            "fixed_version": "6.15.2",
            "advisory_count": 1,
            "oldest_advisory_days": 61
          },
          {
            "name": "rsa",
            "direct": false,
            "version": "0.9.10",
            "severity": "moderate",
            "ecosystem": "crates",
            "cvss_score": 5.9,
            "advisory_ids": [
              "RUSTSEC-2023-0071"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 973
          },
          {
            "name": "serde_with",
            "direct": false,
            "version": "3.20.0",
            "severity": "moderate",
            "ecosystem": "crates",
            "cvss_score": 4,
            "advisory_ids": [
              "GHSA-7gcf-g7xr-8hxj"
            ],
            "fixed_version": "3.21.0",
            "advisory_count": 1,
            "oldest_advisory_days": 6
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.29.0",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 3.2,
            "advisory_ids": [
              "GHSA-4x5r-pxfx-6jf8"
            ],
            "fixed_version": "8.0.0-rc.6",
            "advisory_count": 1,
            "oldest_advisory_days": 37
          },
          {
            "name": "async-std",
            "direct": false,
            "version": "1.13.2",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2025-0052"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 332
          },
          {
            "name": "atomic-polyfill",
            "direct": false,
            "version": "1.0.3",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2023-0089"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 1107
          },
          {
            "name": "derivative",
            "direct": false,
            "version": "2.2.0",
            "severity": "unknown",
            "ecosystem": "crates",
            "cvss_score": null,
            "advisory_ids": [
              "RUSTSEC-2024-0388"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 756
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "low": 1,
          "high": 6,
          "unknown": 3,
          "critical": 3,
          "moderate": 7
        },
        "advisory_count": 33,
        "affected_count": 20,
        "assessed_count": 1134,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 70,
        "direct_affected_count": 2
      },
      "ecosystems": [
        "crates"
      ],
      "dependencies": [
        {
          "name": "blake3",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "ed25519-dalek",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "3"
        },
        {
          "name": "rand",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "thiserror",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "postcard",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "crypto_secretbox",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.1"
        },
        {
          "name": "argon2",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.5"
        },
        {
          "name": "pubky-timestamp",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        },
        {
          "name": "serde",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "pkarr",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "url",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde_json",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "base64",
          "manifest": "pubky-common/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "anyhow",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "axum",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "axum-extra",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.10"
        },
        {
          "name": "backon",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "base32",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "base64",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "bytes",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "clap",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "futures-lite",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "2"
        },
        {
          "name": "futures-util",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "httpdate",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "pkarr",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "pubky-common",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde_json",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "tokio",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "toml",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.8"
        },
        {
          "name": "tower-cookies",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.11"
        },
        {
          "name": "tower-http",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "tracing",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "tracing-subscriber",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "url",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "axum-server",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "tower",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.5"
        },
        {
          "name": "thiserror",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "dirs",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "6"
        },
        {
          "name": "hostname-validator",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "tempfile",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "dyn-clone",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "reqwest",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "governor",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.10"
        },
        {
          "name": "fast-glob",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        },
        {
          "name": "tokio-util",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.7"
        },
        {
          "name": "percent-encoding",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "2"
        },
        {
          "name": "serde_valid",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "2"
        },
        {
          "name": "opendal",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.54"
        },
        {
          "name": "infer",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.19"
        },
        {
          "name": "mime_guess",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "2"
        },
        {
          "name": "dav-server-opendalfs",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.6"
        },
        {
          "name": "dav-server",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.8"
        },
        {
          "name": "sea-query",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.32"
        },
        {
          "name": "sea-query-binder",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.7"
        },
        {
          "name": "sqlx",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.8"
        },
        {
          "name": "dashmap",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "6"
        },
        {
          "name": "async-trait",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "async-stream",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.3"
        },
        {
          "name": "uuid",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "pubky_test_utils",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "opentelemetry",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.29"
        },
        {
          "name": "opentelemetry_sdk",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.29"
        },
        {
          "name": "opentelemetry-prometheus",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.29"
        },
        {
          "name": "prometheus",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.14"
        },
        {
          "name": "jsonwebtoken",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "9"
        },
        {
          "name": "chrono",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4"
        },
        {
          "name": "sha2",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.10"
        },
        {
          "name": "rand",
          "manifest": "pubky-homeserver/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "pubky-common",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "thiserror",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "async-trait",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "eventsource-stream",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "url",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "base64",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "pkarr",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "cookie",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.18"
        },
        {
          "name": "flume",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.11"
        },
        {
          "name": "futures-util",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "serde_json",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "httpdate",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "web-time",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1"
        },
        {
          "name": "tokio",
          "manifest": "pubky-sdk/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "anyhow",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "clap",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "http-relay",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "libc",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.2"
        },
        {
          "name": "pkarr",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "pkarr-relay",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "pubky",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "pubky-common",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "pubky-homeserver",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "pubky_test_utils",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "tempfile",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "testcontainers",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.27"
        },
        {
          "name": "testcontainers-modules",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.15"
        },
        {
          "name": "tokio",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "tracing-subscriber",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "tracing",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        },
        {
          "name": "url",
          "manifest": "pubky-testnet/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": null
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "anyhow",
            "direct": true,
            "version": "1.0.103",
            "ecosystem": "crates"
          },
          {
            "name": "argon2",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "argon2",
            "direct": true,
            "version": "0.5.3",
            "ecosystem": "crates"
          },
          {
            "name": "async-stream",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-stream",
            "direct": true,
            "version": "0.3.6",
            "ecosystem": "crates"
          },
          {
            "name": "async-trait",
            "direct": true,
            "version": "0.1.89",
            "ecosystem": "crates"
          },
          {
            "name": "axum",
            "direct": true,
            "version": "0.8.9",
            "ecosystem": "crates"
          },
          {
            "name": "axum-extra",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "axum-extra",
            "direct": true,
            "version": "0.10.3",
            "ecosystem": "crates"
          },
          {
            "name": "axum-server",
            "direct": true,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "backon",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "backon",
            "direct": true,
            "version": "1.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "base32",
            "direct": true,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "base64",
            "direct": true,
            "version": "0.21.7",
            "ecosystem": "crates"
          },
          {
            "name": "base64",
            "direct": true,
            "version": "0.22.1",
            "ecosystem": "crates"
          },
          {
            "name": "blake3",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "blake3",
            "direct": true,
            "version": "1.8.4",
            "ecosystem": "crates"
          },
          {
            "name": "bytes",
            "direct": true,
            "version": "1.12.1",
            "ecosystem": "crates"
          },
          {
            "name": "chrono",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "chrono",
            "direct": true,
            "version": "0.4.44",
            "ecosystem": "crates"
          },
          {
            "name": "clap",
            "direct": true,
            "version": "4.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "cookie",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "cookie",
            "direct": true,
            "version": "0.18.1",
            "ecosystem": "crates"
          },
          {
            "name": "crypto_secretbox",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "crypto_secretbox",
            "direct": true,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "dashmap",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "dashmap",
            "direct": true,
            "version": "6.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "dav-server",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "dav-server",
            "direct": true,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "dav-server-opendalfs",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "dav-server-opendalfs",
            "direct": true,
            "version": "0.6.2",
            "ecosystem": "crates"
          },
          {
            "name": "dirs",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "dirs",
            "direct": true,
            "version": "6.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "dyn-clone",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "dyn-clone",
            "direct": true,
            "version": "1.0.20",
            "ecosystem": "crates"
          },
          {
            "name": "ed25519-dalek",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "ed25519-dalek",
            "direct": true,
            "version": "3.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "eventsource-stream",
            "direct": true,
            "version": "0.2.3",
            "ecosystem": "crates"
          },
          {
            "name": "fast-glob",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "fast-glob",
            "direct": true,
            "version": "0.4.5",
            "ecosystem": "crates"
          },
          {
            "name": "flume",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "flume",
            "direct": true,
            "version": "0.11.1",
            "ecosystem": "crates"
          },
          {
            "name": "flume",
            "direct": true,
            "version": "0.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "futures-lite",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "futures-lite",
            "direct": true,
            "version": "2.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "futures-util",
            "direct": true,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "governor",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "governor",
            "direct": true,
            "version": "0.10.4",
            "ecosystem": "crates"
          },
          {
            "name": "hostname-validator",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "hostname-validator",
            "direct": true,
            "version": "1.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "http-relay",
            "direct": true,
            "version": "0.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "httpdate",
            "direct": true,
            "version": "1.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "infer",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "infer",
            "direct": true,
            "version": "0.19.0",
            "ecosystem": "crates"
          },
          {
            "name": "jsonwebtoken",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "jsonwebtoken",
            "direct": true,
            "version": "9.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "libc",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "libc",
            "direct": true,
            "version": "0.2.186",
            "ecosystem": "crates"
          },
          {
            "name": "mime_guess",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "mime_guess",
            "direct": true,
            "version": "2.0.5",
            "ecosystem": "crates"
          },
          {
            "name": "opendal",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "opendal",
            "direct": true,
            "version": "0.54.1",
            "ecosystem": "crates"
          },
          {
            "name": "opentelemetry",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "opentelemetry",
            "direct": true,
            "version": "0.29.1",
            "ecosystem": "crates"
          },
          {
            "name": "opentelemetry-prometheus",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "opentelemetry-prometheus",
            "direct": true,
            "version": "0.29.1",
            "ecosystem": "crates"
          },
          {
            "name": "opentelemetry_sdk",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "opentelemetry_sdk",
            "direct": true,
            "version": "0.29.0",
            "ecosystem": "crates"
          },
          {
            "name": "percent-encoding",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "percent-encoding",
            "direct": true,
            "version": "2.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "pkarr",
            "direct": true,
            "version": "7.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "pkarr-relay",
            "direct": true,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "postcard",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "postcard",
            "direct": true,
            "version": "1.1.3",
            "ecosystem": "crates"
          },
          {
            "name": "prometheus",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "prometheus",
            "direct": true,
            "version": "0.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "pubky-timestamp",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "pubky-timestamp",
            "direct": true,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "rand",
            "direct": true,
            "version": "0.10.2",
            "ecosystem": "crates"
          },
          {
            "name": "rand",
            "direct": true,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "rand",
            "direct": true,
            "version": "0.9.4",
            "ecosystem": "crates"
          },
          {
            "name": "reqwest",
            "direct": true,
            "version": "0.12.28",
            "ecosystem": "crates"
          },
          {
            "name": "reqwest",
            "direct": true,
            "version": "0.13.4",
            "ecosystem": "crates"
          },
          {
            "name": "sea-query",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "sea-query",
            "direct": true,
            "version": "0.32.7",
            "ecosystem": "crates"
          },
          {
            "name": "sea-query-binder",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "sea-query-binder",
            "direct": true,
            "version": "0.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "serde",
            "direct": true,
            "version": "1.0.228",
            "ecosystem": "crates"
          },
          {
            "name": "serde_json",
            "direct": true,
            "version": "1.0.150",
            "ecosystem": "crates"
          },
          {
            "name": "serde_valid",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serde_valid",
            "direct": true,
            "version": "2.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "sha2",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "sha2",
            "direct": true,
            "version": "0.10.9",
            "ecosystem": "crates"
          },
          {
            "name": "sha2",
            "direct": true,
            "version": "0.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "sqlx",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "sqlx",
            "direct": true,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "tempfile",
            "direct": true,
            "version": "3.27.0",
            "ecosystem": "crates"
          },
          {
            "name": "testcontainers",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "testcontainers",
            "direct": true,
            "version": "0.27.3",
            "ecosystem": "crates"
          },
          {
            "name": "testcontainers-modules",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "testcontainers-modules",
            "direct": true,
            "version": "0.15.0",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror",
            "direct": true,
            "version": "1.0.69",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror",
            "direct": true,
            "version": "2.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "tokio",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tokio",
            "direct": true,
            "version": "1.52.3",
            "ecosystem": "crates"
          },
          {
            "name": "tokio-util",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tokio-util",
            "direct": true,
            "version": "0.7.18",
            "ecosystem": "crates"
          },
          {
            "name": "toml",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "toml",
            "direct": true,
            "version": "0.8.23",
            "ecosystem": "crates"
          },
          {
            "name": "toml",
            "direct": true,
            "version": "0.9.12+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "tower",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tower",
            "direct": true,
            "version": "0.5.3",
            "ecosystem": "crates"
          },
          {
            "name": "tower-cookies",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tower-cookies",
            "direct": true,
            "version": "0.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "tower-http",
            "direct": true,
            "version": "0.6.11",
            "ecosystem": "crates"
          },
          {
            "name": "tower-http",
            "direct": true,
            "version": "0.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "tracing",
            "direct": true,
            "version": "0.1.44",
            "ecosystem": "crates"
          },
          {
            "name": "tracing-subscriber",
            "direct": true,
            "version": "0.3.23",
            "ecosystem": "crates"
          },
          {
            "name": "url",
            "direct": true,
            "version": "2.5.8",
            "ecosystem": "crates"
          },
          {
            "name": "uuid",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "uuid",
            "direct": true,
            "version": "1.23.1",
            "ecosystem": "crates"
          },
          {
            "name": "web-time",
            "direct": true,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "web-time",
            "direct": true,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "aead",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "aes",
            "direct": false,
            "version": "0.8.4",
            "ecosystem": "crates"
          },
          {
            "name": "ahash",
            "direct": false,
            "version": "0.8.12",
            "ecosystem": "crates"
          },
          {
            "name": "aho-corasick",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "allocator-api2",
            "direct": false,
            "version": "0.2.21",
            "ecosystem": "crates"
          },
          {
            "name": "android_system_properties",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "anstream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle",
            "direct": false,
            "version": "1.0.14",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle-parse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle-query",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "anstyle-wincon",
            "direct": false,
            "version": "3.0.11",
            "ecosystem": "crates"
          },
          {
            "name": "arc-swap",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "arrayref",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "crates"
          },
          {
            "name": "arrayvec",
            "direct": false,
            "version": "0.7.6",
            "ecosystem": "crates"
          },
          {
            "name": "ascii-canvas",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "assert-json-diff",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "astral-tokio-tar",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "crates"
          },
          {
            "name": "async-attributes",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "async-channel",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "async-channel",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "async-compat",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "crates"
          },
          {
            "name": "async-dropper",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "async-dropper",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "async-dropper-derive",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "async-dropper-simple",
            "direct": false,
            "version": "0.2.6",
            "ecosystem": "crates"
          },
          {
            "name": "async-executor",
            "direct": false,
            "version": "1.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "async-global-executor",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "async-io",
            "direct": false,
            "version": "2.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "async-lock",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "async-object-pool",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "async-process",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "async-scoped",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "async-signal",
            "direct": false,
            "version": "0.2.14",
            "ecosystem": "crates"
          },
          {
            "name": "async-std",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "crates"
          },
          {
            "name": "async-stream-impl",
            "direct": false,
            "version": "0.3.6",
            "ecosystem": "crates"
          },
          {
            "name": "async-task",
            "direct": false,
            "version": "4.7.1",
            "ecosystem": "crates"
          },
          {
            "name": "atoi",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "atomic-polyfill",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "atomic-waker",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "auto-future",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "autocfg",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "aws-lc-rs",
            "direct": false,
            "version": "1.16.3",
            "ecosystem": "crates"
          },
          {
            "name": "aws-lc-sys",
            "direct": false,
            "version": "0.40.0",
            "ecosystem": "crates"
          },
          {
            "name": "axum-core",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "crates"
          },
          {
            "name": "axum-macros",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "axum-test",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "axum-test",
            "direct": false,
            "version": "17.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "base16ct",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "base64ct",
            "direct": false,
            "version": "1.8.3",
            "ecosystem": "crates"
          },
          {
            "name": "basic-cookies",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "bit-set",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "crates"
          },
          {
            "name": "bit-vec",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "crates"
          },
          {
            "name": "bitflags",
            "direct": false,
            "version": "2.11.1",
            "ecosystem": "crates"
          },
          {
            "name": "blake2",
            "direct": false,
            "version": "0.10.6",
            "ecosystem": "crates"
          },
          {
            "name": "block-buffer",
            "direct": false,
            "version": "0.10.4",
            "ecosystem": "crates"
          },
          {
            "name": "block-buffer",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "block-padding",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "crates"
          },
          {
            "name": "blocking",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "crates"
          },
          {
            "name": "bollard",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "crates"
          },
          {
            "name": "bollard-buildkit-proto",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "bollard-stubs",
            "direct": false,
            "version": "1.52.1-rc.29.1.3",
            "ecosystem": "crates"
          },
          {
            "name": "bs58",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "bumpalo",
            "direct": false,
            "version": "3.20.2",
            "ecosystem": "crates"
          },
          {
            "name": "byteorder",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "bytesize",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "cast",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "cbc",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "cc",
            "direct": false,
            "version": "1.2.61",
            "ecosystem": "crates"
          },
          {
            "name": "cesu8",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "cfb",
            "direct": false,
            "version": "0.7.3",
            "ecosystem": "crates"
          },
          {
            "name": "cfg-if",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "crates"
          },
          {
            "name": "cfg_aliases",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "chacha20",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "crates"
          },
          {
            "name": "cipher",
            "direct": false,
            "version": "0.4.4",
            "ecosystem": "crates"
          },
          {
            "name": "clap_builder",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "clap_derive",
            "direct": false,
            "version": "4.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "clap_lex",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "cmake",
            "direct": false,
            "version": "0.1.58",
            "ecosystem": "crates"
          },
          {
            "name": "cobs",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "colorchoice",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "crates"
          },
          {
            "name": "combine",
            "direct": false,
            "version": "4.6.7",
            "ecosystem": "crates"
          },
          {
            "name": "concurrent-queue",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "conquer-once",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "conquer-util",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "console_log",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "console_log",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "const-oid",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "crates"
          },
          {
            "name": "const-oid",
            "direct": false,
            "version": "0.9.6",
            "ecosystem": "crates"
          },
          {
            "name": "constant_time_eq",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "cookie_store",
            "direct": false,
            "version": "0.22.1",
            "ecosystem": "crates"
          },
          {
            "name": "cordyceps",
            "direct": false,
            "version": "0.3.4",
            "ecosystem": "crates"
          },
          {
            "name": "core-foundation",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "core-foundation-sys",
            "direct": false,
            "version": "0.8.7",
            "ecosystem": "crates"
          },
          {
            "name": "cpufeatures",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "crates"
          },
          {
            "name": "cpufeatures",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "crc",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "crc-catalog",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "critical-section",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-queue",
            "direct": false,
            "version": "0.3.12",
            "ecosystem": "crates"
          },
          {
            "name": "crossbeam-utils",
            "direct": false,
            "version": "0.8.21",
            "ecosystem": "crates"
          },
          {
            "name": "crunchy",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "crypto-common",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "crates"
          },
          {
            "name": "crypto-common",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "curve25519-dalek",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "curve25519-dalek-derive",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "darling",
            "direct": false,
            "version": "0.20.11",
            "ecosystem": "crates"
          },
          {
            "name": "darling",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "crates"
          },
          {
            "name": "darling_core",
            "direct": false,
            "version": "0.20.11",
            "ecosystem": "crates"
          },
          {
            "name": "darling_core",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "crates"
          },
          {
            "name": "darling_macro",
            "direct": false,
            "version": "0.20.11",
            "ecosystem": "crates"
          },
          {
            "name": "darling_macro",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "crates"
          },
          {
            "name": "der",
            "direct": false,
            "version": "0.7.10",
            "ecosystem": "crates"
          },
          {
            "name": "der",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "deranged",
            "direct": false,
            "version": "0.5.8",
            "ecosystem": "crates"
          },
          {
            "name": "derivative",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "diatomic-waker",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "crates"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "0.1.13",
            "ecosystem": "crates"
          },
          {
            "name": "digest",
            "direct": false,
            "version": "0.10.7",
            "ecosystem": "crates"
          },
          {
            "name": "digest",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "dirs-next",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "dirs-sys",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "dirs-sys-next",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "displaydoc",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "crates"
          },
          {
            "name": "docker_credential",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "crates"
          },
          {
            "name": "document-features",
            "direct": false,
            "version": "0.2.12",
            "ecosystem": "crates"
          },
          {
            "name": "dotenvy",
            "direct": false,
            "version": "0.15.7",
            "ecosystem": "crates"
          },
          {
            "name": "doxygen-rs",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "dunce",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "crates"
          },
          {
            "name": "ed25519",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "either",
            "direct": false,
            "version": "1.15.0",
            "ecosystem": "crates"
          },
          {
            "name": "embedded-io",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "embedded-io",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "ena",
            "direct": false,
            "version": "0.14.4",
            "ecosystem": "crates"
          },
          {
            "name": "equivalent",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "errno",
            "direct": false,
            "version": "0.3.14",
            "ecosystem": "crates"
          },
          {
            "name": "etcetera",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "etcetera",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "event-listener",
            "direct": false,
            "version": "2.5.3",
            "ecosystem": "crates"
          },
          {
            "name": "event-listener",
            "direct": false,
            "version": "5.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "event-listener-strategy",
            "direct": false,
            "version": "0.5.4",
            "ecosystem": "crates"
          },
          {
            "name": "fallible-iterator",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "fallible-streaming-iterator",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "fastrand",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "ferroid",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "fiat-crypto",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "filetime",
            "direct": false,
            "version": "0.2.27",
            "ecosystem": "crates"
          },
          {
            "name": "find-msvc-tools",
            "direct": false,
            "version": "0.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "fixedbitset",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "fnv",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "crates"
          },
          {
            "name": "foldhash",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "foldhash",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "form_urlencoded",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "forwarded-header-value",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "fs-err",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "fs_extra",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "futures",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "futures",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-buffered",
            "direct": false,
            "version": "0.2.13",
            "ecosystem": "crates"
          },
          {
            "name": "futures-channel",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-core",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-executor",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-intrusive",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "futures-io",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-macro",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-sink",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-task",
            "direct": false,
            "version": "0.3.32",
            "ecosystem": "crates"
          },
          {
            "name": "futures-timer",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "genawaiter",
            "direct": false,
            "version": "0.99.1",
            "ecosystem": "crates"
          },
          {
            "name": "genawaiter-macro",
            "direct": false,
            "version": "0.99.1",
            "ecosystem": "crates"
          },
          {
            "name": "generator",
            "direct": false,
            "version": "0.8.8",
            "ecosystem": "crates"
          },
          {
            "name": "generic-array",
            "direct": false,
            "version": "0.14.7",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.3.4",
            "ecosystem": "crates"
          },
          {
            "name": "getrandom",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "crates"
          },
          {
            "name": "gloo-timers",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "gloo-utils",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "h2",
            "direct": false,
            "version": "0.4.13",
            "ecosystem": "crates"
          },
          {
            "name": "hash32",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.12.3",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.14.5",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.15.5",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.16.1",
            "ecosystem": "crates"
          },
          {
            "name": "hashbrown",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "crates"
          },
          {
            "name": "hashlink",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "crates"
          },
          {
            "name": "hashlink",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "headers",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "headers-core",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "heapless",
            "direct": false,
            "version": "0.7.17",
            "ecosystem": "crates"
          },
          {
            "name": "heck",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "heck",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "heed",
            "direct": false,
            "version": "0.22.0",
            "ecosystem": "crates"
          },
          {
            "name": "heed-traits",
            "direct": false,
            "version": "0.20.0",
            "ecosystem": "crates"
          },
          {
            "name": "heed-types",
            "direct": false,
            "version": "0.21.0",
            "ecosystem": "crates"
          },
          {
            "name": "hermit-abi",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "hex",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "hex",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "hkdf",
            "direct": false,
            "version": "0.12.4",
            "ecosystem": "crates"
          },
          {
            "name": "hmac",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "crates"
          },
          {
            "name": "home",
            "direct": false,
            "version": "0.5.12",
            "ecosystem": "crates"
          },
          {
            "name": "htmlescape",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "http",
            "direct": false,
            "version": "0.2.12",
            "ecosystem": "crates"
          },
          {
            "name": "http",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "http-body",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "crates"
          },
          {
            "name": "http-body",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "http-body-util",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "crates"
          },
          {
            "name": "httparse",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "httpmock",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "httpmock",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "hybrid-array",
            "direct": false,
            "version": "0.4.11",
            "ecosystem": "crates"
          },
          {
            "name": "hyper",
            "direct": false,
            "version": "0.14.32",
            "ecosystem": "crates"
          },
          {
            "name": "hyper",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "hyper-named-pipe",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "hyper-rustls",
            "direct": false,
            "version": "0.27.9",
            "ecosystem": "crates"
          },
          {
            "name": "hyper-timeout",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "hyper-util",
            "direct": false,
            "version": "0.1.20",
            "ecosystem": "crates"
          },
          {
            "name": "hyperlocal",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "iana-time-zone",
            "direct": false,
            "version": "0.1.65",
            "ecosystem": "crates"
          },
          {
            "name": "iana-time-zone-haiku",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "icu_collections",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_locale_core",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_normalizer",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_normalizer_data",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_properties",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_properties_data",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "icu_provider",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "id-arena",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "ident_case",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "idna_adapter",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "indexmap",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "crates"
          },
          {
            "name": "indexmap",
            "direct": false,
            "version": "2.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "inherent",
            "direct": false,
            "version": "1.0.13",
            "ecosystem": "crates"
          },
          {
            "name": "inout",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "ipnet",
            "direct": false,
            "version": "2.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "is_terminal_polyfill",
            "direct": false,
            "version": "1.70.2",
            "ecosystem": "crates"
          },
          {
            "name": "itertools",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "itertools",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "itoa",
            "direct": false,
            "version": "1.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "jni",
            "direct": false,
            "version": "0.21.1",
            "ecosystem": "crates"
          },
          {
            "name": "jni-sys",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "jni-sys",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "jni-sys-macros",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "jobserver",
            "direct": false,
            "version": "0.1.34",
            "ecosystem": "crates"
          },
          {
            "name": "js-sys",
            "direct": false,
            "version": "0.3.95",
            "ecosystem": "crates"
          },
          {
            "name": "kv-log-macro",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "crates"
          },
          {
            "name": "lalrpop",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "crates"
          },
          {
            "name": "lalrpop-util",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "crates"
          },
          {
            "name": "lazy_static",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "leb128fmt",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "levenshtein",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "crates"
          },
          {
            "name": "libm",
            "direct": false,
            "version": "0.2.16",
            "ecosystem": "crates"
          },
          {
            "name": "libredox",
            "direct": false,
            "version": "0.1.16",
            "ecosystem": "crates"
          },
          {
            "name": "libsqlite3-sys",
            "direct": false,
            "version": "0.30.1",
            "ecosystem": "crates"
          },
          {
            "name": "linux-raw-sys",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "crates"
          },
          {
            "name": "litemap",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "litrs",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "lmdb-master-sys",
            "direct": false,
            "version": "0.2.6",
            "ecosystem": "crates"
          },
          {
            "name": "lock_api",
            "direct": false,
            "version": "0.4.14",
            "ecosystem": "crates"
          },
          {
            "name": "log",
            "direct": false,
            "version": "0.4.33",
            "ecosystem": "crates"
          },
          {
            "name": "loom",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "crates"
          },
          {
            "name": "lru",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "crates"
          },
          {
            "name": "lru",
            "direct": false,
            "version": "0.16.4",
            "ecosystem": "crates"
          },
          {
            "name": "lru-slab",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "mainline",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "matchers",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "matchit",
            "direct": false,
            "version": "0.8.4",
            "ecosystem": "crates"
          },
          {
            "name": "md-5",
            "direct": false,
            "version": "0.10.6",
            "ecosystem": "crates"
          },
          {
            "name": "memchr",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "mime",
            "direct": false,
            "version": "0.3.17",
            "ecosystem": "crates"
          },
          {
            "name": "minicov",
            "direct": false,
            "version": "0.3.8",
            "ecosystem": "crates"
          },
          {
            "name": "minimal-lexical",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "mio",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "new_debug_unreachable",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "crates"
          },
          {
            "name": "nom",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "crates"
          },
          {
            "name": "nonempty",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "nonzero_ext",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "ntimestamp",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "nu-ansi-term",
            "direct": false,
            "version": "0.50.3",
            "ecosystem": "crates"
          },
          {
            "name": "num",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "num-bigint",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "crates"
          },
          {
            "name": "num-bigint-dig",
            "direct": false,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "num-complex",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "crates"
          },
          {
            "name": "num-conv",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "num-integer",
            "direct": false,
            "version": "0.1.46",
            "ecosystem": "crates"
          },
          {
            "name": "num-iter",
            "direct": false,
            "version": "0.1.45",
            "ecosystem": "crates"
          },
          {
            "name": "num-rational",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "num-traits",
            "direct": false,
            "version": "0.2.19",
            "ecosystem": "crates"
          },
          {
            "name": "once_cell",
            "direct": false,
            "version": "1.21.4",
            "ecosystem": "crates"
          },
          {
            "name": "once_cell_polyfill",
            "direct": false,
            "version": "1.70.2",
            "ecosystem": "crates"
          },
          {
            "name": "oorandom",
            "direct": false,
            "version": "11.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "opaque-debug",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "openssl-probe",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "option-ext",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "page_size",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "parking",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "parking_lot",
            "direct": false,
            "version": "0.12.5",
            "ecosystem": "crates"
          },
          {
            "name": "parking_lot_core",
            "direct": false,
            "version": "0.9.12",
            "ecosystem": "crates"
          },
          {
            "name": "parse-display",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "parse-display-derive",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "crates"
          },
          {
            "name": "password-hash",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "pbkdf2",
            "direct": false,
            "version": "0.12.2",
            "ecosystem": "crates"
          },
          {
            "name": "pem",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "crates"
          },
          {
            "name": "pem-rfc7468",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "petgraph",
            "direct": false,
            "version": "0.6.5",
            "ecosystem": "crates"
          },
          {
            "name": "phf",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "phf_generator",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "phf_macros",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "phf_shared",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "pico-args",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "pin-project",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "crates"
          },
          {
            "name": "pin-project-internal",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "crates"
          },
          {
            "name": "pin-project-lite",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "crates"
          },
          {
            "name": "pin-utils",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "piper",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "crates"
          },
          {
            "name": "pkcs1",
            "direct": false,
            "version": "0.7.5",
            "ecosystem": "crates"
          },
          {
            "name": "pkcs5",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "crates"
          },
          {
            "name": "pkcs8",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "crates"
          },
          {
            "name": "pkcs8",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "pkg-config",
            "direct": false,
            "version": "0.3.33",
            "ecosystem": "crates"
          },
          {
            "name": "plain",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "crates"
          },
          {
            "name": "polling",
            "direct": false,
            "version": "3.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "poly1305",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "portable-atomic",
            "direct": false,
            "version": "1.13.1",
            "ecosystem": "crates"
          },
          {
            "name": "potential_utf",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "powerfmt",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "ppv-lite86",
            "direct": false,
            "version": "0.2.21",
            "ecosystem": "crates"
          },
          {
            "name": "precomputed-hash",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "pretty_assertions",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "prettyplease",
            "direct": false,
            "version": "0.2.37",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro-crate",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro-crate",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro2",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "proc-macro2",
            "direct": false,
            "version": "1.0.106",
            "ecosystem": "crates"
          },
          {
            "name": "prost",
            "direct": false,
            "version": "0.14.3",
            "ecosystem": "crates"
          },
          {
            "name": "prost-derive",
            "direct": false,
            "version": "0.14.3",
            "ecosystem": "crates"
          },
          {
            "name": "prost-types",
            "direct": false,
            "version": "0.14.3",
            "ecosystem": "crates"
          },
          {
            "name": "protobuf",
            "direct": false,
            "version": "3.7.2",
            "ecosystem": "crates"
          },
          {
            "name": "protobuf-support",
            "direct": false,
            "version": "3.7.2",
            "ecosystem": "crates"
          },
          {
            "name": "psl-types",
            "direct": false,
            "version": "2.0.11",
            "ecosystem": "crates"
          },
          {
            "name": "pubky_test_utils_drop_db_helper",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "pubky_test_utils_macro",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "publicsuffix",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "quanta",
            "direct": false,
            "version": "0.12.6",
            "ecosystem": "crates"
          },
          {
            "name": "quick-xml",
            "direct": false,
            "version": "0.38.4",
            "ecosystem": "crates"
          },
          {
            "name": "quinn",
            "direct": false,
            "version": "0.11.9",
            "ecosystem": "crates"
          },
          {
            "name": "quinn-proto",
            "direct": false,
            "version": "0.11.14",
            "ecosystem": "crates"
          },
          {
            "name": "quinn-udp",
            "direct": false,
            "version": "0.5.14",
            "ecosystem": "crates"
          },
          {
            "name": "quote",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "quote",
            "direct": false,
            "version": "1.0.45",
            "ecosystem": "crates"
          },
          {
            "name": "r-efi",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "r-efi",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "rand_chacha",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "rand_chacha",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "rand_core",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "crates"
          },
          {
            "name": "rand_core",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "crates"
          },
          {
            "name": "rand_core",
            "direct": false,
            "version": "0.9.5",
            "ecosystem": "crates"
          },
          {
            "name": "raw-cpuid",
            "direct": false,
            "version": "11.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "redox_syscall",
            "direct": false,
            "version": "0.5.18",
            "ecosystem": "crates"
          },
          {
            "name": "redox_syscall",
            "direct": false,
            "version": "0.7.4",
            "ecosystem": "crates"
          },
          {
            "name": "redox_users",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "crates"
          },
          {
            "name": "redox_users",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "crates"
          },
          {
            "name": "ref-cast",
            "direct": false,
            "version": "1.0.25",
            "ecosystem": "crates"
          },
          {
            "name": "ref-cast-impl",
            "direct": false,
            "version": "1.0.25",
            "ecosystem": "crates"
          },
          {
            "name": "reflink-copy",
            "direct": false,
            "version": "0.1.29",
            "ecosystem": "crates"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "1.12.3",
            "ecosystem": "crates"
          },
          {
            "name": "regex-automata",
            "direct": false,
            "version": "0.4.14",
            "ecosystem": "crates"
          },
          {
            "name": "regex-syntax",
            "direct": false,
            "version": "0.8.10",
            "ecosystem": "crates"
          },
          {
            "name": "reqsign",
            "direct": false,
            "version": "0.16.5",
            "ecosystem": "crates"
          },
          {
            "name": "reserve-port",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "ring",
            "direct": false,
            "version": "0.17.14",
            "ecosystem": "crates"
          },
          {
            "name": "rpassword",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rpassword",
            "direct": false,
            "version": "7.5.4",
            "ecosystem": "crates"
          },
          {
            "name": "rsa",
            "direct": false,
            "version": "0.9.10",
            "ecosystem": "crates"
          },
          {
            "name": "rtoolbox",
            "direct": false,
            "version": "0.0.5",
            "ecosystem": "crates"
          },
          {
            "name": "rusqlite",
            "direct": false,
            "version": "0.32.1",
            "ecosystem": "crates"
          },
          {
            "name": "rust-multipart-rfc7578_2",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "rustc-hash",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "rustc_version",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "rustix",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "rustls",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "rustls",
            "direct": false,
            "version": "0.23.39",
            "ecosystem": "crates"
          },
          {
            "name": "rustls-native-certs",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "crates"
          },
          {
            "name": "rustls-pki-types",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "crates"
          },
          {
            "name": "rustls-platform-verifier",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "crates"
          },
          {
            "name": "rustls-platform-verifier-android",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "rustls-webpki",
            "direct": false,
            "version": "0.103.13",
            "ecosystem": "crates"
          },
          {
            "name": "rustversion",
            "direct": false,
            "version": "1.0.22",
            "ecosystem": "crates"
          },
          {
            "name": "ryu",
            "direct": false,
            "version": "1.0.23",
            "ecosystem": "crates"
          },
          {
            "name": "salsa20",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "crates"
          },
          {
            "name": "same-file",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "crates"
          },
          {
            "name": "schannel",
            "direct": false,
            "version": "0.1.29",
            "ecosystem": "crates"
          },
          {
            "name": "schemars",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "schemars",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "scoped-tls",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "scopeguard",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "scrypt",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "sea-query-derive",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "security-framework",
            "direct": false,
            "version": "3.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "security-framework-sys",
            "direct": false,
            "version": "2.17.0",
            "ecosystem": "crates"
          },
          {
            "name": "self_cell",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "1.0.28",
            "ecosystem": "crates"
          },
          {
            "name": "serde-wasm-bindgen",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "serde-wasm-bindgen",
            "direct": false,
            "version": "0.6.5",
            "ecosystem": "crates"
          },
          {
            "name": "serde_bencode",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "serde_bytes",
            "direct": false,
            "version": "0.11.19",
            "ecosystem": "crates"
          },
          {
            "name": "serde_core",
            "direct": false,
            "version": "1.0.228",
            "ecosystem": "crates"
          },
          {
            "name": "serde_derive",
            "direct": false,
            "version": "1.0.228",
            "ecosystem": "crates"
          },
          {
            "name": "serde_derive_internals",
            "direct": false,
            "version": "0.29.1",
            "ecosystem": "crates"
          },
          {
            "name": "serde_path_to_error",
            "direct": false,
            "version": "0.1.20",
            "ecosystem": "crates"
          },
          {
            "name": "serde_regex",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "serde_repr",
            "direct": false,
            "version": "0.1.20",
            "ecosystem": "crates"
          },
          {
            "name": "serde_spanned",
            "direct": false,
            "version": "0.6.9",
            "ecosystem": "crates"
          },
          {
            "name": "serde_spanned",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "serde_urlencoded",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "crates"
          },
          {
            "name": "serde_valid_derive",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "serde_valid_literal",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "crates"
          },
          {
            "name": "serde_with",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "crates"
          },
          {
            "name": "serde_with_macros",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "crates"
          },
          {
            "name": "serdect",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "crates"
          },
          {
            "name": "sha1",
            "direct": false,
            "version": "0.10.6",
            "ecosystem": "crates"
          },
          {
            "name": "sha1_smol",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "sharded-slab",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "crates"
          },
          {
            "name": "shlex",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "signal-hook",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "signal-hook-registry",
            "direct": false,
            "version": "1.4.8",
            "ecosystem": "crates"
          },
          {
            "name": "signature",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "signature",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "crates"
          },
          {
            "name": "similar",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "simple-dns",
            "direct": false,
            "version": "0.11.2",
            "ecosystem": "crates"
          },
          {
            "name": "simple_asn1",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "crates"
          },
          {
            "name": "siphasher",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "slab",
            "direct": false,
            "version": "0.4.12",
            "ecosystem": "crates"
          },
          {
            "name": "smallvec",
            "direct": false,
            "version": "1.15.1",
            "ecosystem": "crates"
          },
          {
            "name": "socket2",
            "direct": false,
            "version": "0.5.10",
            "ecosystem": "crates"
          },
          {
            "name": "socket2",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "crates"
          },
          {
            "name": "spin",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "crates"
          },
          {
            "name": "spin",
            "direct": false,
            "version": "0.9.8",
            "ecosystem": "crates"
          },
          {
            "name": "spinning_top",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "spki",
            "direct": false,
            "version": "0.7.3",
            "ecosystem": "crates"
          },
          {
            "name": "spki",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "sqlx-core",
            "direct": false,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "sqlx-macros",
            "direct": false,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "sqlx-macros-core",
            "direct": false,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "sqlx-mysql",
            "direct": false,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "sqlx-postgres",
            "direct": false,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "sqlx-sqlite",
            "direct": false,
            "version": "0.8.6",
            "ecosystem": "crates"
          },
          {
            "name": "stable_deref_trait",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "string_cache",
            "direct": false,
            "version": "0.8.9",
            "ecosystem": "crates"
          },
          {
            "name": "stringprep",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "crates"
          },
          {
            "name": "strsim",
            "direct": false,
            "version": "0.11.1",
            "ecosystem": "crates"
          },
          {
            "name": "structmeta",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "structmeta-derive",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "subtle",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "syn",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "syn",
            "direct": false,
            "version": "1.0.109",
            "ecosystem": "crates"
          },
          {
            "name": "syn",
            "direct": false,
            "version": "2.0.117",
            "ecosystem": "crates"
          },
          {
            "name": "sync_wrapper",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "synchronoise",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "synstructure",
            "direct": false,
            "version": "0.13.2",
            "ecosystem": "crates"
          },
          {
            "name": "term",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror-impl",
            "direct": false,
            "version": "1.0.69",
            "ecosystem": "crates"
          },
          {
            "name": "thiserror-impl",
            "direct": false,
            "version": "2.0.18",
            "ecosystem": "crates"
          },
          {
            "name": "thread_local",
            "direct": false,
            "version": "1.1.9",
            "ecosystem": "crates"
          },
          {
            "name": "time",
            "direct": false,
            "version": "0.3.47",
            "ecosystem": "crates"
          },
          {
            "name": "time-core",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "crates"
          },
          {
            "name": "time-macros",
            "direct": false,
            "version": "0.2.27",
            "ecosystem": "crates"
          },
          {
            "name": "tiny-keccak",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "tinystr",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "crates"
          },
          {
            "name": "tinyvec",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "tinyvec_macros",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "tokio-macros",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "crates"
          },
          {
            "name": "tokio-rustls",
            "direct": false,
            "version": "0.26.4",
            "ecosystem": "crates"
          },
          {
            "name": "tokio-stream",
            "direct": false,
            "version": "0.1.18",
            "ecosystem": "crates"
          },
          {
            "name": "toml_datetime",
            "direct": false,
            "version": "0.6.11",
            "ecosystem": "crates"
          },
          {
            "name": "toml_datetime",
            "direct": false,
            "version": "0.7.5+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "toml_datetime",
            "direct": false,
            "version": "1.1.1+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "toml_edit",
            "direct": false,
            "version": "0.22.27",
            "ecosystem": "crates"
          },
          {
            "name": "toml_edit",
            "direct": false,
            "version": "0.25.11+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "toml_parser",
            "direct": false,
            "version": "1.1.2+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "toml_write",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "crates"
          },
          {
            "name": "toml_writer",
            "direct": false,
            "version": "1.1.1+spec-1.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "tonic",
            "direct": false,
            "version": "0.14.6",
            "ecosystem": "crates"
          },
          {
            "name": "tonic-prost",
            "direct": false,
            "version": "0.14.6",
            "ecosystem": "crates"
          },
          {
            "name": "tower-layer",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "crates"
          },
          {
            "name": "tower-service",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "crates"
          },
          {
            "name": "tower_governor",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "crates"
          },
          {
            "name": "tracing-attributes",
            "direct": false,
            "version": "0.1.31",
            "ecosystem": "crates"
          },
          {
            "name": "tracing-core",
            "direct": false,
            "version": "0.1.36",
            "ecosystem": "crates"
          },
          {
            "name": "tracing-log",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "crates"
          },
          {
            "name": "try-lock",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "crates"
          },
          {
            "name": "tsify",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "tsify",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "crates"
          },
          {
            "name": "tsify-macros",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "crates"
          },
          {
            "name": "typenum",
            "direct": false,
            "version": "1.20.0",
            "ecosystem": "crates"
          },
          {
            "name": "unicase",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-bidi",
            "direct": false,
            "version": "0.3.18",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-ident",
            "direct": false,
            "version": "1.0.24",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-normalization",
            "direct": false,
            "version": "0.1.25",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-properties",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-segmentation",
            "direct": false,
            "version": "1.13.2",
            "ecosystem": "crates"
          },
          {
            "name": "unicode-xid",
            "direct": false,
            "version": "0.2.6",
            "ecosystem": "crates"
          },
          {
            "name": "universal-hash",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "untrusted",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "crates"
          },
          {
            "name": "ureq",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "crates"
          },
          {
            "name": "ureq-proto",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "crates"
          },
          {
            "name": "utf8-zero",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "crates"
          },
          {
            "name": "utf8_iter",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "crates"
          },
          {
            "name": "utf8parse",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "crates"
          },
          {
            "name": "valuable",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "crates"
          },
          {
            "name": "value-bag",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "crates"
          },
          {
            "name": "vcpkg",
            "direct": false,
            "version": "0.2.15",
            "ecosystem": "crates"
          },
          {
            "name": "version_check",
            "direct": false,
            "version": "0.9.5",
            "ecosystem": "crates"
          },
          {
            "name": "walkdir",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "want",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "wasi",
            "direct": false,
            "version": "0.11.1+wasi-snapshot-preview1",
            "ecosystem": "crates"
          },
          {
            "name": "wasip2",
            "direct": false,
            "version": "1.0.3+wasi-0.2.9",
            "ecosystem": "crates"
          },
          {
            "name": "wasip3",
            "direct": false,
            "version": "0.4.0+wasi-0.3.0-rc-2026-01-06",
            "ecosystem": "crates"
          },
          {
            "name": "wasite",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen",
            "direct": false,
            "version": "0.2.118",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-futures",
            "direct": false,
            "version": "0.4.68",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-macro",
            "direct": false,
            "version": "0.2.118",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-macro-support",
            "direct": false,
            "version": "0.2.118",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-shared",
            "direct": false,
            "version": "0.2.118",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-test",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-test",
            "direct": false,
            "version": "0.3.68",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-test-macro",
            "direct": false,
            "version": "0.3.68",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-bindgen-test-shared",
            "direct": false,
            "version": "0.2.118",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-encoder",
            "direct": false,
            "version": "0.244.0",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-metadata",
            "direct": false,
            "version": "0.244.0",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-streams",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "crates"
          },
          {
            "name": "wasm-streams",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "crates"
          },
          {
            "name": "wasmparser",
            "direct": false,
            "version": "0.244.0",
            "ecosystem": "crates"
          },
          {
            "name": "web-sys",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "web-sys",
            "direct": false,
            "version": "0.3.95",
            "ecosystem": "crates"
          },
          {
            "name": "webpki-root-certs",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "crates"
          },
          {
            "name": "webpki-roots",
            "direct": false,
            "version": null,
            "ecosystem": "crates"
          },
          {
            "name": "webpki-roots",
            "direct": false,
            "version": "0.26.11",
            "ecosystem": "crates"
          },
          {
            "name": "webpki-roots",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "crates"
          },
          {
            "name": "whoami",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "winapi",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "crates"
          },
          {
            "name": "winapi-i686-pc-windows-gnu",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "winapi-util",
            "direct": false,
            "version": "0.1.11",
            "ecosystem": "crates"
          },
          {
            "name": "winapi-x86_64-pc-windows-gnu",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows",
            "direct": false,
            "version": "0.62.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-collections",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-core",
            "direct": false,
            "version": "0.62.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-future",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-implement",
            "direct": false,
            "version": "0.60.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-interface",
            "direct": false,
            "version": "0.59.3",
            "ecosystem": "crates"
          },
          {
            "name": "windows-link",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows-numerics",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows-result",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows-strings",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": false,
            "version": "0.45.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": false,
            "version": "0.48.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": false,
            "version": "0.52.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": false,
            "version": "0.59.0",
            "ecosystem": "crates"
          },
          {
            "name": "windows-sys",
            "direct": false,
            "version": "0.61.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-targets",
            "direct": false,
            "version": "0.42.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows-targets",
            "direct": false,
            "version": "0.48.5",
            "ecosystem": "crates"
          },
          {
            "name": "windows-targets",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows-threading",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "crates"
          },
          {
            "name": "windows_aarch64_gnullvm",
            "direct": false,
            "version": "0.42.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows_aarch64_gnullvm",
            "direct": false,
            "version": "0.48.5",
            "ecosystem": "crates"
          },
          {
            "name": "windows_aarch64_gnullvm",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_aarch64_msvc",
            "direct": false,
            "version": "0.42.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows_aarch64_msvc",
            "direct": false,
            "version": "0.48.5",
            "ecosystem": "crates"
          },
          {
            "name": "windows_aarch64_msvc",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_gnu",
            "direct": false,
            "version": "0.42.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_gnu",
            "direct": false,
            "version": "0.48.5",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_gnu",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_gnullvm",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_msvc",
            "direct": false,
            "version": "0.42.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_msvc",
            "direct": false,
            "version": "0.48.5",
            "ecosystem": "crates"
          },
          {
            "name": "windows_i686_msvc",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_gnu",
            "direct": false,
            "version": "0.42.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_gnu",
            "direct": false,
            "version": "0.48.5",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_gnu",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_gnullvm",
            "direct": false,
            "version": "0.42.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_gnullvm",
            "direct": false,
            "version": "0.48.5",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_gnullvm",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_msvc",
            "direct": false,
            "version": "0.42.2",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_msvc",
            "direct": false,
            "version": "0.48.5",
            "ecosystem": "crates"
          },
          {
            "name": "windows_x86_64_msvc",
            "direct": false,
            "version": "0.52.6",
            "ecosystem": "crates"
          },
          {
            "name": "winnow",
            "direct": false,
            "version": "0.7.15",
            "ecosystem": "crates"
          },
          {
            "name": "winnow",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "crates"
          },
          {
            "name": "wit-bindgen",
            "direct": false,
            "version": "0.51.0",
            "ecosystem": "crates"
          },
          {
            "name": "wit-bindgen",
            "direct": false,
            "version": "0.57.1",
            "ecosystem": "crates"
          },
          {
            "name": "wit-bindgen-core",
            "direct": false,
            "version": "0.51.0",
            "ecosystem": "crates"
          },
          {
            "name": "wit-bindgen-rust",
            "direct": false,
            "version": "0.51.0",
            "ecosystem": "crates"
          },
          {
            "name": "wit-bindgen-rust-macro",
            "direct": false,
            "version": "0.51.0",
            "ecosystem": "crates"
          },
          {
            "name": "wit-component",
            "direct": false,
            "version": "0.244.0",
            "ecosystem": "crates"
          },
          {
            "name": "wit-parser",
            "direct": false,
            "version": "0.244.0",
            "ecosystem": "crates"
          },
          {
            "name": "writeable",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "crates"
          },
          {
            "name": "xattr",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "crates"
          },
          {
            "name": "xml-rs",
            "direct": false,
            "version": "0.8.28",
            "ecosystem": "crates"
          },
          {
            "name": "xmltree",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "crates"
          },
          {
            "name": "yansi",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "crates"
          },
          {
            "name": "yoke",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "yoke-derive",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "zerocopy",
            "direct": false,
            "version": "0.8.48",
            "ecosystem": "crates"
          },
          {
            "name": "zerocopy-derive",
            "direct": false,
            "version": "0.8.48",
            "ecosystem": "crates"
          },
          {
            "name": "zerofrom",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "crates"
          },
          {
            "name": "zerofrom-derive",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "crates"
          },
          {
            "name": "zeroize",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "crates"
          },
          {
            "name": "zerotrie",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "crates"
          },
          {
            "name": "zerovec",
            "direct": false,
            "version": "0.11.6",
            "ecosystem": "crates"
          },
          {
            "name": "zerovec-derive",
            "direct": false,
            "version": "0.11.3",
            "ecosystem": "crates"
          },
          {
            "name": "zmij",
            "direct": false,
            "version": "1.0.21",
            "ecosystem": "crates"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.29.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.28.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-async-generators",
            "direct": false,
            "version": "7.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-dynamic-import",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-object-rest-spread",
            "direct": false,
            "version": "7.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-modules-commonjs",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@electron/get",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/remapping",
            "direct": false,
            "version": "2.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@juliangruber/tap-finished",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@ljharb/resumer",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@ljharb/through",
            "direct": false,
            "version": "2.3.14",
            "ecosystem": "npm"
          },
          {
            "name": "@sindresorhus/is",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@szmarczak/http-timer",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/cacheable-request",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/http-cache-semantics",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/keyv",
            "direct": false,
            "version": "3.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "22.19.13",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "24.12.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/responselike",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/tape",
            "direct": false,
            "version": "5.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yauzl",
            "direct": false,
            "version": "2.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@xmldom/xmldom",
            "direct": false,
            "version": "0.8.11",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-node",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "array-buffer-byte-length",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.every",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.flatmap",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "arraybuffer.prototype.slice",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "asap",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "asn1.js",
            "direct": false,
            "version": "4.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "assert",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "async-function",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "available-typed-arrays",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "babel-code-frame",
            "direct": false,
            "version": "6.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-messages",
            "direct": false,
            "version": "6.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-import-to-require",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-runtime",
            "direct": false,
            "version": "6.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-template",
            "direct": false,
            "version": "6.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-traverse",
            "direct": false,
            "version": "6.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-types",
            "direct": false,
            "version": "6.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "babylon",
            "direct": false,
            "version": "6.18.0",
            "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": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "4.12.3",
            "ecosystem": "npm"
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "boolean",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "brorand",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "browser-launcher",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "browser-pack",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "browser-resolve",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "browser-run",
            "direct": false,
            "version": "12.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "browserify",
            "direct": false,
            "version": "17.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-aes",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-cipher",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-des",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-rsa",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-sign",
            "direct": false,
            "version": "4.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-zlib",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-crc32",
            "direct": false,
            "version": "0.2.13",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-xor",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "builtin-status-codes",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cacheable-lookup",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "cacheable-request",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "cached-path-relative",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bound",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001776",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "charset",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cipher-base",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "clone-response",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "combine-source-map",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-stream",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-stream",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "console-browserify",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "constants-browserify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "content-disposition",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "core-js",
            "direct": false,
            "version": "2.6.12",
            "ecosystem": "npm"
          },
          {
            "name": "core-util-is",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "create-ecdh",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "create-hash",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "create-hmac",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "crypto-browserify",
            "direct": false,
            "version": "3.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "crypto-random-string",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cssauron",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "dash-ast",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "data-view-buffer",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "data-view-byte-length",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "data-view-byte-offset",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "2.6.9",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decompress-response",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-equal",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "defer-to-connect",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "define-data-property",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "define-properties",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "defined",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "deps-sort",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "des.js",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-node",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "detective",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "dezalgo",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "diffie-hellman",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "domain-browser",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "dotignore",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer",
            "direct": false,
            "version": "0.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer2",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer2",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "ecstatic",
            "direct": false,
            "version": "4.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "ee-first",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "electron",
            "direct": false,
            "version": "41.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "electron-stream",
            "direct": false,
            "version": "11.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.307",
            "ecosystem": "npm"
          },
          {
            "name": "elliptic",
            "direct": false,
            "version": "6.6.1",
            "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": "enstore",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ent",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "env-paths",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-abstract",
            "direct": false,
            "version": "1.24.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-get-iterator",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-shim-unscopables",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-to-primitive",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es6-error",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "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": "esmify",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "events",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "evp_bytestokey",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "extract-zip",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-safe-stringify",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "fd-slicer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fetch-cookie",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "for-each",
            "direct": false,
            "version": "0.3.5",
            "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": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "function.prototype.name",
            "direct": false,
            "version": "1.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "functions-have-names",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "generator-function",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-assigned-identifiers",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-package-type",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-symbol-description",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "global-agent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "9.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "globalthis",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "got",
            "direct": false,
            "version": "11.8.6",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "has-ansi",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-bigints",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-dynamic-import",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "has-property-descriptors",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-proto",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hash-base",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "hash-base",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "hash.js",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "he",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "headless",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "hmac-drbg",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "html-inject-script",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "html-select",
            "direct": false,
            "version": "2.3.24",
            "ecosystem": "npm"
          },
          {
            "name": "html-tokenize",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "htmlescape",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "http-cache-semantics",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "http2-wrapper",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "https-browserify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hyperstream",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "indexof",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "inline-source-map",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "insert-module-globals",
            "direct": false,
            "version": "7.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "internal-slot",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "invariant",
            "direct": false,
            "version": "2.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-arguments",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-array-buffer",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "is-async-function",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-bigint",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-boolean-object",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-buffer",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "is-callable",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.16.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-data-view",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-date-object",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-finalizationregistry",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-generator-function",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-map",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-negative-zero",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-number-object",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-regex",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-set",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-shared-array-buffer",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-string",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-symbol",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-typed-array",
            "direct": false,
            "version": "1.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "is-weakmap",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-weakref",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-weakset",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stringify-safe",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsonparse",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "JSONStream",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "labeled-stream-splicer",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "lit",
            "direct": false,
            "version": "^3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.23",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.memoize",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "loose-envify",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "lowercase-keys",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "matcher",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "md5.js",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "miller-rabin",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": false,
            "version": "2.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.18",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-response",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-response",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimalistic-assert",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimalistic-crypto-utils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "0.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp-classic",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "mock-property",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "module-deps",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "monotonic-timestamp",
            "direct": false,
            "version": "0.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "mri",
            "direct": false,
            "version": "^1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "node-exports-info",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.36",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-url",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "object-is",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "object-keys",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-keys",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object.assign",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "object.entries",
            "direct": false,
            "version": "1.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "on-finished",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "ordered-emitter",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "os-browserify",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "own-keys",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "p-cancelable",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "pako",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "parents",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-asn1",
            "direct": false,
            "version": "5.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "password-prompt",
            "direct": false,
            "version": "^1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "path-browserify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-inside",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-platform",
            "direct": false,
            "version": "0.11.15",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "pbkdf2",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "pend",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "plist",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "possible-typed-array-names",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "process",
            "direct": false,
            "version": "0.11.10",
            "ecosystem": "npm"
          },
          {
            "name": "process-nextick-args",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "progress",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "public-encrypt",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "pump",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "qrcode",
            "direct": false,
            "version": "^1.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "querystring-es3",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "quick-lru",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "randombytes",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "randomfill",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "range-parser",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-only-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "1.0.34",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "1.1.14",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "readable-wrap",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "reflect.getprototypeof",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "regenerator-runtime",
            "direct": false,
            "version": "0.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "regexp.prototype.flags",
            "direct": false,
            "version": "1.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.11",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "2.0.0-next.6",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-alpn",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "responselike",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ripemd160",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "roarr",
            "direct": false,
            "version": "2.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "safe-array-concat",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-push-apply",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "safe-regex-test",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "semver-compare",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-error",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "serve-handler",
            "direct": false,
            "version": "6.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "server-destroy",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "set-cookie-parser",
            "direct": false,
            "version": "2.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "set-function-length",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "set-function-name",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "set-proto",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "sha.js",
            "direct": false,
            "version": "2.4.12",
            "ecosystem": "npm"
          },
          {
            "name": "shasum-object",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "shell-quote",
            "direct": false,
            "version": "1.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-list",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-map",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-weakmap",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "simple-concat",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": false,
            "version": "0.4.18",
            "ecosystem": "npm"
          },
          {
            "name": "split",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "split",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "stop-iteration-iterator",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-browserify",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-combiner2",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "stream-combiner2",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "stream-http",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-read",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "stream-splicer",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "stream-splicer",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trim",
            "direct": false,
            "version": "1.2.10",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimend",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimstart",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "0.10.31",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "subarg",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "sumchecker",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-preserve-symlinks-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "syntax-error",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "tap-parser",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "tape",
            "direct": false,
            "version": "5.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tape-run",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "temp-dir",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tempy",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "through",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "through",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "through2",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "through2",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "through2",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "through2",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "throughout",
            "direct": false,
            "version": "0.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "timers-browserify",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "tldts",
            "direct": false,
            "version": "7.0.24",
            "ecosystem": "npm"
          },
          {
            "name": "tldts-core",
            "direct": false,
            "version": "7.0.24",
            "ecosystem": "npm"
          },
          {
            "name": "to-buffer",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "to-fast-properties",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "tough-cookie",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "trumpet",
            "direct": false,
            "version": "1.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "tty-browserify",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-buffer",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-byte-length",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-byte-offset",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "typed-array-length",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "typedarray",
            "direct": false,
            "version": "0.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "umd",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "unbox-primitive",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "undeclared-identifiers",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "unique-string",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "url",
            "direct": false,
            "version": "0.11.4",
            "ecosystem": "npm"
          },
          {
            "name": "url-join",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "utf8-stream",
            "direct": false,
            "version": "0.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "util",
            "direct": false,
            "version": "0.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "util",
            "direct": false,
            "version": "0.12.5",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "^5.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "vm-browserify",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-boxed-primitive",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "which-builtin-type",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "which-collection",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which-typed-array",
            "direct": false,
            "version": "1.1.20",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "xhr-write-stream",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "xmlbuilder",
            "direct": false,
            "version": "15.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "16.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "17.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "20.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yauzl",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 1204,
        "direct_count": 123,
        "indirect_count": 1081
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 17,
        "merged_prs": 299,
        "open_issues": 57,
        "closed_ratio": 0.581,
        "closed_issues": 79,
        "closed_unmerged_prs": 57
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "Nuhvi",
          "commits": 414,
          "avatar_url": "https://avatars.githubusercontent.com/u/40009100?v=4"
        },
        {
          "type": "User",
          "login": "SeverinAlexB",
          "commits": 79,
          "avatar_url": "https://avatars.githubusercontent.com/u/8782386?v=4"
        },
        {
          "type": "User",
          "login": "SHAcollision",
          "commits": 52,
          "avatar_url": "https://avatars.githubusercontent.com/u/127778313?v=4"
        },
        {
          "type": "User",
          "login": "86667",
          "commits": 48,
          "avatar_url": "https://avatars.githubusercontent.com/u/55086152?v=4"
        },
        {
          "type": "User",
          "login": "ok300",
          "commits": 33,
          "avatar_url": "https://avatars.githubusercontent.com/u/106775972?v=4"
        },
        {
          "type": "User",
          "login": "andrei-21",
          "commits": 29,
          "avatar_url": "https://avatars.githubusercontent.com/u/92177534?v=4"
        },
        {
          "type": "User",
          "login": "MCarlomagno",
          "commits": 18,
          "avatar_url": "https://avatars.githubusercontent.com/u/14266096?v=4"
        },
        {
          "type": "User",
          "login": "catch-21",
          "commits": 17,
          "avatar_url": "https://avatars.githubusercontent.com/u/74595920?v=4"
        },
        {
          "type": "User",
          "login": "evd0kim",
          "commits": 9,
          "avatar_url": "https://avatars.githubusercontent.com/u/15425710?v=4"
        },
        {
          "type": "User",
          "login": "SpontaneousOverthrow",
          "commits": 8,
          "avatar_url": "https://avatars.githubusercontent.com/u/28765844?v=4"
        }
      ],
      "contributors_sampled": 16,
      "top_contributor_share": 0.575
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build-artifacts.yml",
        "context7-sync.yml",
        "docker.yml",
        "pr-check.yml",
        "pr-labels.yml",
        "release.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "Cargo.lock",
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 1,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 9,
            "reason": "29 out of 30 merged PRs checked by a CI test -- score normalized to 9",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 5 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 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": "32 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "4044c80afcf8eba65d7d797edc206fae6719866f",
        "ran_at": "2026-07-22T18:44:22Z",
        "aggregate_score": 5,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-22T15:29:19Z",
      "oldest_open_prs": [
        {
          "number": 271,
          "created_at": "2025-11-20T08:10:27Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 296,
          "created_at": "2026-01-08T09:32:10Z",
          "last_comment_at": "2026-01-13T09:04:20Z",
          "last_comment_author": "xwid138"
        },
        {
          "number": 300,
          "created_at": "2026-01-21T11:34:08Z",
          "last_comment_at": "2026-07-03T11:54:31Z",
          "last_comment_author": "SeverinAlexB"
        },
        {
          "number": 327,
          "created_at": "2026-02-26T17:53:05Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 366,
          "created_at": "2026-04-06T09:25:15Z",
          "last_comment_at": "2026-04-21T08:16:14Z",
          "last_comment_author": "SeverinAlexB"
        },
        {
          "number": 430,
          "created_at": "2026-06-13T10:44:33Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 451,
          "created_at": "2026-06-22T21:09:40Z",
          "last_comment_at": "2026-07-22T16:31:29Z",
          "last_comment_author": "SpontaneousOverthrow"
        },
        {
          "number": 473,
          "created_at": "2026-07-01T13:08:05Z",
          "last_comment_at": "2026-07-03T14:18:04Z",
          "last_comment_author": "86667"
        },
        {
          "number": 475,
          "created_at": "2026-07-02T11:17:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 477,
          "created_at": "2026-07-02T14:26:51Z",
          "last_comment_at": "2026-07-03T07:55:23Z",
          "last_comment_author": "86667"
        },
        {
          "number": 483,
          "created_at": "2026-07-07T07:10:35Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 493,
          "created_at": "2026-07-13T13:32:25Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 496,
          "created_at": "2026-07-14T12:25:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 500,
          "created_at": "2026-07-16T10:34:02Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 501,
          "created_at": "2026-07-16T12:53:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 505,
          "created_at": "2026-07-17T22:08:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 510,
          "created_at": "2026-07-22T12:03:48Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-22T14:34:04Z",
      "ci_last_conclusion": "CANCELLED",
      "oldest_open_issues": [
        {
          "number": 1,
          "created_at": "2024-03-31T09:58:00Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 4,
          "created_at": "2024-04-10T07:47:47Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 7,
          "created_at": "2024-05-31T16:46:59Z",
          "last_comment_at": "2024-06-03T05:24:18Z",
          "last_comment_author": "Nuhvi"
        },
        {
          "number": 12,
          "created_at": "2024-06-01T11:34:22Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 14,
          "created_at": "2024-06-01T11:53:04Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 15,
          "created_at": "2024-06-02T05:39:50Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 18,
          "created_at": "2024-07-15T12:19:03Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 29,
          "created_at": "2024-09-03T08:36:46Z",
          "last_comment_at": "2024-12-23T12:57:07Z",
          "last_comment_author": "Nuhvi"
        },
        {
          "number": 30,
          "created_at": "2024-09-07T08:27:49Z",
          "last_comment_at": "2024-10-11T13:25:30Z",
          "last_comment_author": "Nuhvi"
        },
        {
          "number": 49,
          "created_at": "2024-10-18T13:58:17Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 84,
          "created_at": "2025-03-04T19:42:10Z",
          "last_comment_at": "2025-04-07T16:42:54Z",
          "last_comment_author": "SeverinAlexB"
        },
        {
          "number": 97,
          "created_at": "2025-04-01T15:47:16Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 99,
          "created_at": "2025-04-07T10:49:37Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 103,
          "created_at": "2025-04-18T06:50:34Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 107,
          "created_at": "2025-04-21T12:15:23Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 122,
          "created_at": "2025-05-08T09:52:20Z",
          "last_comment_at": "2026-07-22T15:11:15Z",
          "last_comment_author": "SeverinAlexB"
        },
        {
          "number": 123,
          "created_at": "2025-05-09T07:27:40Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 137,
          "created_at": "2025-05-21T06:20:18Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 140,
          "created_at": "2025-05-21T15:38:47Z",
          "last_comment_at": "2025-06-23T20:44:32Z",
          "last_comment_author": "evd0kim"
        },
        {
          "number": 146,
          "created_at": "2025-06-02T16:46:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/pubky/pubky-core",
    "host": "github.com",
    "name": "pubky-core",
    "owner": "pubky"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 69,
      "inputs": {
        "security": 54,
        "vitality": 92,
        "community": 50,
        "governance": 67,
        "engineering": 76
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 92,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 93,
            "inputs": {
              "commits_last_year": 230,
              "human_commit_share": 0.97,
              "days_since_last_push": 0,
              "active_weeks_last_year": 42
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "42/52 weeks with commits",
                "points": 29.1,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 42
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "230 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 230
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 14,
              "latest_release_tag": "v0.10.0-alpha.0",
              "releases_from_tags": false,
              "days_since_latest_release": 23,
              "mean_days_between_releases": 37.3
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "14 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 23 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 23
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~37.3 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 37.3
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 50,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "at_risk",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 46,
            "inputs": {
              "forks": 30,
              "stars": 83,
              "watchers": 5,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "83 stars",
                "points": 31,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 83
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "30 forks",
                "points": 12.2,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 30
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "5 watchers",
                "points": 3.3,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 57,
            "inputs": {
              "packages": [
                "pubky",
                "pubky-common",
                "pubky-testnet",
                "pubky-homeserver"
              ],
              "dependents": null,
              "ecosystems": "crates",
              "total_downloads": 61778,
              "monthly_downloads": 2626
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "2,626 downloads/month across crates",
                "points": 45.6,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 2626,
                      "ecosystems": "crates"
                    }
                  }
                ],
                "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": 42,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 16,
              "top_contributor_share": 0.575
            },
            "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 57% of commits",
                "points": 9.6,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 57
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "16 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 16
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "merged_prs": 299,
              "open_issues": 57,
              "closed_issues": 79,
              "issue_closed_ratio": 0.581,
              "closed_unmerged_prs": 57
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "58% of issues closed",
                "points": 27.2,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 58
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "299/356 decided PRs merged",
                "points": 32.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 299,
                      "decided": 356
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 63,
            "inputs": {
              "followers": 149,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "pubky",
              "public_repos": 52,
              "account_age_days": 931
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "149 followers of pubky",
                "points": 15.6,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 149,
                      "login": "pubky"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "52 public repos, account ~2 yr old",
                "points": 17.7,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 52
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 2
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "pubky",
                "pubky-common",
                "pubky-testnet",
                "pubky-homeserver"
              ],
              "ecosystems": "crates",
              "any_deprecated": false,
              "min_days_since_publish": 23
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "4 package(s) on crates",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 4,
                      "ecosystems": "crates"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 23 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 23
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "31 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 31
                    }
                  }
                ],
                "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": 76,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 66,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "6 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "29 out of 30 merged PRs checked by a CI test -- score normalized to 9",
                "points": 18,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [
                "client-server",
                "cloud",
                "publickey-authentication",
                "web",
                "pkarr"
              ],
              "has_wiki": false,
              "homepage": "https://docs.pubky.org",
              "has_readme": true,
              "has_docs_dir": true,
              "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": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://docs.pubky.org",
                "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": "5 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 54,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 18,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 0,
              "scorecard_aggregate": 5
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "29 out of 30 merged PRs checked by a CI test -- score normalized to 9",
                "points": 2.2,
                "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": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "32 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 1134 resolved dependencies against OSV; 70 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 1134
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 70
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 71,
            "inputs": {
              "source": "osv",
              "advisories": 33,
              "affected_packages": 20,
              "assessed_packages": 1134,
              "unassessed_packages": 70,
              "affected_by_severity": "critical 3, high 6, moderate 7, low 1, unknown 3",
              "direct_affected_packages": 2
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "2 affected: jsonwebtoken 9.3.1 (moderate 5.3), opentelemetry_sdk 0.29.0 (moderate 5.3)",
                "points": 17.8,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 2,
                      "packages": "jsonwebtoken 9.3.1 (moderate 5.3), opentelemetry_sdk 0.29.0 (moderate 5.3)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 168 days ago",
                "points": 35.3,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 1,
                      "oldest": 168
                    }
                  }
                ],
                "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": 1134,
              "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": 3
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 60,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "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": "97 of 97 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 97,
                      "sampled": 97
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "Cargo.lock",
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "pubky-sdk/bindings/js/pkg/tsconfig.json"
              ],
              "agent_commit_share": 0.02,
              "toolchain_manifests": [
                "Cargo.toml",
                "e2e/Cargo.toml",
                "examples/rust/Cargo.toml",
                "pubky-common/Cargo.toml",
                "pubky-homeserver/Cargo.toml",
                "pubky-sdk/Cargo.toml",
                "pubky-sdk/bindings/js/Cargo.toml",
                "pubky-testnet/Cargo.toml",
                "test_utils/drop_db_helper/Cargo.toml",
                "test_utils/pubky_test/Cargo.toml",
                "test_utils/test_macro/Cargo.toml"
              ],
              "dependency_bot_commit_share": 0.03
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Cargo.toml, e2e/Cargo.toml, examples/rust/Cargo.toml (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "Cargo.toml, e2e/Cargo.toml, examples/rust/Cargo.toml"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "pubky-sdk/bindings/js/pkg/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "pubky-sdk/bindings/js/pkg/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "2 of the last 100 commits agent-authored or agent-credited",
                "points": 4,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 2,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "3 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 3,
                      "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": "Rust",
              "largest_source_bytes": 52535,
              "source_files_sampled": 369,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Rust (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Rust"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/369 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 369,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "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",
    "crates package 'e2e' points at a different repository (https://github.com/popzxc/e2e); excluded from ecosystem scoring"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-22T18:44:45.280597Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/p/pubky/pubky-core.svg",
  "full_name": "pubky/pubky-core",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.26.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticscrates.io.