Public record
Software health reportschema 0.30.0 · metrics 2.3.1 · 2026-08-03 00:44 UTC

binwiederhier / ntfy

Send push notifications to your phone or desktop using PUT/POST

Go · JavaScriptApache-2.0★ 32,769 stars⑂ 1,483 forkssince Oct 2021View on GitHub ↗
KindCommand-line toolWeb interfacehow this is determined

binwiederhier/ntfy holds a health index of 92 out of 100, placing it in the Excellent band. It scores highest on Vitality (95/100) and lowest on Security (52/100). It was last updated today. A single contributor accounts for most of its recent work.

92
overall / 100
Excellent

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean, calibrated against the distribution of the public record so bands carry percentile meaning; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At Risk ceiling of 34.

92
Exceptional93-100The record's top tier (≈ top 5%); essentially all checked criteria met
Excellent80-92Strong across the board; minor gaps
Good65-79Healthy; gaps are limited and manageable
Moderate50-64Acceptable with notable gaps; review recommended
Weak35-49Material weaknesses across several areas
At Risk20-34Significant weaknesses; adoption warrants caution
Critical1-19Severe 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.

The weighted overall 78 is calibrated to 92 on the published index scale (record calibration 2026-08-02).

Ownership

Philipp C. HeckelPersonal account
1,118 followers99 public repossince Mar 2011ntfy.sh

This repository is owned by a personal account. A single-owner project carries more continuity risk than an organization-backed one.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
Goheckel.io/ntfy/v2v2.26.3-3913 days ago

Metrics by category

Vitality

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

95Exceptional · 21% of overall
How it's scored
36/36Push recency — last push 0 days ago
35.3/36Commit cadence — 51/52 weeks with commits
18/18Commit volume — 887 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 6 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year887
human_commit_share0.97
days_since_last_push0
active_weeks_last_year51
How it's scored
27/27Ships releases — 100 releases published
36/36Release recency — latest release 13 days ago
27/27Release cadence — a release every ~14 days
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Inputs used
releases_count100
latest_release_tagv2.26.3
releases_from_tagsno
days_since_latest_release13
mean_days_between_releases14

Community & Adoption

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

91Excellent · 17% of overall
How it's scored
60/60Stars — 32,769 stars
25/25Forks — 1,483 forks
11/15Watchers — 95 watchers
Inputs used
forks1,483
stars32,769
watchers95
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

Community health

85Excellent
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (Apache-2.0)
18/18CONTRIBUTING guide
13.5/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
readme_badges9
has_contributingyes
has_issue_templateno
has_code_of_conductyes
readme_badge_servicescodecov.io, github.com, goreportcard.com, pkg.go.dev, shields.io
has_pull_request_templateno

Sustainability & Governance

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

63Moderate · 23% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
6.6/22.5Commit distribution — top contributor authored 71% of commits
13.5/13.5Contributor breadth — 99 contributors
10/10OpenSSF Scorecard: Contributors — project has 25 contributing companies or organizations
Inputs used
bus_factor1
contributors_sampled99
top_contributor_share0.707
How it's scored
31.4/42Issue resolution — 75% of issues closed
22.6/30PR acceptance — 415/550 decided PRs merged
0/13Newcomer PR acceptance — 0/2 first-time contributors' PRs merged in 30d
0/15OpenSSF Scorecard: Code-Review — Found 0/21 approved changesets -- score normalized to 0
Inputs used
merged_prs415
open_issues321
closed_issues947
prs_merged_7d4
prs_decided_7d6
prs_merged_30d6
prs_decided_30d10
issue_closed_ratio0.747
closed_unmerged_prs135
first_time_authors_30d2
first_time_prs_merged_30d0
first_time_prs_decided_30d2
How it's scored
10/30Ownership backing — personal (user) account
0/20Verified domain — not applicable to user accounts
21.9/25Owner reach — 1,118 followers of binwiederhier
25/25Track record — 99 public repos, account ~15 yr old
Inputs used
followers1,118
owner_typeUser
is_verified
owner_loginbinwiederhier
public_repos99
account_age_days5,623
Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.

Package maintenance

100Exceptional
How it's scored
25/25Published & resolvable — 1 package(s) on go
35/35Publish recency — latest publish 13 days ago
20/20Version history — 39 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesheckel.io/ntfy/v2
ecosystemsgo
any_deprecatedno
min_days_since_publish13

Engineering Quality

Are baseline engineering and documentation practices in place?

90Excellent · 19% of overall
How it's scored
24/24CI workflows — 4 workflow(s)
24/24Tests present
16/16Linter config — .eslintrc
0/9.6Pre-commit hooks
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 5 out of 5 merged PRs checked by a CI test -- score normalized to 10
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configyes
has_precommit_configno

Documentation

100Exceptional
How it's scored
30/30README
25/25Documentation directory
15/15Documentation / homepage site — https://ntfy.sh
10/10Repository description
10/10Topics — 7 topics
10/10Wiki
Inputs used
topicsrest-api, pubsub, notifications, curl, push-notifications, ntfy, ntfysh
has_wikiyes
homepagehttps://ntfy.sh
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

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

52Moderate · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2.5/2.5CI-Tests — 5 out of 5 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/21 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 25 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 6 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — no data
2/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 4
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
5/5Security-Policy — security policy file 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 — 11 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate4.7
Excluded from scoring (no data or not applicable): packaging. Remaining weights renormalized.
How it's scored
14.6/35Direct dependencies free of known advisories — 2 affected: react-router-dom 6.30.4 (moderate 6.9), golang.org/x/crypto v0.53.0 (unknown)
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
40/40No advisories left outstanding — no advisory has been public longer than 90 days
Inputs used
sourceosv
advisories16
affected_packages10
assessed_packages756
unassessed_packages2
affected_by_severitycritical 1, high 6, moderate 2, unknown 1
direct_affected_packages2
Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 756 resolved dependencies against OSV. 2 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? Carries a deliberately small weight (4%): agent tooling is a real maintenance signal, but a repository with none can still reach 100/100.

60Moderate · 4% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
17/40Legible commit history — 31 of 97 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.32
agent_instruction_files
agent_instruction_max_bytes
How it's scored
18/18One-command bootstrap — Makefile
22/22Automated tests
11/11Lint / format config — .eslintrc
11/11Static type checking — web/jsconfig.json
10/10Reproducible environment — Dockerfile, lockfile
0/10Demonstrated agent practice — no agent-authored commits among the last 100
8/8Automated maintenance — 3 of the last 100 commits are automated dependency updates
4/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 4
Inputs used
has_nixno
has_testsyes
lockfilesgo.sum, package-lock.json
has_dockerfileyes
typed_languageyes
bootstrap_filesMakefile
has_devcontainerno
has_linter_configyes
typecheck_configsweb/jsconfig.json
agent_commit_share0
toolchain_manifestsgo.mod, tools/loadtest/go.mod
dependency_bot_commit_share0.03
How it's scored
45/45Type-checkable code — Go (statically typed)
53.9/55Manageable file sizes — 6/293 source files over 60KB
Inputs used
primary_languageGo
largest_source_bytes303,569
source_files_sampled293
oversized_source_files6
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

32,769GitHub stars
99contributors
887commits, last 12 months
0days since last push
100releases
1bus factor
321open issues
Go, npm, PyPIpackage ecosystems

Data collection warnings

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

More detail

Star and fork history 0 ★ / 1,483 ⇿
0Stars
1,483Forks
23Releases

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.

Only the most recent history is shown — this repository exceeds the collection window, so the earliest history is not captured.

05001,0001,5001,483382023-112025-032026-07
Major 0Minor 19Patch 4

Each point covers 3 days.

OpenSSF Scorecard 4.7 / 10
4.7aggregate

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-08-03 00:43 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
10CI-Tests5 out of 5 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/21 approved changesets -- score normalized to 0
10Contributorsproject has 25 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 6 issue activity found in the last 90 days -- score normalized to 10
n/aPackagingpackaging workflow not detected
4Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 4
0SASTSAST tool is not run on all commits -- score normalized to 0
10Security-Policysecurity policy file detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities11 existing vulnerabilities detected
Direct dependencies 39
RegistryPackageVersion constraintManifest
Gogithub.com/emersion/go-smtpv0.24.0go.mod
Gogithub.com/gabriel-vasile/mimetypev1.4.13go.mod
Gogithub.com/gorilla/websocketv1.5.3go.mod
Gogithub.com/mattn/go-sqlite3v1.14.47go.mod
Gogithub.com/olebedev/whenv1.1.0go.mod
Gogithub.com/stretchr/testifyv1.11.1go.mod
Gogithub.com/urfave/cli/v2v2.27.7go.mod
Gogolang.org/x/cryptov0.53.0go.mod
Gogolang.org/x/syncv0.21.0go.mod
Gogolang.org/x/termv0.44.0go.mod
Gogolang.org/x/timev0.15.0go.mod
Gogoogle.golang.org/apiv0.287.0go.mod
Gogopkg.in/yaml.v2v2.4.0go.mod
Gofirebase.google.com/go/v4v4.20.0go.mod
Gogithub.com/SherClockHolmes/webpush-gov1.4.0go.mod
Gogithub.com/jackc/pgx/v5v5.10.0go.mod
Gogithub.com/microcosm-cc/bluemondayv1.0.27go.mod
Gogithub.com/prometheus/client_golangv1.23.2go.mod
Gogithub.com/stripe/stripe-go/v74v74.30.0go.mod
Gogolang.org/x/sysv0.46.0go.mod
Gogolang.org/x/textv0.39.0go.mod
npm@emotion/cache^11.11.0web/package.json
npm@emotion/react^11.11.0web/package.json
npm@emotion/styled^11.11.0web/package.json
npm@mui/icons-material^9.1.1web/package.json
npm@mui/material^9.1.2web/package.json
npmdexie^4.4.4web/package.json
npmdexie-react-hooks^4.4.0web/package.json
npmi18next^21.6.14web/package.json
npmi18next-browser-languagedetector^8.2.1web/package.json
npmi18next-http-backend^4.0.0web/package.json
npmreactlatestweb/package.json
npmreact-domlatestweb/package.json
npmreact-i18next^11.16.2web/package.json
npmreact-infinite-scroll-component^7.2.1web/package.json
npmreact-remark^2.1.0web/package.json
npmreact-router-dom^6.30.4web/package.json
npmstylis^4.3.0web/package.json
npmstylis-plugin-rtl^2.1.1web/package.json
All dependencies 758

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

RegistryPackageVersionRelation
Gofirebase.google.com/go/v4v4.20.0direct
Gogithub.com/gabriel-vasile/mimetypev1.4.13direct
Gogithub.com/gorilla/websocketv1.5.3direct
Gogithub.com/jackc/pgx/v5v5.10.0direct
Gogithub.com/mattn/go-sqlite3v1.14.47direct
Gogithub.com/microcosm-cc/bluemondayv1.0.27direct
Gogithub.com/olebedev/whenv1.1.0direct
Gogithub.com/prometheus/client_golangv1.23.2direct
Gogithub.com/sherclockholmes/webpush-gov1.4.0direct
Gogithub.com/stretchr/testifyv1.11.1direct
Gogithub.com/stripe/stripe-go/v74v74.30.0direct
Gogithub.com/urfave/cli/v2v2.27.7direct
Gogolang.org/x/cryptov0.53.0direct
Gogolang.org/x/syncv0.21.0direct
Gogolang.org/x/sysv0.46.0direct
Gogolang.org/x/termv0.44.0direct
Gogolang.org/x/textv0.39.0direct
Gogolang.org/x/timev0.15.0direct
Gogoogle.golang.org/apiv0.287.0direct
Gogopkg.in/yaml.v2v2.4.0direct
npm@emotion/cache11.14.0direct
npm@emotion/react11.14.0direct
npm@emotion/styled11.14.1direct
npm@mui/icons-material9.1.1direct
npm@mui/material9.1.2direct
npmdexie4.4.4direct
npmdexie-react-hooks4.4.0direct
npmi18next21.10.0direct
npmi18next-browser-languagedetector8.2.1direct
npmi18next-http-backend4.0.0direct
npmreact19.2.7direct
npmreact-dom19.2.7direct
npmreact-i18next11.18.6direct
npmreact-infinite-scroll-component7.2.1direct
npmreact-remark2.1.0direct
npmreact-router-dom6.30.4direct
npmstylis4.2.0direct
npmstylis4.4.0direct
npmstylis-plugin-rtl2.1.1direct
Gocel.dev/exprv0.25.2indirect
Gocloud.google.com/gov0.123.0indirect
Gocloud.google.com/go/authv0.20.0indirect
Gocloud.google.com/go/auth/oauth2adaptv0.2.8indirect
Gocloud.google.com/go/compute/metadatav0.9.0indirect
Gocloud.google.com/go/firestorev1.22.0indirect
Gocloud.google.com/go/iamv1.11.0indirect
Gocloud.google.com/go/longrunningv1.1.0indirect
Gocloud.google.com/go/monitoringv1.29.0indirect
Gocloud.google.com/go/storagev1.63.0indirect
Gogithub.com/aleksi/pointerv1.2.0indirect
Gogithub.com/aymerick/douceurv0.2.0indirect
Gogithub.com/beorn7/perksv1.0.1indirect
Gogithub.com/burntsushi/tomlv1.6.0indirect
Gogithub.com/cespare/xxhash/v2v2.3.0indirect
Gogithub.com/cncf/xds/gov0.0.0-20260202195803-dba9d589def2indirect
Gogithub.com/cpuguy83/go-md2man/v2v2.0.7indirect
Gogithub.com/davecgh/go-spewv1.1.2-0.20180830191138-d8f796af33ccindirect
Gogithub.com/emersion/go-saslv0.0.0-20241020182733-b788ff22d5a6indirect
Gogithub.com/envoyproxy/go-control-plane/envoyv1.37.0indirect
Gogithub.com/envoyproxy/protoc-gen-validatev1.3.3indirect
Gogithub.com/felixge/httpsnoopv1.1.0indirect
Gogithub.com/go-jose/go-jose/v4v4.1.4indirect
Gogithub.com/go-logr/logrv1.4.3indirect
Gogithub.com/go-logr/stdrv1.2.2indirect
Gogithub.com/golang-jwt/jwt/v4v4.5.2indirect
Gogithub.com/golang-jwt/jwt/v5v5.3.1indirect
Gogithub.com/golang/protobufv1.5.4indirect
Gogithub.com/google/s2a-gov0.1.9indirect
Gogithub.com/google/uuidv1.6.0indirect
Gogithub.com/googleapis/enterprise-certificate-proxyv0.3.17indirect
Gogithub.com/googleapis/gax-go/v2v2.22.0indirect
Gogithub.com/googlecloudplatform/opentelemetry-operations-go/detectors/gcpv1.33.0indirect
Gogithub.com/googlecloudplatform/opentelemetry-operations-go/exporter/metricv0.57.0indirect
Gogithub.com/googlecloudplatform/opentelemetry-operations-go/internal/resourcemappingv0.57.0indirect
Gogithub.com/gorilla/cssv1.0.1indirect
Gogithub.com/jackc/pgpassfilev1.0.0indirect
Gogithub.com/jackc/pgservicefilev0.0.0-20240606120523-5a60cdf6a761indirect
Gogithub.com/jackc/puddle/v2v2.2.2indirect
Gogithub.com/micahparks/keyfuncv1.9.0indirect
Gogithub.com/munnerz/goautonegv0.0.0-20191010083416-a7dc8b61c822indirect
Gogithub.com/pkg/errorsv0.9.1indirect
Gogithub.com/planetscale/vtprotobufv0.6.1-0.20240319094008-0393e58bdf10indirect
Gogithub.com/pmezard/go-difflibv1.0.1-0.20181226105442-5d4384ee4fb2indirect
Gogithub.com/prometheus/client_modelv0.6.2indirect
Gogithub.com/prometheus/commonv0.69.0indirect
Gogithub.com/prometheus/procfsv0.21.1indirect
Gogithub.com/russross/blackfriday/v2v2.1.0indirect
Gogithub.com/spiffe/go-spiffe/v2v2.8.1indirect
Gogithub.com/stretchr/objxv0.5.2indirect
Gogithub.com/xrash/smetricsv0.0.0-20250705151800-55b8f293f342indirect
Gogo.opentelemetry.io/auto/sdkv1.2.1indirect
Gogo.opentelemetry.io/contrib/detectors/gcpv1.44.0indirect
Gogo.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpcv0.69.0indirect
Gogo.opentelemetry.io/contrib/instrumentation/net/http/otelhttpv0.69.0indirect
Gogo.opentelemetry.io/otelv1.44.0indirect
Gogo.opentelemetry.io/otel/metricv1.44.0indirect
Gogo.opentelemetry.io/otel/sdkv1.44.0indirect
Gogo.opentelemetry.io/otel/sdk/metricv1.44.0indirect
Gogo.opentelemetry.io/otel/tracev1.44.0indirect
Gogolang.org/x/netv0.56.0indirect
Gogolang.org/x/oauth2v0.36.0indirect
Gogoogle.golang.org/appengine/v2v2.0.6indirect
Gogoogle.golang.org/genprotov0.0.0-20260630182238-925bb5da69e7indirect
Gogoogle.golang.org/genproto/googleapis/apiv0.0.0-20260630182238-925bb5da69e7indirect
Gogoogle.golang.org/genproto/googleapis/rpcv0.0.0-20260630182238-925bb5da69e7indirect
Gogoogle.golang.org/grpcv1.82.0indirect
Gogoogle.golang.org/protobufv1.36.11indirect
Gogopkg.in/yaml.v3v3.0.1indirect
npm@apideck/better-ajv-errors0.3.7indirect
npm@babel/code-frame7.29.7indirect
npm@babel/compat-data7.29.7indirect
npm@babel/core7.29.7indirect
npm@babel/generator7.29.7indirect
npm@babel/helper-annotate-as-pure7.29.7indirect
npm@babel/helper-compilation-targets7.29.7indirect
npm@babel/helper-create-class-features-plugin7.29.7indirect
npm@babel/helper-create-regexp-features-plugin7.29.7indirect
npm@babel/helper-define-polyfill-provider0.6.8indirect
npm@babel/helper-globals7.29.7indirect
npm@babel/helper-member-expression-to-functions7.29.7indirect
npm@babel/helper-module-imports7.29.7indirect
npm@babel/helper-module-transforms7.29.7indirect
npm@babel/helper-optimise-call-expression7.29.7indirect
npm@babel/helper-plugin-utils7.29.7indirect
npm@babel/helper-remap-async-to-generator7.29.7indirect
npm@babel/helper-replace-supers7.29.7indirect
npm@babel/helper-skip-transparent-expression-wrappers7.29.7indirect
npm@babel/helper-string-parser7.29.7indirect
npm@babel/helper-validator-identifier7.29.7indirect
npm@babel/helper-validator-option7.29.7indirect
npm@babel/helper-wrap-function7.29.7indirect
npm@babel/helpers7.29.7indirect
npm@babel/parser7.29.7indirect
npm@babel/plugin-bugfix-firefox-class-in-computed-class-key7.29.7indirect
npm@babel/plugin-bugfix-safari-class-field-initializer-scope7.29.7indirect
npm@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression7.29.7indirect
npm@babel/plugin-bugfix-safari-rest-destructuring-rhs-array7.29.7indirect
npm@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining7.29.7indirect
npm@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly7.29.7indirect
npm@babel/plugin-proposal-private-property-in-object7.21.0-placeholder-for-preset-env.2indirect
npm@babel/plugin-syntax-import-assertions7.29.7indirect
npm@babel/plugin-syntax-import-attributes7.29.7indirect
npm@babel/plugin-syntax-unicode-sets-regex7.18.6indirect
npm@babel/plugin-transform-arrow-functions7.29.7indirect
npm@babel/plugin-transform-async-generator-functions7.29.7indirect
npm@babel/plugin-transform-async-to-generator7.29.7indirect
npm@babel/plugin-transform-block-scoped-functions7.29.7indirect
npm@babel/plugin-transform-block-scoping7.29.7indirect
npm@babel/plugin-transform-class-properties7.29.7indirect
npm@babel/plugin-transform-class-static-block7.29.7indirect
npm@babel/plugin-transform-classes7.29.7indirect
npm@babel/plugin-transform-computed-properties7.29.7indirect
npm@babel/plugin-transform-destructuring7.29.7indirect
npm@babel/plugin-transform-dotall-regex7.29.7indirect
npm@babel/plugin-transform-duplicate-keys7.29.7indirect
npm@babel/plugin-transform-duplicate-named-capturing-groups-regex7.29.7indirect
npm@babel/plugin-transform-dynamic-import7.29.7indirect
npm@babel/plugin-transform-explicit-resource-management7.29.7indirect
npm@babel/plugin-transform-exponentiation-operator7.29.7indirect
npm@babel/plugin-transform-export-namespace-from7.29.7indirect
npm@babel/plugin-transform-for-of7.29.7indirect
npm@babel/plugin-transform-function-name7.29.7indirect
npm@babel/plugin-transform-json-strings7.29.7indirect
npm@babel/plugin-transform-literals7.29.7indirect
npm@babel/plugin-transform-logical-assignment-operators7.29.7indirect
npm@babel/plugin-transform-member-expression-literals7.29.7indirect
npm@babel/plugin-transform-modules-amd7.29.7indirect
npm@babel/plugin-transform-modules-commonjs7.29.7indirect
npm@babel/plugin-transform-modules-systemjs7.29.7indirect
npm@babel/plugin-transform-modules-umd7.29.7indirect
npm@babel/plugin-transform-named-capturing-groups-regex7.29.7indirect
npm@babel/plugin-transform-new-target7.29.7indirect
npm@babel/plugin-transform-nullish-coalescing-operator7.29.7indirect
npm@babel/plugin-transform-numeric-separator7.29.7indirect
npm@babel/plugin-transform-object-rest-spread7.29.7indirect
npm@babel/plugin-transform-object-super7.29.7indirect
npm@babel/plugin-transform-optional-catch-binding7.29.7indirect
npm@babel/plugin-transform-optional-chaining7.29.7indirect
npm@babel/plugin-transform-parameters7.29.7indirect
npm@babel/plugin-transform-private-methods7.29.7indirect
npm@babel/plugin-transform-private-property-in-object7.29.7indirect
npm@babel/plugin-transform-property-literals7.29.7indirect
npm@babel/plugin-transform-regenerator7.29.7indirect
npm@babel/plugin-transform-regexp-modifiers7.29.7indirect
npm@babel/plugin-transform-reserved-words7.29.7indirect
npm@babel/plugin-transform-shorthand-properties7.29.7indirect
npm@babel/plugin-transform-spread7.29.7indirect
npm@babel/plugin-transform-sticky-regex7.29.7indirect
npm@babel/plugin-transform-template-literals7.29.7indirect
npm@babel/plugin-transform-typeof-symbol7.29.7indirect
npm@babel/plugin-transform-unicode-escapes7.29.7indirect
npm@babel/plugin-transform-unicode-property-regex7.29.7indirect
npm@babel/plugin-transform-unicode-regex7.29.7indirect
npm@babel/plugin-transform-unicode-sets-regex7.29.7indirect
npm@babel/preset-env7.29.7indirect
npm@babel/preset-modules0.1.6-no-external-pluginsindirect
npm@babel/runtime7.29.7indirect
npm@babel/template7.29.7indirect
npm@babel/traverse7.29.7indirect
npm@babel/types7.29.7indirect
npm@emnapi/core1.11.1indirect
npm@emnapi/runtime1.11.1indirect
npm@emnapi/wasi-threads1.2.2indirect
npm@emotion/babel-plugin11.13.5indirect
npm@emotion/hash0.9.2indirect
npm@emotion/is-prop-valid1.4.0indirect
npm@emotion/memoize0.9.0indirect
npm@emotion/serialize1.3.3indirect
npm@emotion/sheet1.4.0indirect
npm@emotion/unitless0.10.0indirect
npm@emotion/use-insertion-effect-with-fallbacks1.2.0indirect
npm@emotion/utils1.4.2indirect
npm@emotion/weak-memoize0.4.0indirect
npm@eslint-community/eslint-utils4.9.1indirect
npm@eslint-community/regexpp4.12.2indirect
npm@eslint/eslintrc2.1.4indirect
npm@eslint/js8.57.1indirect
npm@humanwhocodes/config-array0.13.0indirect
npm@humanwhocodes/module-importer1.0.1indirect
npm@humanwhocodes/object-schema2.0.3indirect
npm@isaacs/cliui9.0.0indirect
npm@jridgewell/gen-mapping0.3.13indirect
npm@jridgewell/remapping2.3.5indirect
npm@jridgewell/resolve-uri3.1.2indirect
npm@jridgewell/source-map0.3.11indirect
npm@jridgewell/sourcemap-codec1.5.5indirect
npm@jridgewell/trace-mapping0.3.31indirect
npm@mapbox/hast-util-table-cell-style0.2.1indirect
npm@mui/core-downloads-tracker9.1.2indirect
npm@mui/private-theming9.1.1indirect
npm@mui/styled-engine9.1.1indirect
npm@mui/system9.1.2indirect
npm@mui/types9.1.1indirect
npm@mui/utils9.1.1indirect
npm@napi-rs/wasm-runtime1.1.6indirect
npm@nodelib/fs.scandir2.1.5indirect
npm@nodelib/fs.stat2.0.5indirect
npm@nodelib/fs.walk1.2.8indirect
npm@oxc-project/types0.137.0indirect
npm@popperjs/core2.11.8indirect
npm@remix-run/router1.23.3indirect
npm@rolldown/binding-android-arm641.1.3indirect
npm@rolldown/binding-darwin-arm641.1.3indirect
npm@rolldown/binding-darwin-x641.1.3indirect
npm@rolldown/binding-freebsd-x641.1.3indirect
npm@rolldown/binding-linux-arm-gnueabihf1.1.3indirect
npm@rolldown/binding-linux-arm64-gnu1.1.3indirect
npm@rolldown/binding-linux-arm64-musl1.1.3indirect
npm@rolldown/binding-linux-ppc64-gnu1.1.3indirect
npm@rolldown/binding-linux-s390x-gnu1.1.3indirect
npm@rolldown/binding-linux-x64-gnu1.1.3indirect
npm@rolldown/binding-linux-x64-musl1.1.3indirect
npm@rolldown/binding-openharmony-arm641.1.3indirect
npm@rolldown/binding-wasm32-wasi1.1.3indirect
npm@rolldown/binding-win32-arm64-msvc1.1.3indirect
npm@rolldown/binding-win32-x64-msvc1.1.3indirect
npm@rolldown/pluginutils1.0.1indirect
npm@rollup/plugin-babel6.1.0indirect
npm@rollup/plugin-node-resolve16.0.3indirect
npm@rollup/plugin-replace6.0.3indirect
npm@rollup/plugin-terser1.0.0indirect
npm@rollup/pluginutils5.4.0indirect
npm@rollup/rollup-android-arm-eabi4.62.2indirect
npm@rollup/rollup-android-arm644.62.2indirect
npm@rollup/rollup-darwin-arm644.62.2indirect
npm@rollup/rollup-darwin-x644.62.2indirect
npm@rollup/rollup-freebsd-arm644.62.2indirect
npm@rollup/rollup-freebsd-x644.62.2indirect
npm@rollup/rollup-linux-arm-gnueabihf4.62.2indirect
npm@rollup/rollup-linux-arm-musleabihf4.62.2indirect
npm@rollup/rollup-linux-arm64-gnu4.62.2indirect
npm@rollup/rollup-linux-arm64-musl4.62.2indirect
npm@rollup/rollup-linux-loong64-gnu4.62.2indirect
npm@rollup/rollup-linux-loong64-musl4.62.2indirect
npm@rollup/rollup-linux-ppc64-gnu4.62.2indirect
npm@rollup/rollup-linux-ppc64-musl4.62.2indirect
npm@rollup/rollup-linux-riscv64-gnu4.62.2indirect
npm@rollup/rollup-linux-riscv64-musl4.62.2indirect
npm@rollup/rollup-linux-s390x-gnu4.62.2indirect
npm@rollup/rollup-linux-x64-gnu4.62.2indirect
npm@rollup/rollup-linux-x64-musl4.62.2indirect
npm@rollup/rollup-openbsd-x644.62.2indirect
npm@rollup/rollup-openharmony-arm644.62.2indirect
npm@rollup/rollup-win32-arm64-msvc4.62.2indirect
npm@rollup/rollup-win32-ia32-msvc4.62.2indirect
npm@rollup/rollup-win32-x64-gnu4.62.2indirect
npm@rollup/rollup-win32-x64-msvc4.62.2indirect
npm@rtsao/scc1.1.0indirect
npm@standard-schema/spec1.1.0indirect
npm@trickfilm400/rollup-plugin-off-main-thread3.0.0-pre1indirect
npm@tybys/wasm-util0.10.3indirect
npm@types/chai5.2.3indirect
npm@types/deep-eql4.0.2indirect
npm@types/estree1.0.9indirect
npm@types/json50.0.29indirect
npm@types/mdast3.0.15indirect
npm@types/parse-json4.0.2indirect
npm@types/prop-types15.7.15indirect
npm@types/react19.2.17indirect
npm@types/react-transition-group4.4.12indirect
npm@types/resolve1.20.2indirect
npm@types/trusted-types2.0.7indirect
npm@types/unist2.0.11indirect
npm@ungap/structured-clone1.3.2indirect
npm@vitejs/plugin-react6.0.3indirect
npm@vitest/expect4.1.9indirect
npm@vitest/mocker4.1.9indirect
npm@vitest/pretty-format4.1.9indirect
npm@vitest/runner4.1.9indirect
npm@vitest/snapshot4.1.9indirect
npm@vitest/spy4.1.9indirect
npm@vitest/utils4.1.9indirect
npmacorn8.17.0indirect
npmacorn-jsx5.3.2indirect
npmajv6.15.0indirect
npmajv8.20.0indirect
npmansi-regex5.0.1indirect
npmansi-styles4.3.0indirect
npmargparse2.0.1indirect
npmaria-query5.3.2indirect
npmarray-buffer-byte-length1.0.2indirect
npmarray-includes3.1.9indirect
npmarray.prototype.findlast1.2.5indirect
npmarray.prototype.findlastindex1.2.6indirect
npmarray.prototype.flat1.3.3indirect
npmarray.prototype.flatmap1.3.3indirect
npmarray.prototype.tosorted1.1.4indirect
npmarraybuffer.prototype.slice1.0.4indirect
npmassertion-error2.0.1indirect
npmast-types-flow0.0.8indirect
npmasync3.2.6indirect
npmasync-function1.0.0indirect
npmat-least-node1.0.0indirect
npmavailable-typed-arrays1.0.7indirect
npmaxe-core4.12.1indirect
npmaxobject-query4.1.0indirect
npmbabel-plugin-macros3.1.0indirect
npmbabel-plugin-polyfill-corejs20.4.17indirect
npmbabel-plugin-polyfill-corejs30.14.2indirect
npmbabel-plugin-polyfill-regenerator0.6.8indirect
npmbail1.0.5indirect
npmbalanced-match1.0.2indirect
npmbalanced-match4.0.4indirect
npmbaseline-browser-mapping2.10.38indirect
npmbrace-expansion1.1.15indirect
npmbrace-expansion2.1.1indirect
npmbrace-expansion5.0.6indirect
npmbrowserslist4.28.4indirect
npmbuffer-from1.1.2indirect
npmcall-bind1.0.9indirect
npmcall-bind-apply-helpers1.0.2indirect
npmcall-bound1.0.4indirect
npmcallsites3.1.0indirect
npmcaniuse-lite1.0.30001799indirect
npmchai6.2.2indirect
npmchalk4.1.2indirect
npmcharacter-entities1.2.4indirect
npmcharacter-entities-legacy1.1.4indirect
npmcharacter-reference-invalid1.1.4indirect
npmclsx2.1.1indirect
npmcolor-convert2.0.1indirect
npmcolor-name1.1.4indirect
npmcomma-separated-tokens1.0.8indirect
npmcommander2.20.3indirect
npmcommon-tags1.8.2indirect
npmconcat-map0.0.1indirect
npmconfusing-browser-globals1.0.11indirect
npmconvert-source-map1.9.0indirect
npmconvert-source-map2.0.0indirect
npmcore-js-compat3.49.0indirect
npmcosmiconfig7.1.0indirect
npmcross-spawn7.0.6indirect
npmcrypto-random-string2.0.0indirect
npmcssjanus2.3.0indirect
npmcsstype3.2.3indirect
npmdamerau-levenshtein1.0.8indirect
npmdata-view-buffer1.0.2indirect
npmdata-view-byte-length1.0.2indirect
npmdata-view-byte-offset1.0.1indirect
npmdebug3.2.7indirect
npmdebug4.4.3indirect
npmdeep-is0.1.4indirect
npmdeepmerge4.3.1indirect
npmdefine-data-property1.1.4indirect
npmdefine-properties1.2.1indirect
npmdetect-libc2.1.2indirect
npmdoctrine2.1.0indirect
npmdoctrine3.0.0indirect
npmdom-helpers5.2.1indirect
npmdunder-proto1.0.1indirect
npmejs3.1.10indirect
npmelectron-to-chromium1.5.378indirect
npmemoji-regex9.2.2indirect
npmerror-ex1.3.4indirect
npmes-abstract1.24.2indirect
npmes-abstract-get1.0.0indirect
npmes-define-property1.0.1indirect
npmes-errors1.3.0indirect
npmes-iterator-helpers1.3.3indirect
npmes-module-lexer2.1.0indirect
npmes-object-atoms1.1.2indirect
npmes-set-tostringtag2.1.0indirect
npmes-shim-unscopables1.1.0indirect
npmes-to-primitive1.3.1indirect
npmescalade3.2.0indirect
npmescape-string-regexp4.0.0indirect
npmeslint8.57.1indirect
npmeslint-config-airbnb19.0.4indirect
npmeslint-config-airbnb-base15.0.0indirect
npmeslint-config-prettier8.10.2indirect
npmeslint-import-resolver-node0.3.10indirect
npmeslint-module-utils2.13.0indirect
npmeslint-plugin-import2.32.0indirect
npmeslint-plugin-jsx-a11y6.10.2indirect
npmeslint-plugin-react7.37.5indirect
npmeslint-plugin-react-hooks4.6.2indirect
npmeslint-scope7.2.2indirect
npmeslint-visitor-keys3.4.3indirect
npmespree9.6.1indirect
npmesquery1.7.0indirect
npmesrecurse4.3.0indirect
npmestraverse5.3.0indirect
npmestree-walker2.0.2indirect
npmestree-walker3.0.3indirect
npmesutils2.0.3indirect
npmeta4.6.0indirect
npmexpect-type1.3.0indirect
npmextend3.0.2indirect
npmfast-deep-equal3.1.3indirect
npmfast-json-stable-stringify2.1.0indirect
npmfast-levenshtein2.0.6indirect
npmfast-uri3.1.2indirect
npmfastq1.20.1indirect
npmfdir6.5.0indirect
npmfile-entry-cache6.0.1indirect
npmfilelist1.0.6indirect
npmfind-root1.1.0indirect
npmfind-up5.0.0indirect
npmflat-cache3.2.0indirect
npmflatted3.4.2indirect
npmfor-each0.3.5indirect
npmforeground-child3.3.1indirect
npmfs-extra9.1.0indirect
npmfs.realpath1.0.0indirect
npmfsevents2.3.3indirect
npmfunction-bind1.1.2indirect
npmfunction.prototype.name1.2.0indirect
npmfunctions-have-names1.2.3indirect
npmgenerator-function2.0.1indirect
npmgensync1.0.0-beta.2indirect
npmget-intrinsic1.3.0indirect
npmget-own-enumerable-property-symbols3.0.2indirect
npmget-proto1.0.1indirect
npmget-symbol-description1.1.0indirect
npmglob11.1.0indirect
npmglob7.2.3indirect
npmglob-parent6.0.2indirect
npmglobals13.24.0indirect
npmglobalthis1.0.4indirect
npmgopd1.2.0indirect
npmgraceful-fs4.2.11indirect
npmgraphemer1.4.0indirect
npmhas-bigints1.1.0indirect
npmhas-flag4.0.0indirect
npmhas-property-descriptors1.0.2indirect
npmhas-proto1.2.0indirect
npmhas-symbols1.1.0indirect
npmhas-tostringtag1.0.2indirect
npmhasown2.0.4indirect
npmhast-to-hyperscript9.0.1indirect
npmhoist-non-react-statics3.3.2indirect
npmhtml-parse-stringify3.0.1indirect
npmidb7.1.1indirect
npmignore5.3.2indirect
npmimport-fresh3.3.1indirect
npmimurmurhash0.1.4indirect
npminflight1.0.6indirect
npminherits2.0.4indirect
npminline-style-parser0.1.1indirect
npminternal-slot1.1.0indirect
npmis-alphabetical1.0.4indirect
npmis-alphanumerical1.0.4indirect
npmis-array-buffer3.0.5indirect
npmis-arrayish0.2.1indirect
npmis-async-function2.1.1indirect
npmis-bigint1.1.0indirect
npmis-boolean-object1.2.2indirect
npmis-buffer2.0.5indirect
npmis-callable1.2.7indirect
npmis-core-module2.16.2indirect
npmis-data-view1.0.2indirect
npmis-date-object1.1.0indirect
npmis-decimal1.0.4indirect
npmis-document.all1.0.0indirect
npmis-extglob2.1.1indirect
npmis-finalizationregistry1.1.1indirect
npmis-generator-function1.1.2indirect
npmis-glob4.0.3indirect
npmis-hexadecimal1.0.4indirect
npmis-map2.0.3indirect
npmis-module1.0.0indirect
npmis-negative-zero2.0.3indirect
npmis-number-object1.1.1indirect
npmis-obj1.0.1indirect
npmis-path-inside3.0.3indirect
npmis-plain-obj2.1.0indirect
npmis-regex1.2.1indirect
npmis-regexp1.0.0indirect
npmis-set2.0.3indirect
npmis-shared-array-buffer1.0.4indirect
npmis-stream2.0.1indirect
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
npmisarray2.0.5indirect
npmisexe2.0.0indirect
npmiterator.prototype1.1.5indirect
npmjackspeak4.2.3indirect
npmjake10.9.4indirect
npmjs-tokens4.0.0indirect
npmjs-yaml4.2.0indirect
npmjsesc3.1.0indirect
npmjson-buffer3.0.1indirect
npmjson-parse-even-better-errors2.3.1indirect
npmjson-schema-traverse0.4.1indirect
npmjson-schema-traverse1.0.0indirect
npmjson-stable-stringify-without-jsonify1.0.1indirect
npmjson51.0.2indirect
npmjson52.2.3indirect
npmjsonfile6.2.1indirect
npmjsonpointer5.0.1indirect
npmjsx-ast-utils3.3.5indirect
npmkeyv4.5.4indirect
npmlanguage-subtag-registry0.3.23indirect
npmlanguage-tags1.0.9indirect
npmleven3.1.0indirect
npmlevn0.4.1indirect
npmlightningcss1.32.0indirect
npmlightningcss-android-arm641.32.0indirect
npmlightningcss-darwin-arm641.32.0indirect
npmlightningcss-darwin-x641.32.0indirect
npmlightningcss-freebsd-x641.32.0indirect
npmlightningcss-linux-arm-gnueabihf1.32.0indirect
npmlightningcss-linux-arm64-gnu1.32.0indirect
npmlightningcss-linux-arm64-musl1.32.0indirect
npmlightningcss-linux-x64-gnu1.32.0indirect
npmlightningcss-linux-x64-musl1.32.0indirect
npmlightningcss-win32-arm64-msvc1.32.0indirect
npmlightningcss-win32-x64-msvc1.32.0indirect
npmlines-and-columns1.2.4indirect
npmlocate-path6.0.0indirect
npmlodash.debounce4.0.8indirect
npmlodash.merge4.6.2indirect
npmlodash.sortby4.7.0indirect
npmloose-envify1.4.0indirect
npmlru-cache11.5.1indirect
npmlru-cache5.1.1indirect
npmmagic-string0.30.21indirect
npmmath-intrinsics1.1.0indirect
npmmdast-util-definitions4.0.0indirect
npmmdast-util-from-markdown0.8.5indirect
npmmdast-util-to-hast10.2.0indirect
npmmdast-util-to-string2.0.0indirect
npmmdurl1.0.1indirect
npmmicromark2.11.4indirect
npmminimatch10.2.5indirect
npmminimatch3.1.5indirect
npmminimatch5.1.9indirect
npmminimist1.2.8indirect
npmminipass7.1.3indirect
npmms2.1.3indirect
npmnanoid3.3.15indirect
npmnatural-compare1.4.0indirect
npmnode-exports-info1.6.2indirect
npmnode-releases2.0.49indirect
npmobject-assign4.1.1indirect
npmobject-inspect1.13.4indirect
npmobject-keys1.1.1indirect
npmobject.assign4.1.7indirect
npmobject.entries1.1.9indirect
npmobject.fromentries2.0.8indirect
npmobject.groupby1.0.3indirect
npmobject.values1.2.1indirect
npmobug2.1.3indirect
npmonce1.4.0indirect
npmoptionator0.9.4indirect
npmown-keys1.0.1indirect
npmp-limit3.1.0indirect
npmp-locate5.0.0indirect
npmpackage-json-from-dist1.0.1indirect
npmparent-module1.0.1indirect
npmparse-entities2.0.0indirect
npmparse-json5.2.0indirect
npmpath-exists4.0.0indirect
npmpath-is-absolute1.0.1indirect
npmpath-key3.1.1indirect
npmpath-parse1.0.7indirect
npmpath-scurry2.0.2indirect
npmpath-type4.0.0indirect
npmpathe2.0.3indirect
npmpicocolors1.1.1indirect
npmpicomatch4.0.4indirect
npmpossible-typed-array-names1.1.0indirect
npmpostcss8.5.15indirect
npmprelude-ls1.2.1indirect
npmprettier3.9.4indirect
npmpretty-bytes5.6.0indirect
npmpretty-bytes6.1.1indirect
npmprop-types15.8.1indirect
npmproperty-information5.6.0indirect
npmpunycode2.3.1indirect
npmqueue-microtask1.2.3indirect
npmreact-is16.13.1indirect
npmreact-is19.2.7indirect
npmreact-router6.30.4indirect
npmreact-transition-group4.4.5indirect
npmreflect.getprototypeof1.0.10indirect
npmregenerate1.4.2indirect
npmregenerate-unicode-properties10.2.2indirect
npmregexp.prototype.flags1.5.4indirect
npmregexpu-core6.4.0indirect
npmregjsgen0.8.0indirect
npmregjsparser0.13.2indirect
npmrehype-react6.2.1indirect
npmremark-parse9.0.0indirect
npmremark-rehype8.1.0indirect
npmrequire-from-string2.0.2indirect
npmresolve1.22.12indirect
npmresolve2.0.0-next.7indirect
npmresolve-from4.0.0indirect
npmreusify1.1.0indirect
npmrimraf3.0.2indirect
npmrolldown1.1.3indirect
npmrollup4.62.2indirect
npmrun-parallel1.2.0indirect
npmsafe-array-concat1.1.4indirect
npmsafe-push-apply1.0.0indirect
npmsafe-regex-test1.1.0indirect
npmscheduler0.27.0indirect
npmsemver6.3.1indirect
npmserialize-javascript7.0.6indirect
npmset-function-length1.2.2indirect
npmset-function-name2.0.2indirect
npmset-proto1.0.0indirect
npmshebang-command2.0.0indirect
npmshebang-regex3.0.0indirect
npmside-channel1.1.1indirect
npmside-channel-list1.0.1indirect
npmside-channel-map1.0.1indirect
npmside-channel-weakmap1.0.2indirect
npmsiginfo2.0.0indirect
npmsignal-exit4.1.0indirect
npmsmob1.6.2indirect
npmsource-map0.5.7indirect
npmsource-map0.6.1indirect
npmsource-map0.8.0-beta.0indirect
npmsource-map-js1.2.1indirect
npmsource-map-support0.5.21indirect
npmspace-separated-tokens1.1.5indirect
npmstackback0.0.2indirect
npmstd-env4.1.0indirect
npmstop-iteration-iterator1.1.0indirect
npmstring.prototype.includes2.0.1indirect
npmstring.prototype.matchall4.0.12indirect
npmstring.prototype.repeat1.0.0indirect
npmstring.prototype.trim1.2.11indirect
npmstring.prototype.trimend1.0.10indirect
npmstring.prototype.trimstart1.0.8indirect
npmstringify-object3.3.0indirect
npmstrip-ansi6.0.1indirect
npmstrip-bom3.0.0indirect
npmstrip-comments2.0.1indirect
npmstrip-json-comments3.1.1indirect
npmstyle-to-object0.3.0indirect
npmsupports-color7.2.0indirect
npmsupports-preserve-symlinks-flag1.0.0indirect
npmtemp-dir2.0.0indirect
npmtempy0.6.0indirect
npmterser5.48.0indirect
npmtext-table0.2.0indirect
npmtinybench2.9.0indirect
npmtinyexec1.2.4indirect
npmtinyglobby0.2.17indirect
npmtinyrainbow3.1.0indirect
npmtr461.0.1indirect
npmtrough1.0.5indirect
npmtsconfig-paths3.15.0indirect
npmtslib2.8.1indirect
npmtype-check0.4.0indirect
npmtype-fest0.16.0indirect
npmtype-fest0.20.2indirect
npmtyped-array-buffer1.0.3indirect
npmtyped-array-byte-length1.0.3indirect
npmtyped-array-byte-offset1.0.4indirect
npmtyped-array-length1.0.8indirect
npmunbox-primitive1.1.0indirect
npmunicode-canonical-property-names-ecmascript2.0.1indirect
npmunicode-match-property-ecmascript2.0.0indirect
npmunicode-match-property-value-ecmascript2.2.1indirect
npmunicode-property-aliases-ecmascript2.2.0indirect
npmunified9.2.2indirect
npmunique-string2.0.0indirect
npmunist-builder2.0.3indirect
npmunist-util-generated1.1.6indirect
npmunist-util-is3.0.0indirect
npmunist-util-is4.1.0indirect
npmunist-util-position3.1.0indirect
npmunist-util-stringify-position2.0.3indirect
npmunist-util-visit1.4.1indirect
npmunist-util-visit2.0.3indirect
npmunist-util-visit-parents2.1.2indirect
npmunist-util-visit-parents3.1.1indirect
npmuniversalify2.0.1indirect
npmupath1.2.0indirect
npmupdate-browserslist-db1.2.3indirect
npmuri-js4.4.1indirect
npmvfile4.2.1indirect
npmvfile-message2.0.4indirect
npmvite8.1.0indirect
npmvite-plugin-pwa1.3.0indirect
npmvitest4.1.9indirect
npmvoid-elements3.1.0indirect
npmweb-namespaces1.1.4indirect
npmwebidl-conversions4.0.2indirect
npmwhatwg-url7.1.0indirect
npmwhich2.0.2indirect
npmwhich-boxed-primitive1.1.1indirect
npmwhich-builtin-type1.2.1indirect
npmwhich-collection1.0.2indirect
npmwhich-typed-array1.1.22indirect
npmwhy-is-node-running2.3.0indirect
npmword-wrap1.2.5indirect
npmworkbox-background-sync7.4.1indirect
npmworkbox-broadcast-update7.4.1indirect
npmworkbox-build7.4.1indirect
npmworkbox-cacheable-response7.4.1indirect
npmworkbox-core7.4.1indirect
npmworkbox-expiration7.4.1indirect
npmworkbox-google-analytics7.4.1indirect
npmworkbox-navigation-preload7.4.1indirect
npmworkbox-precaching7.4.1indirect
npmworkbox-range-requests7.4.1indirect
npmworkbox-recipes7.4.1indirect
npmworkbox-routing7.4.1indirect
npmworkbox-strategies7.4.1indirect
npmworkbox-streams7.4.1indirect
npmworkbox-sw7.4.1indirect
npmworkbox-window7.4.1indirect
npmwrappy1.0.2indirect
npmxtend4.0.2indirect
npmyallist3.1.1indirect
npmyaml1.10.3indirect
npmyocto-queue0.1.0indirect
PyPImkdocs-materialindirect
PyPImkdocs-minify-pluginindirect
Dependency advisories 10

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

PackageVersionRelationSeverityAdvisoriesFixed in
google.golang.org/grpcv1.82.0indirectcritical21.82.1
brace-expansion1.1.15indirecthigh25.0.8
brace-expansion2.1.1indirecthigh25.0.8
brace-expansion5.0.6indirecthigh25.0.8
fast-uri3.1.2indirecthigh24.1.1
js-yaml4.2.0indirecthigh14.3.0
postcss8.5.15indirecthigh18.5.18
react-router-dom6.30.4directmoderate17.13.0
react-router6.30.4indirectmoderate27.18.0
golang.org/x/cryptov0.53.0directunknown1

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": [
        "rest-api",
        "pubsub",
        "notifications",
        "curl",
        "push-notifications",
        "ntfy",
        "ntfysh"
      ],
      "is_fork": false,
      "size_kb": 42821,
      "has_wiki": true,
      "homepage": "https://ntfy.sh",
      "languages": {
        "Go": 2013653,
        "CSS": 1025,
        "HTML": 4924,
        "Shell": 7535,
        "Makefile": 18227,
        "Dockerfile": 638,
        "JavaScript": 736505
      },
      "pushed_at": "2026-08-02T21:55:07Z",
      "created_at": "2021-10-23T19:25:32Z",
      "owner_type": "User",
      "updated_at": "2026-08-03T00:38:22Z",
      "description": "Send push notifications to your phone or desktop using PUT/POST",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "Go",
      "significant_languages": [
        "Go",
        "JavaScript"
      ]
    },
    "owner": {
      "blog": "https://heckel.io",
      "name": "Philipp C. Heckel",
      "type": "User",
      "login": "binwiederhier",
      "company": "ntfy.sh",
      "location": "Fairfield, CT, USA",
      "followers": 1118,
      "avatar_url": "https://avatars.githubusercontent.com/u/664597?v=4",
      "created_at": "2011-03-11T18:30:18Z",
      "is_verified": null,
      "public_repos": 99,
      "account_age_days": 5623
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.26.3",
          "kind": "patch",
          "published_at": "2026-07-20T21:36:41Z"
        },
        {
          "tag": "v2.26.0",
          "kind": "minor",
          "published_at": "2026-07-09T18:46:27Z"
        },
        {
          "tag": "v2.25.0",
          "kind": "minor",
          "published_at": "2026-06-24T23:29:03Z"
        },
        {
          "tag": "v2.24.0",
          "kind": "minor",
          "published_at": "2026-06-04T18:51:22Z"
        },
        {
          "tag": "v2.23.0",
          "kind": "minor",
          "published_at": "2026-05-18T01:27:52Z"
        },
        {
          "tag": "v2.22.0",
          "kind": "minor",
          "published_at": "2026-04-21T15:13:40Z"
        },
        {
          "tag": "v2.21.0",
          "kind": "minor",
          "published_at": "2026-03-30T20:53:13Z"
        },
        {
          "tag": "v2.20.1",
          "kind": "patch",
          "published_at": "2026-03-27T18:34:57Z"
        },
        {
          "tag": "v2.20.0",
          "kind": "minor",
          "published_at": "2026-03-26T17:47:32Z"
        },
        {
          "tag": "v2.19.2",
          "kind": "patch",
          "published_at": "2026-03-17T00:27:04Z"
        },
        {
          "tag": "v2.19.1",
          "kind": "patch",
          "published_at": "2026-03-16T01:24:30Z"
        },
        {
          "tag": "v2.19.0",
          "kind": "minor",
          "published_at": "2026-03-15T14:43:04Z"
        },
        {
          "tag": "v2.18.0",
          "kind": "minor",
          "published_at": "2026-03-07T21:29:49Z"
        },
        {
          "tag": "v2.17.0",
          "kind": "minor",
          "published_at": "2026-02-09T22:00:03Z"
        },
        {
          "tag": "v2.16.0",
          "kind": "minor",
          "published_at": "2026-01-19T23:40:31Z"
        },
        {
          "tag": "v2.15.0",
          "kind": "minor",
          "published_at": "2025-11-16T18:53:49Z"
        },
        {
          "tag": "v2.14.0",
          "kind": "minor",
          "published_at": "2025-08-05T08:31:35Z"
        },
        {
          "tag": "v2.13.0",
          "kind": "minor",
          "published_at": "2025-07-10T19:27:54Z"
        },
        {
          "tag": "v2.12.0",
          "kind": "minor",
          "published_at": "2025-05-30T00:26:27Z"
        },
        {
          "tag": "v2.11.0",
          "kind": "minor",
          "published_at": "2024-05-13T20:19:54Z"
        },
        {
          "tag": "v2.10.0",
          "kind": "minor",
          "published_at": "2024-03-26T01:41:24Z"
        },
        {
          "tag": "v2.9.0",
          "kind": "minor",
          "published_at": "2024-03-07T22:06:57Z"
        },
        {
          "tag": "v2.8.0",
          "kind": "minor",
          "published_at": "2023-11-19T21:52:41Z"
        },
        {
          "tag": "v2.7.0",
          "kind": "minor",
          "published_at": "2023-08-17T20:30:12Z"
        },
        {
          "tag": "v2.6.2",
          "kind": "patch",
          "published_at": "2023-07-01T02:02:51Z"
        },
        {
          "tag": "v2.6.1",
          "kind": "patch",
          "published_at": "2023-06-29T01:09:41Z"
        },
        {
          "tag": "v2.6.0",
          "kind": "minor",
          "published_at": "2023-06-28T17:51:41Z"
        },
        {
          "tag": "v2.5.0",
          "kind": "minor",
          "published_at": "2023-05-18T18:07:17Z"
        },
        {
          "tag": "v2.4.0",
          "kind": "minor",
          "published_at": "2023-04-26T16:49:34Z"
        },
        {
          "tag": "v2.3.1",
          "kind": "patch",
          "published_at": "2023-03-31T01:26:59Z"
        },
        {
          "tag": "v2.3.0",
          "kind": "minor",
          "published_at": "2023-03-30T01:32:53Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2023-03-18T17:46:45Z"
        },
        {
          "tag": "v2.1.2",
          "kind": "patch",
          "published_at": "2023-03-04T22:14:20Z"
        },
        {
          "tag": "v2.1.1",
          "kind": "patch",
          "published_at": "2023-03-01T17:04:26Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2023-02-26T02:37:39Z"
        },
        {
          "tag": "v2.0.1",
          "kind": "patch",
          "published_at": "2023-02-18T03:00:14Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2023-02-16T19:34:44Z"
        },
        {
          "tag": "v1.31.0",
          "kind": "minor",
          "published_at": "2023-02-15T03:14:35Z"
        },
        {
          "tag": "v1.30.1",
          "kind": "patch",
          "published_at": "2022-12-23T14:44:06Z"
        },
        {
          "tag": "v1.29.1",
          "kind": "patch",
          "published_at": "2022-11-18T02:20:53Z"
        },
        {
          "tag": "v1.29.0",
          "kind": "minor",
          "published_at": "2022-11-12T19:32:20Z"
        },
        {
          "tag": "v1.28.0",
          "kind": "minor",
          "published_at": "2022-09-27T17:01:06Z"
        },
        {
          "tag": "v1.27.2",
          "kind": "patch",
          "published_at": "2022-06-23T19:26:43Z"
        },
        {
          "tag": "v1.26.0",
          "kind": "minor",
          "published_at": "2022-06-16T20:05:10Z"
        },
        {
          "tag": "v1.25.2",
          "kind": "patch",
          "published_at": "2022-06-03T01:52:09Z"
        },
        {
          "tag": "v1.25.0",
          "kind": "minor",
          "published_at": "2022-06-02T19:01:21Z"
        },
        {
          "tag": "v1.24.0",
          "kind": "minor",
          "published_at": "2022-05-29T02:09:37Z"
        },
        {
          "tag": "v1.23.0",
          "kind": "minor",
          "published_at": "2022-05-21T15:57:45Z"
        },
        {
          "tag": "v1.22.0",
          "kind": "minor",
          "published_at": "2022-05-08T00:09:00Z"
        },
        {
          "tag": "v1.21.2",
          "kind": "patch",
          "published_at": "2022-04-25T02:27:44Z"
        },
        {
          "tag": "v1.21.1",
          "kind": "patch",
          "published_at": "2022-04-25T02:11:59Z"
        },
        {
          "tag": "v1.21.0",
          "kind": "minor",
          "published_at": "2022-04-25T02:01:29Z"
        },
        {
          "tag": "v1.20.0",
          "kind": "minor",
          "published_at": "2022-04-07T00:39:27Z"
        },
        {
          "tag": "v1.19.0",
          "kind": "minor",
          "published_at": "2022-03-30T18:41:42Z"
        },
        {
          "tag": "v1.18.1",
          "kind": "patch",
          "published_at": "2022-03-22T03:28:31Z"
        },
        {
          "tag": "v1.18.0",
          "kind": "minor",
          "published_at": "2022-03-16T23:42:02Z"
        },
        {
          "tag": "v1.17.1",
          "kind": "patch",
          "published_at": "2022-03-12T13:39:43Z"
        },
        {
          "tag": "v1.17.0",
          "kind": "minor",
          "published_at": "2022-03-11T21:08:37Z"
        },
        {
          "tag": "v1.16.0",
          "kind": "minor",
          "published_at": "2022-02-27T20:54:04Z"
        },
        {
          "tag": "v1.15.0",
          "kind": "minor",
          "published_at": "2022-02-15T00:27:15Z"
        },
        {
          "tag": "v1.14.1",
          "kind": "patch",
          "published_at": "2022-02-10T00:24:09Z"
        },
        {
          "tag": "v1.14.0",
          "kind": "minor",
          "published_at": "2022-02-04T04:03:11Z"
        },
        {
          "tag": "v1.13.0",
          "kind": "minor",
          "published_at": "2022-01-17T03:02:18Z"
        },
        {
          "tag": "v1.12.1",
          "kind": "patch",
          "published_at": "2022-01-14T17:27:41Z"
        },
        {
          "tag": "v1.12.0",
          "kind": "minor",
          "published_at": "2022-01-13T22:20:00Z"
        },
        {
          "tag": "v1.11.2",
          "kind": "patch",
          "published_at": "2022-01-01T21:52:10Z"
        },
        {
          "tag": "v1.11.1",
          "kind": "patch",
          "published_at": "2022-01-01T21:25:42Z"
        },
        {
          "tag": "v1.11.0",
          "kind": "minor",
          "published_at": "2022-01-01T21:00:33Z"
        },
        {
          "tag": "v1.10.0",
          "kind": "minor",
          "published_at": "2021-12-28T16:44:49Z"
        },
        {
          "tag": "v1.9.0",
          "kind": "minor",
          "published_at": "2021-12-25T10:25:38Z"
        },
        {
          "tag": "v1.8.0",
          "kind": "minor",
          "published_at": "2021-12-22T23:22:29Z"
        },
        {
          "tag": "v1.7.0",
          "kind": "minor",
          "published_at": "2021-12-16T00:26:52Z"
        },
        {
          "tag": "v1.6.1",
          "kind": "patch",
          "published_at": "2021-12-14T03:37:22Z"
        },
        {
          "tag": "v1.6.0",
          "kind": "minor",
          "published_at": "2021-12-11T12:33:38Z"
        },
        {
          "tag": "v1.5.3",
          "kind": "patch",
          "published_at": "2021-12-09T19:08:39Z"
        },
        {
          "tag": "v1.5.2",
          "kind": "patch",
          "published_at": "2021-12-09T18:23:10Z"
        },
        {
          "tag": "v1.5.1",
          "kind": "patch",
          "published_at": "2021-12-05T21:32:06Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2021-11-29T16:51:12Z"
        },
        {
          "tag": "v1.4.8",
          "kind": "patch",
          "published_at": "2021-11-24T03:01:37Z"
        },
        {
          "tag": "v1.4.7",
          "kind": "patch",
          "published_at": "2021-11-22T15:47:23Z"
        },
        {
          "tag": "v1.4.6",
          "kind": "patch",
          "published_at": "2021-11-21T01:32:08Z"
        },
        {
          "tag": "v1.4.5",
          "kind": "patch",
          "published_at": "2021-11-20T20:56:04Z"
        },
        {
          "tag": "v1.4.4",
          "kind": "patch",
          "published_at": "2021-11-20T20:43:51Z"
        },
        {
          "tag": "v1.4.3",
          "kind": "patch",
          "published_at": "2021-11-18T19:21:53Z"
        },
        {
          "tag": "v1.4.2",
          "kind": "patch",
          "published_at": "2021-11-18T18:15:24Z"
        },
        {
          "tag": "v1.4.1",
          "kind": "patch",
          "published_at": "2021-11-18T14:23:32Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2021-11-16T18:12:17Z"
        },
        {
          "tag": "v1.3.3",
          "kind": "patch",
          "published_at": "2021-11-09T19:49:15Z"
        },
        {
          "tag": "v1.3.2",
          "kind": "patch",
          "published_at": "2021-11-09T15:53:39Z"
        },
        {
          "tag": "v1.3.1",
          "kind": "patch",
          "published_at": "2021-11-08T15:36:23Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2021-11-08T14:47:56Z"
        },
        {
          "tag": "v1.2.5",
          "kind": "patch",
          "published_at": "2021-11-07T18:10:08Z"
        },
        {
          "tag": "v1.2.4",
          "kind": "patch",
          "published_at": "2021-11-05T17:47:05Z"
        },
        {
          "tag": "v1.2.3",
          "kind": "patch",
          "published_at": "2021-11-05T02:48:10Z"
        },
        {
          "tag": "v1.2.2",
          "kind": "patch",
          "published_at": "2021-11-04T01:18:19Z"
        },
        {
          "tag": "v1.2.1",
          "kind": "patch",
          "published_at": "2021-11-03T15:47:17Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2021-11-03T15:35:05Z"
        },
        {
          "tag": "v1.1.3",
          "kind": "patch",
          "published_at": "2021-11-02T18:11:42Z"
        },
        {
          "tag": "v1.1.2",
          "kind": "patch",
          "published_at": "2021-10-31T03:47:32Z"
        },
        {
          "tag": "v1.1.1",
          "kind": "patch",
          "published_at": "2021-10-29T19:48:16Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "dc116551530a4af804df72dd1aac197bf2a561e8",
          "body": "Schema compare tests",
          "is_bot": false,
          "headline": "Merge pull request #1874 from binwiederhier/schema-compare-tests",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-29T06:10:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd96177fdf648e25b51a5bf2379ff2e18103d1c4",
          "body": null,
          "is_bot": false,
          "headline": "Move pg tests to its own file",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-29T06:05:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3d43190c951ce1bdf0d6a5f61ad316bb156945d",
          "body": null,
          "is_bot": false,
          "headline": "Harden migration",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-29T05:25:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "95ad323d1c1e3f9f19918cc60bf29d14e1e03df3",
          "body": null,
          "is_bot": false,
          "headline": "Schema compare tests",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-29T05:12:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7efdaeb3beb4fb4d430967c6f0403089e7e7900",
          "body": "Use schema/ package in user/ package",
          "is_bot": false,
          "headline": "Merge pull request #1873 from binwiederhier/user-schema-migration",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-29T04:45:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "244a9bc06dc008c6b99ccfce54cb1e43a9b0ef19",
          "body": null,
          "is_bot": false,
          "headline": "Use schema/ package in user/ package",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-29T04:23:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e13ca05d5dbd7beca5ab55d0c3152e8d569077b",
          "body": "Use schema migration lib for message cache",
          "is_bot": false,
          "headline": "Merge pull request #1871 from binwiederhier/message-cache-migration2",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-28T21:02:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdaf3316a02daf4f3de22b1f6f3602f832bd710c",
          "body": null,
          "is_bot": false,
          "headline": "Use schema migration lib for message cache",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-28T20:22:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "310a5aa8df286fa46d533e14c1b22ecaa66f170b",
          "body": "Schema migration library",
          "is_bot": false,
          "headline": "Merge pull request #1868 from binwiederhier/schema-migration",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-28T18:49:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4abdeb8d57f0d5e554dee75631a8dce31a5cb7c2",
          "body": null,
          "is_bot": false,
          "headline": "Comment",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-28T05:34:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7fb1d257404420b9f51802fc1e5718656e7f69f4",
          "body": null,
          "is_bot": false,
          "headline": "Restructure a little",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-27T21:48:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef121a3f6c6af8e0c7220b32b22eb8c300916ec8",
          "body": null,
          "is_bot": false,
          "headline": "Schema migration",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-27T15:51:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2d5c1ce6c38f097e8aff5294ce1505b9b077f36",
          "body": null,
          "is_bot": false,
          "headline": "Do not include secrets in the config hash",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-23T06:13:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7680cb490687e5e80b9d3ce501bb538db8ee1776",
          "body": null,
          "is_bot": false,
          "headline": "Ban-feed",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-20T21:49:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "706fa3b4915f6cbd1d9fa7fccf0925d0809418b0",
          "body": null,
          "is_bot": false,
          "headline": "Remove \"experimental\" from postgres option",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-20T21:48:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2bc145f3aeb8ad656a77a8ce2e0845dbd3fbcd97",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'release-2.26.x'",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-20T21:42:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "311138ef7b3314a140d8385e6f4549e1454fa97c",
          "body": null,
          "is_bot": false,
          "headline": "Derp",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-20T21:23:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f6b03b44dda3415cd3d6da15a76307f81b868cf2",
          "body": null,
          "is_bot": false,
          "headline": "Bump release notes",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-20T21:10:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6749856991afff2667d6c3634749bcb83492326",
          "body": null,
          "is_bot": false,
          "headline": "Redo the banning logic, ban.Service",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-20T19:34:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "469d263a5cdbdfb9fc321c8e21e0a34945c8f53c",
          "body": "…mechanism abuse counter",
          "is_bot": false,
          "headline": "Hotfix: Add ban-file/ban-threshold/ban-weights as a more lightweight …",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-18T06:41:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f8d2fcd7a63e154343a04136b9c6630c29c8a7ea",
          "body": null,
          "is_bot": false,
          "headline": "Move metrics to metrics/ pacakge",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-17T20:08:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac63a2eea0526a25e8b0a55a75882145f1b814bc",
          "body": null,
          "is_bot": false,
          "headline": "Move Twilio to twilio/ package",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-17T11:48:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24bc50b585a6de22dbc2873cc558b6fb6b9c1c8a",
          "body": null,
          "is_bot": false,
          "headline": "Allow logging in via email",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-16T19:42:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b55e78a918580ba5244f8bc2fa43fabead5933a2",
          "body": null,
          "is_bot": false,
          "headline": "Release notes",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-12T08:23:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6638699d4801bfeebd4582d8e6bf3d85f6901e02",
          "body": "Template exec context, redone",
          "is_bot": false,
          "headline": "Merge pull request #1830 from binwiederhier/template-exec-context",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-10T19:19:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f56dae54a760fac4094ee9fcebc47f1c7972162",
          "body": null,
          "is_bot": false,
          "headline": "Template exec context, redone",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-10T11:18:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e4e3b6e36737bee6ad2db0a9821a370d928753f",
          "body": null,
          "is_bot": false,
          "headline": "Remove unreachable link",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-09T21:07:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75c687de1c1983cd932b5f056f471528c26fbe9c",
          "body": null,
          "is_bot": false,
          "headline": "Bump Android pre-release",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-09T20:50:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "432da44dc46d2c46ae7f351c28adf49de94d0d80",
          "body": null,
          "is_bot": false,
          "headline": "Bump!",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-09T18:33:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "703d7bb9dea3cdb713303ffd932d48f36d5d28a5",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' of https://hosted.weblate.org/git/ntfy/web",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-09T18:15:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98a0daba86c69edd857b08de3884eacc2b166b42",
          "body": null,
          "is_bot": false,
          "headline": "Added translation using Weblate (Zulu)",
          "author_name": "LwaziProjects",
          "author_login": "LwaziProjects",
          "committed_at": "2026-07-09T09:27:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce01b357d8065f288204b756bccb3557bb1e5292",
          "body": null,
          "is_bot": false,
          "headline": "Bump prettier",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T21:21:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c40a2ce0a75bead4d276fccdbf1f7fea15bf8e9c",
          "body": null,
          "is_bot": false,
          "headline": "Update android release notes",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T21:07:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "88e598d8b891016dd25ad4aff11658c262f937ca",
          "body": null,
          "is_bot": false,
          "headline": "RElease notes",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T20:44:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6869d166ae799b73dab3777e100e6c942fdd007a",
          "body": null,
          "is_bot": false,
          "headline": "fmt",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T20:42:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08d81a364574d771e0d8ff8e143f29300f8645d3",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' of github.com:binwiederhier/ntfy",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T20:23:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "202d85882653498892dae9fa2fda9c2ce6309e51",
          "body": "…eb/i18next-browser-languagedetector-8.2.1\n\nBump i18next-browser-languagedetector from 6.1.8 to 8.2.1 in /web",
          "is_bot": false,
          "headline": "Merge pull request #1814 from binwiederhier/dependabot/npm_and_yarn/w…",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T20:23:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73e9d46b49baaf162007e80fa780f56ff8422f3a",
          "body": "…ang.org/x/text-0.39.0\n\nBump golang.org/x/text from 0.38.0 to 0.39.0",
          "is_bot": false,
          "headline": "Merge pull request #1822 from binwiederhier/dependabot/go_modules/gol…",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T20:23:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a021aba2d8fe8ba7d4e392ed207f691d59e739d",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' of https://hosted.weblate.org/git/ntfy/web",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T20:15:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "812dc4cded3e7499eec312d068c5d80c6001dcf1",
          "body": "Template execution rework",
          "is_bot": false,
          "headline": "Merge pull request #1826 from binwiederhier/template-execute-context",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T20:15:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f6c4743b314e4a5c3ee19912ca8631837a669d6",
          "body": "…/all-9e904a7c11\n\nBump the all group across 1 directory with 2 updates",
          "is_bot": false,
          "headline": "Merge pull request #1817 from binwiederhier/dependabot/github_actions…",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T20:14:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "165f012ae6c6092ec5c83ffb63ccd388c6915026",
          "body": null,
          "is_bot": false,
          "headline": "Add AST check to catch calls, remove regex for block and template",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T19:56:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d69ebaf58d0240742f9c86a5ce4c1303297a07b",
          "body": null,
          "is_bot": false,
          "headline": "Additional test",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T19:18:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a001ac51952e35bbc376e3fb9f97368d5669044f",
          "body": null,
          "is_bot": false,
          "headline": "Template execution rework",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-08T19:08:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bde864756ee748bfa1fd42511d8753d75d0ffdc1",
          "body": "Currently translated at 100.0% (459 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/bg/",
          "is_bot": false,
          "headline": "Translated using Weblate (Bulgarian)",
          "author_name": "109247019824",
          "author_login": null,
          "committed_at": "2026-07-07T22:01:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6d21415bbe1ff92a3436e1d915745d2d4ccc872",
          "body": "Bumps the all group with 2 updates in the / directory: [actions/checkout](https://github.com/actions/checkout) and [actions/setup-go](https://github.com/actions/setup-go).\n\n\nUpdates `actions/checkout` from 6.0.3 to 7.0.0\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](h\n[…]\nns/setup-go\n  dependency-version: 6.5.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: all\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump the all group across 1 directory with 2 updates",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-07T21:44:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2e3d5babc8b56a4066921e37f3a1944d4b79ea64",
          "body": "Bumps [golang.org/x/text](https://github.com/golang/text) from 0.38.0 to 0.39.0.\n- [Release notes](https://github.com/golang/text/releases)\n- [Commits](https://github.com/golang/text/compare/v0.38.0...v0.39.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/text\n  dependency-version: 0.39.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump golang.org/x/text from 0.38.0 to 0.39.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-07T21:42:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b16efd2cb6c78f99a64c761e1797099c52bba9ff",
          "body": "Currently translated at 100.0% (459 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/pl/",
          "is_bot": false,
          "headline": "Translated using Weblate (Polish)",
          "author_name": "NooB9496",
          "author_login": null,
          "committed_at": "2026-07-06T05:01:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24f991c6d79fca125e47357126143549227982e0",
          "body": "Currently translated at 92.1% (423 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/es/",
          "is_bot": false,
          "headline": "Translated using Weblate (Spanish)",
          "author_name": "Antonio",
          "author_login": "tony2928",
          "committed_at": "2026-07-06T05:01:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7b54850c1648bdc6c26a4d2506bcd62f7168779b",
          "body": null,
          "is_bot": false,
          "headline": "Make twilioClient",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-04T01:04:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be3dbdcb48b09c862715e7c613e4faade08d55b2",
          "body": null,
          "is_bot": false,
          "headline": "Move action parsing to action package",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-04T00:54:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2eabfd2f012472f95af6416b3f703c9db67e1397",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' of https://hosted.weblate.org/git/ntfy/web",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-03T22:32:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0054ea3946ba7365be241bfb2f93e3d105a7e7b",
          "body": null,
          "is_bot": false,
          "headline": "Split out auth to server_auth.go",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-03T22:32:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "97282d6e3de549c734731e9330ae37911fc495b3",
          "body": null,
          "is_bot": false,
          "headline": "Release notes",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-03T00:54:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef7aa3188101e88070f09aedeaf39e7393ccdc89",
          "body": "Currently translated at 100.0% (459 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/pl/",
          "is_bot": false,
          "headline": "Translated using Weblate (Polish)",
          "author_name": "NooB9496",
          "author_login": null,
          "committed_at": "2026-07-03T00:53:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aaa124973b3650842086b47fa1a119667aa596e3",
          "body": "Currently translated at 100.0% (459 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/ja/",
          "is_bot": false,
          "headline": "Translated using Weblate (Japanese)",
          "author_name": "Shoshin Akamine",
          "author_login": null,
          "committed_at": "2026-07-03T00:53:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "69c2c18a9e0441a6b03ffcc573e01f7a4a6ccdb5",
          "body": null,
          "is_bot": false,
          "headline": "Moved template functions",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-02T21:17:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "479e406493efe0a11044671318f9e83e20a24111",
          "body": null,
          "is_bot": false,
          "headline": "Split out web functions to server_web.go",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-02T21:11:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6429d367085d0fa62f6d64755a3c81f3b9790a4d",
          "body": null,
          "is_bot": false,
          "headline": "Bump",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-02T20:57:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73f771dafac608c5da3c18b9b7c32ad8e6df4476",
          "body": null,
          "is_bot": false,
          "headline": "Release notes",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-02T20:53:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e1f27d7096b959ce7cfa1d23378ca0d1a32c403",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' of https://hosted.weblate.org/git/ntfy/web",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-02T20:51:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ed71dd4d0d5e5530b1143456feef60324d83cab",
          "body": "Remove a useless loop",
          "is_bot": false,
          "headline": "Merge pull request #1818 from jvoisin/cleanup",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-02T20:46:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4adf8580572b79bac5be3bec0ac5a670bfba26c",
          "body": null,
          "is_bot": false,
          "headline": "Remove MagicBell as sponsor",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-02T18:24:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c0ab6e6b07e6b6481484bb141da3c2a68730a19",
          "body": "It's functionally equivalent to the lines above it.",
          "is_bot": false,
          "headline": "Remove a useless loop",
          "author_name": "jvoisin",
          "author_login": "jvoisin",
          "committed_at": "2026-07-02T16:13:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e39de727e098aba4a8312a5ea1f5dc2de511df48",
          "body": null,
          "is_bot": false,
          "headline": "Bump and Fixes",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-01T15:49:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a67b5129e2011e37fdf49356058f8bd69524a39",
          "body": null,
          "is_bot": false,
          "headline": "Strip unsafe URLs from Markdown links",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-07-01T14:28:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f5067d295cd17936323769c3d26432cc2d3db470",
          "body": "Currently translated at 100.0% (459 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/et/",
          "is_bot": false,
          "headline": "Translated using Weblate (Estonian)",
          "author_name": "Priit Jõerüüt",
          "author_login": null,
          "committed_at": "2026-07-01T10:01:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "958ce520ec9d311afd9c213cc0e9411fcd4f8ac8",
          "body": "Currently translated at 100.0% (459 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/it/",
          "is_bot": false,
          "headline": "Translated using Weblate (Italian)",
          "author_name": "Gringo",
          "author_login": "Gringit",
          "committed_at": "2026-07-01T10:01:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "edbf600cd7e934a595649f8ba964c195b791657e",
          "body": "Currently translated at 100.0% (459 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/fr/",
          "is_bot": false,
          "headline": "Translated using Weblate (French)",
          "author_name": "Guillaume Petit",
          "author_login": "edel79",
          "committed_at": "2026-07-01T10:01:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ed57ec0648a51363b32719aa90a8551ee8e2538",
          "body": "Bumps [i18next-browser-languagedetector](https://github.com/i18next/i18next-browser-languageDetector) from 6.1.8 to 8.2.1.\n- [Changelog](https://github.com/i18next/i18next-browser-languageDetector/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/i18next/i18next-browser-languageDetector/compa\n[…]\ne: i18next-browser-languagedetector\n  dependency-version: 8.2.1\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump i18next-browser-languagedetector from 6.1.8 to 8.2.1 in /web",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-30T21:42:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e28d8aca59aff3c0057e383fa3b50fa5d08cd67c",
          "body": "Currently translated at 96.5% (443 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/et/",
          "is_bot": false,
          "headline": "Translated using Weblate (Estonian)",
          "author_name": "Priit Jõerüüt",
          "author_login": null,
          "committed_at": "2026-06-30T09:30:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6f044748207d34c883da0c363edd65015d89656",
          "body": "Currently translated at 100.0% (459 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/hu/",
          "is_bot": false,
          "headline": "Translated using Weblate (Hungarian)",
          "author_name": "internetezoo",
          "author_login": "Internetezoo",
          "committed_at": "2026-06-30T09:30:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2b22c114fc959966abcb229dd3dff320c2c06af",
          "body": null,
          "is_bot": false,
          "headline": "Fix lint",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-30T02:32:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c873064cada449b1e7c1e7798c288c7237fc667d",
          "body": null,
          "is_bot": false,
          "headline": "Date / time format",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-30T02:24:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4c0bd704089a565c17a8dd8d857bb6aba5f5a986",
          "body": "Currently translated at 100.0% (459 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/id/",
          "is_bot": false,
          "headline": "Translated using Weblate (Indonesian)",
          "author_name": "cyberboh",
          "author_login": "cyberboh",
          "committed_at": "2026-06-28T11:00:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9078662bdd2c6d0531895ac77b8c04c5818b98d5",
          "body": "Add Sifio to the Integrations page",
          "is_bot": false,
          "headline": "Merge pull request #1806 from sifio-dev/add-sifio-integration",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-27T17:44:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5970f03973e1cb74718f59368fc805e0c7b66a6a",
          "body": null,
          "is_bot": false,
          "headline": "Add Sifio to the Integrations page",
          "author_name": "sifio-dev",
          "author_login": "sifio-dev",
          "committed_at": "2026-06-27T17:38:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6cbcfd95fae15ca0410592b69c607c45f22e0da0",
          "body": null,
          "is_bot": false,
          "headline": "Helm install instructions",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-27T13:52:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b1339ff4a100290b9c964d1fa8bf028967f15c5",
          "body": null,
          "is_bot": false,
          "headline": "Bump release note",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-27T13:37:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7881b973d7bdb3c1fa33ee705ef657e5018061d8",
          "body": null,
          "is_bot": false,
          "headline": "Bump Go",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-27T13:10:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a5458d237e430f8d54801cede482fc627e118e8",
          "body": null,
          "is_bot": false,
          "headline": "Bump develop docs",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-27T13:06:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f6ab9e7c5846eac2f59254ec2d6eff5e0462b4ae",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' of https://hosted.weblate.org/git/ntfy/web",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-27T12:56:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8ac283353c0e4efbc13a216787816ee235e915a",
          "body": "Currently translated at 100.0% (459 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/zh_Hans/",
          "is_bot": false,
          "headline": "Translated using Weblate (Chinese (Simplified Han script))",
          "author_name": "Hosted Weblate user 54392",
          "author_login": null,
          "committed_at": "2026-06-27T04:01:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86b077a2927d6119141c986b8b9b6e684c6499b9",
          "body": "Currently translated at 100.0% (459 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/zh_Hans/",
          "is_bot": false,
          "headline": "Translated using Weblate (Chinese (Simplified Han script))",
          "author_name": "weiwudi",
          "author_login": "f841705799",
          "committed_at": "2026-06-27T04:01:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d44a566528c6bf2ad4f673c35cfde0ed687c6c10",
          "body": "Currently translated at 90.6% (416 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/bg/",
          "is_bot": false,
          "headline": "Translated using Weblate (Bulgarian)",
          "author_name": "109247019824",
          "author_login": null,
          "committed_at": "2026-06-27T04:01:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "72b71551303bea0aa23bcd3367ebe0c914b53ec3",
          "body": "Currently translated at 100.0% (459 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/de/",
          "is_bot": false,
          "headline": "Translated using Weblate (German)",
          "author_name": "Philipp Heckel",
          "author_login": null,
          "committed_at": "2026-06-27T04:01:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aeacd0a3d6611b27e2f9e245d67cd390e23ae34d",
          "body": "Add Flowtriq DDoS detection to integrations",
          "is_bot": false,
          "headline": "Merge pull request #1804 from jacob-masse/add-flowtriq-integration",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-26T20:03:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3302ad2479e197a1b7a5e40eb2e0ca168e3927a6",
          "body": "Transitions",
          "is_bot": false,
          "headline": "Merge pull request #1802 from binwiederhier/transitions",
          "author_name": "Philipp C. Heckel",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-26T20:01:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9105dad09d15b3705ed58df83a75a7866516b8b",
          "body": null,
          "is_bot": false,
          "headline": "Release notes",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-26T20:01:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5765be78925dd1e1badee7ca02412bbfcf1b1b02",
          "body": null,
          "is_bot": false,
          "headline": "Root ref",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-26T19:59:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a99bfc717086398830769fe8e5e110fa9b47e9b",
          "body": null,
          "is_bot": false,
          "headline": "COndense comments, better prefcache use for theme",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-26T11:58:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "156ad4ae92c0c9e38616480dcc67f18c41b1ddf8",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into transitions",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-26T10:21:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6dc691672f8a2b932cfd134c43197aef9425783",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' of https://hosted.weblate.org/git/ntfy/web",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-26T10:21:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9114d1e996fb366ab3be3318260278257db9b095",
          "body": null,
          "is_bot": false,
          "headline": "Pref context",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-26T10:20:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "55d871aeb2f7dad261151a7460aa39900e5c97d4",
          "body": "Currently translated at 94.3% (433 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/pt/",
          "is_bot": false,
          "headline": "Translated using Weblate (Portuguese)",
          "author_name": "Rui Barbosa",
          "author_login": "RuiFPB",
          "committed_at": "2026-06-26T03:16:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a5318a4312639e923bb096c257e9858a6d18ec20",
          "body": "Currently translated at 88.2% (405 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/zh_Hans/",
          "is_bot": false,
          "headline": "Translated using Weblate (Chinese (Simplified Han script))",
          "author_name": "Hosted Weblate user 54392",
          "author_login": null,
          "committed_at": "2026-06-26T03:16:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f77d299aa3384265a07e3f35cd4d4b6085b21fed",
          "body": "Currently translated at 88.2% (405 of 459 strings)\n\nTranslation: ntfy/Web app\nTranslate-URL: https://hosted.weblate.org/projects/ntfy/web/bg/",
          "is_bot": false,
          "headline": "Translated using Weblate (Bulgarian)",
          "author_name": "109247019824",
          "author_login": null,
          "committed_at": "2026-06-26T03:16:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af66cc3ddc1c72e7b162b43eaf513d5740d86f7d",
          "body": null,
          "is_bot": false,
          "headline": "Undo theme weirdness",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-26T02:40:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a47eef50065dc73838c98959f1e4f2db34c784ae",
          "body": null,
          "is_bot": false,
          "headline": "Centralize fade out",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-26T02:33:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ac7cbd4fe175750ae2911259bb9d600bbeaa482",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' of github.com:binwiederhier/ntfy into transitions",
          "author_name": "binwiederhier",
          "author_login": "binwiederhier",
          "committed_at": "2026-06-26T01:52:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 887,
      "latest_release_at": "2026-07-20T21:36:41Z",
      "latest_release_tag": "v2.26.3",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 51,
      "days_since_latest_release": 13,
      "mean_days_between_releases": 14
    },
    "artifacts": {
      "collected": true,
      "structure": [
        "tree.compose",
        "tree.dockerfile",
        "tree.go_main",
        "tree.goreleaser"
      ],
      "declarations": [
        {
          "name": null,
          "path": "web/package.json",
          "tokens": [
            "npm.private"
          ],
          "ecosystem": "npm"
        }
      ]
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "readme_badges": {
        "hosts": [
          "codecov.io",
          "github.com",
          "goreportcard.com",
          "pkg.go.dev",
          "shields.io"
        ],
        "total": 9,
        "header": 0,
        "collected": true,
        "has_inspect_badge": false
      },
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 100,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "heckel.io/ntfy/v2",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "categories": [],
          "matches_repo": null,
          "registry_url": "https://pkg.go.dev/heckel.io/ntfy/v2",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "v2.26.3",
          "repository_url": null,
          "versions_count": 39,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-20T21:23:42Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 13
        }
      ]
    },
    "popularity": {
      "forks": 1483,
      "stars": 32769,
      "watchers": 95,
      "fork_history": {
        "days": [
          {
            "date": "2023-11-08",
            "count": 1
          },
          {
            "date": "2023-11-11",
            "count": 1
          },
          {
            "date": "2023-11-13",
            "count": 2
          },
          {
            "date": "2023-11-14",
            "count": 1
          },
          {
            "date": "2023-11-15",
            "count": 1
          },
          {
            "date": "2023-11-16",
            "count": 1
          },
          {
            "date": "2023-11-17",
            "count": 1
          },
          {
            "date": "2023-11-18",
            "count": 2
          },
          {
            "date": "2023-11-19",
            "count": 1
          },
          {
            "date": "2023-11-24",
            "count": 1
          },
          {
            "date": "2023-11-25",
            "count": 2
          },
          {
            "date": "2023-11-27",
            "count": 1
          },
          {
            "date": "2023-11-28",
            "count": 2
          },
          {
            "date": "2023-11-29",
            "count": 1
          },
          {
            "date": "2023-11-30",
            "count": 1
          },
          {
            "date": "2023-12-01",
            "count": 2
          },
          {
            "date": "2023-12-06",
            "count": 1
          },
          {
            "date": "2023-12-09",
            "count": 1
          },
          {
            "date": "2023-12-11",
            "count": 1
          },
          {
            "date": "2023-12-16",
            "count": 1
          },
          {
            "date": "2023-12-18",
            "count": 1
          },
          {
            "date": "2023-12-25",
            "count": 1
          },
          {
            "date": "2023-12-30",
            "count": 1
          },
          {
            "date": "2023-12-31",
            "count": 2
          },
          {
            "date": "2024-01-02",
            "count": 1
          },
          {
            "date": "2024-01-04",
            "count": 1
          },
          {
            "date": "2024-01-05",
            "count": 1
          },
          {
            "date": "2024-01-09",
            "count": 1
          },
          {
            "date": "2024-01-12",
            "count": 1
          },
          {
            "date": "2024-01-14",
            "count": 2
          },
          {
            "date": "2024-01-15",
            "count": 2
          },
          {
            "date": "2024-01-16",
            "count": 1
          },
          {
            "date": "2024-01-17",
            "count": 2
          },
          {
            "date": "2024-01-18",
            "count": 1
          },
          {
            "date": "2024-01-19",
            "count": 1
          },
          {
            "date": "2024-01-23",
            "count": 1
          },
          {
            "date": "2024-01-28",
            "count": 1
          },
          {
            "date": "2024-01-29",
            "count": 1
          },
          {
            "date": "2024-01-30",
            "count": 1
          },
          {
            "date": "2024-02-05",
            "count": 2
          },
          {
            "date": "2024-02-08",
            "count": 1
          },
          {
            "date": "2024-02-09",
            "count": 1
          },
          {
            "date": "2024-02-13",
            "count": 1
          },
          {
            "date": "2024-02-14",
            "count": 1
          },
          {
            "date": "2024-02-19",
            "count": 1
          },
          {
            "date": "2024-02-20",
            "count": 1
          },
          {
            "date": "2024-02-22",
            "count": 2
          },
          {
            "date": "2024-02-27",
            "count": 1
          },
          {
            "date": "2024-02-28",
            "count": 1
          },
          {
            "date": "2024-03-03",
            "count": 2
          },
          {
            "date": "2024-03-04",
            "count": 1
          },
          {
            "date": "2024-03-06",
            "count": 1
          },
          {
            "date": "2024-03-07",
            "count": 4
          },
          {
            "date": "2024-03-08",
            "count": 1
          },
          {
            "date": "2024-03-13",
            "count": 1
          },
          {
            "date": "2024-03-14",
            "count": 2
          },
          {
            "date": "2024-03-16",
            "count": 2
          },
          {
            "date": "2024-03-20",
            "count": 1
          },
          {
            "date": "2024-03-23",
            "count": 1
          },
          {
            "date": "2024-03-27",
            "count": 1
          },
          {
            "date": "2024-03-28",
            "count": 2
          },
          {
            "date": "2024-03-29",
            "count": 2
          },
          {
            "date": "2024-04-03",
            "count": 2
          },
          {
            "date": "2024-04-09",
            "count": 1
          },
          {
            "date": "2024-04-14",
            "count": 2
          },
          {
            "date": "2024-04-17",
            "count": 2
          },
          {
            "date": "2024-04-18",
            "count": 1
          },
          {
            "date": "2024-04-21",
            "count": 2
          },
          {
            "date": "2024-04-28",
            "count": 1
          },
          {
            "date": "2024-04-29",
            "count": 1
          },
          {
            "date": "2024-04-30",
            "count": 1
          },
          {
            "date": "2024-05-03",
            "count": 1
          },
          {
            "date": "2024-05-06",
            "count": 3
          },
          {
            "date": "2024-05-07",
            "count": 1
          },
          {
            "date": "2024-05-11",
            "count": 1
          },
          {
            "date": "2024-05-15",
            "count": 3
          },
          {
            "date": "2024-05-18",
            "count": 1
          },
          {
            "date": "2024-05-19",
            "count": 1
          },
          {
            "date": "2024-05-22",
            "count": 2
          },
          {
            "date": "2024-05-25",
            "count": 1
          },
          {
            "date": "2024-05-26",
            "count": 2
          },
          {
            "date": "2024-05-28",
            "count": 1
          },
          {
            "date": "2024-05-29",
            "count": 2
          },
          {
            "date": "2024-06-01",
            "count": 1
          },
          {
            "date": "2024-06-03",
            "count": 1
          },
          {
            "date": "2024-06-04",
            "count": 1
          },
          {
            "date": "2024-06-06",
            "count": 1
          },
          {
            "date": "2024-06-13",
            "count": 2
          },
          {
            "date": "2024-06-15",
            "count": 1
          },
          {
            "date": "2024-06-16",
            "count": 2
          },
          {
            "date": "2024-06-21",
            "count": 1
          },
          {
            "date": "2024-06-22",
            "count": 1
          },
          {
            "date": "2024-06-23",
            "count": 1
          },
          {
            "date": "2024-06-26",
            "count": 2
          },
          {
            "date": "2024-06-29",
            "count": 1
          },
          {
            "date": "2024-06-30",
            "count": 2
          },
          {
            "date": "2024-07-05",
            "count": 1
          },
          {
            "date": "2024-07-06",
            "count": 1
          },
          {
            "date": "2024-07-11",
            "count": 2
          },
          {
            "date": "2024-07-12",
            "count": 2
          },
          {
            "date": "2024-07-16",
            "count": 1
          },
          {
            "date": "2024-07-18",
            "count": 1
          },
          {
            "date": "2024-07-19",
            "count": 1
          },
          {
            "date": "2024-07-21",
            "count": 1
          },
          {
            "date": "2024-07-22",
            "count": 2
          },
          {
            "date": "2024-07-23",
            "count": 1
          },
          {
            "date": "2024-07-26",
            "count": 1
          },
          {
            "date": "2024-07-30",
            "count": 1
          },
          {
            "date": "2024-08-06",
            "count": 1
          },
          {
            "date": "2024-08-07",
            "count": 1
          },
          {
            "date": "2024-08-08",
            "count": 2
          },
          {
            "date": "2024-08-13",
            "count": 2
          },
          {
            "date": "2024-08-15",
            "count": 1
          },
          {
            "date": "2024-08-16",
            "count": 1
          },
          {
            "date": "2024-08-18",
            "count": 1
          },
          {
            "date": "2024-08-22",
            "count": 1
          },
          {
            "date": "2024-08-23",
            "count": 1
          },
          {
            "date": "2024-08-26",
            "count": 1
          },
          {
            "date": "2024-08-30",
            "count": 2
          },
          {
            "date": "2024-08-31",
            "count": 1
          },
          {
            "date": "2024-09-03",
            "count": 1
          },
          {
            "date": "2024-09-08",
            "count": 1
          },
          {
            "date": "2024-09-09",
            "count": 1
          },
          {
            "date": "2024-09-11",
            "count": 1
          },
          {
            "date": "2024-09-13",
            "count": 1
          },
          {
            "date": "2024-09-17",
            "count": 2
          },
          {
            "date": "2024-09-18",
            "count": 1
          },
          {
            "date": "2024-09-19",
            "count": 1
          },
          {
            "date": "2024-09-22",
            "count": 1
          },
          {
            "date": "2024-09-25",
            "count": 1
          },
          {
            "date": "2024-10-01",
            "count": 2
          },
          {
            "date": "2024-10-02",
            "count": 3
          },
          {
            "date": "2024-10-05",
            "count": 1
          },
          {
            "date": "2024-10-06",
            "count": 1
          },
          {
            "date": "2024-10-08",
            "count": 1
          },
          {
            "date": "2024-10-09",
            "count": 1
          },
          {
            "date": "2024-10-10",
            "count": 1
          },
          {
            "date": "2024-10-12",
            "count": 1
          },
          {
            "date": "2024-10-15",
            "count": 2
          },
          {
            "date": "2024-10-17",
            "count": 2
          },
          {
            "date": "2024-10-18",
            "count": 1
          },
          {
            "date": "2024-10-20",
            "count": 1
          },
          {
            "date": "2024-10-21",
            "count": 1
          },
          {
            "date": "2024-10-23",
            "count": 1
          },
          {
            "date": "2024-10-28",
            "count": 1
          },
          {
            "date": "2024-10-29",
            "count": 1
          },
          {
            "date": "2024-10-31",
            "count": 1
          },
          {
            "date": "2024-11-02",
            "count": 1
          },
          {
            "date": "2024-11-03",
            "count": 2
          },
          {
            "date": "2024-11-05",
            "count": 1
          },
          {
            "date": "2024-11-06",
            "count": 2
          },
          {
            "date": "2024-11-08",
            "count": 2
          },
          {
            "date": "2024-11-10",
            "count": 1
          },
          {
            "date": "2024-11-11",
            "count": 1
          },
          {
            "date": "2024-11-14",
            "count": 1
          },
          {
            "date": "2024-11-16",
            "count": 1
          },
          {
            "date": "2024-11-18",
            "count": 1
          },
          {
            "date": "2024-11-20",
            "count": 1
          },
          {
            "date": "2024-11-22",
            "count": 1
          },
          {
            "date": "2024-11-23",
            "count": 1
          },
          {
            "date": "2024-11-30",
            "count": 2
          },
          {
            "date": "2024-12-04",
            "count": 2
          },
          {
            "date": "2024-12-07",
            "count": 1
          },
          {
            "date": "2024-12-09",
            "count": 2
          },
          {
            "date": "2024-12-10",
            "count": 1
          },
          {
            "date": "2024-12-11",
            "count": 1
          },
          {
            "date": "2024-12-13",
            "count": 1
          },
          {
            "date": "2024-12-19",
            "count": 1
          },
          {
            "date": "2024-12-20",
            "count": 1
          },
          {
            "date": "2024-12-23",
            "count": 1
          },
          {
            "date": "2024-12-24",
            "count": 2
          },
          {
            "date": "2024-12-27",
            "count": 2
          },
          {
            "date": "2024-12-28",
            "count": 2
          },
          {
            "date": "2024-12-30",
            "count": 1
          },
          {
            "date": "2025-01-02",
            "count": 1
          },
          {
            "date": "2025-01-06",
            "count": 1
          },
          {
            "date": "2025-01-08",
            "count": 1
          },
          {
            "date": "2025-01-09",
            "count": 1
          },
          {
            "date": "2025-01-10",
            "count": 2
          },
          {
            "date": "2025-01-11",
            "count": 1
          },
          {
            "date": "2025-01-12",
            "count": 2
          },
          {
            "date": "2025-01-13",
            "count": 5
          },
          {
            "date": "2025-01-14",
            "count": 2
          },
          {
            "date": "2025-01-17",
            "count": 3
          },
          {
            "date": "2025-01-20",
            "count": 1
          },
          {
            "date": "2025-01-21",
            "count": 3
          },
          {
            "date": "2025-01-24",
            "count": 1
          },
          {
            "date": "2025-01-25",
            "count": 2
          },
          {
            "date": "2025-01-30",
            "count": 1
          },
          {
            "date": "2025-01-31",
            "count": 2
          },
          {
            "date": "2025-02-01",
            "count": 3
          },
          {
            "date": "2025-02-02",
            "count": 1
          },
          {
            "date": "2025-02-03",
            "count": 1
          },
          {
            "date": "2025-02-04",
            "count": 1
          },
          {
            "date": "2025-02-05",
            "count": 1
          },
          {
            "date": "2025-02-06",
            "count": 2
          },
          {
            "date": "2025-02-07",
            "count": 1
          },
          {
            "date": "2025-02-08",
            "count": 1
          },
          {
            "date": "2025-02-10",
            "count": 1
          },
          {
            "date": "2025-02-11",
            "count": 1
          },
          {
            "date": "2025-02-13",
            "count": 2
          },
          {
            "date": "2025-02-14",
            "count": 1
          },
          {
            "date": "2025-02-17",
            "count": 1
          },
          {
            "date": "2025-02-18",
            "count": 9
          },
          {
            "date": "2025-02-19",
            "count": 2
          },
          {
            "date": "2025-02-20",
            "count": 2
          },
          {
            "date": "2025-02-21",
            "count": 1
          },
          {
            "date": "2025-02-24",
            "count": 11
          },
          {
            "date": "2025-02-25",
            "count": 12
          },
          {
            "date": "2025-02-26",
            "count": 2
          },
          {
            "date": "2025-02-27",
            "count": 3
          },
          {
            "date": "2025-02-28",
            "count": 1
          },
          {
            "date": "2025-03-03",
            "count": 2
          },
          {
            "date": "2025-03-04",
            "count": 2
          },
          {
            "date": "2025-03-05",
            "count": 4
          },
          {
            "date": "2025-03-06",
            "count": 1
          },
          {
            "date": "2025-03-10",
            "count": 1
          },
          {
            "date": "2025-03-11",
            "count": 3
          },
          {
            "date": "2025-03-12",
            "count": 1
          },
          {
            "date": "2025-03-13",
            "count": 2
          },
          {
            "date": "2025-03-15",
            "count": 5
          },
          {
            "date": "2025-03-16",
            "count": 4
          },
          {
            "date": "2025-03-18",
            "count": 2
          },
          {
            "date": "2025-03-20",
            "count": 1
          },
          {
            "date": "2025-03-24",
            "count": 1
          },
          {
            "date": "2025-03-25",
            "count": 1
          },
          {
            "date": "2025-03-26",
            "count": 1
          },
          {
            "date": "2025-03-29",
            "count": 1
          },
          {
            "date": "2025-03-30",
            "count": 2
          },
          {
            "date": "2025-03-31",
            "count": 1
          },
          {
            "date": "2025-04-02",
            "count": 1
          },
          {
            "date": "2025-04-06",
            "count": 2
          },
          {
            "date": "2025-04-07",
            "count": 4
          },
          {
            "date": "2025-04-08",
            "count": 1
          },
          {
            "date": "2025-04-09",
            "count": 1
          },
          {
            "date": "2025-04-10",
            "count": 1
          },
          {
            "date": "2025-04-11",
            "count": 1
          },
          {
            "date": "2025-04-12",
            "count": 1
          },
          {
            "date": "2025-04-14",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 1
          },
          {
            "date": "2025-04-20",
            "count": 1
          },
          {
            "date": "2025-04-21",
            "count": 1
          },
          {
            "date": "2025-04-23",
            "count": 1
          },
          {
            "date": "2025-04-25",
            "count": 1
          },
          {
            "date": "2025-04-26",
            "count": 1
          },
          {
            "date": "2025-04-27",
            "count": 1
          },
          {
            "date": "2025-04-29",
            "count": 1
          },
          {
            "date": "2025-05-04",
            "count": 1
          },
          {
            "date": "2025-05-05",
            "count": 2
          },
          {
            "date": "2025-05-08",
            "count": 1
          },
          {
            "date": "2025-05-09",
            "count": 1
          },
          {
            "date": "2025-05-10",
            "count": 1
          },
          {
            "date": "2025-05-12",
            "count": 1
          },
          {
            "date": "2025-05-13",
            "count": 1
          },
          {
            "date": "2025-05-15",
            "count": 1
          },
          {
            "date": "2025-05-17",
            "count": 1
          },
          {
            "date": "2025-05-18",
            "count": 1
          },
          {
            "date": "2025-05-21",
            "count": 1
          },
          {
            "date": "2025-05-22",
            "count": 1
          },
          {
            "date": "2025-05-24",
            "count": 1
          },
          {
            "date": "2025-05-27",
            "count": 1
          },
          {
            "date": "2025-05-29",
            "count": 2
          },
          {
            "date": "2025-05-30",
            "count": 5
          },
          {
            "date": "2025-06-02",
            "count": 1
          },
          {
            "date": "2025-06-04",
            "count": 2
          },
          {
            "date": "2025-06-09",
            "count": 1
          },
          {
            "date": "2025-06-10",
            "count": 1
          },
          {
            "date": "2025-06-12",
            "count": 1
          },
          {
            "date": "2025-06-13",
            "count": 3
          },
          {
            "date": "2025-06-14",
            "count": 1
          },
          {
            "date": "2025-06-19",
            "count": 2
          },
          {
            "date": "2025-06-20",
            "count": 1
          },
          {
            "date": "2025-06-24",
            "count": 1
          },
          {
            "date": "2025-06-25",
            "count": 1
          },
          {
            "date": "2025-06-27",
            "count": 2
          },
          {
            "date": "2025-06-30",
            "count": 1
          },
          {
            "date": "2025-07-01",
            "count": 14
          },
          {
            "date": "2025-07-02",
            "count": 11
          },
          {
            "date": "2025-07-03",
            "count": 7
          },
          {
            "date": "2025-07-04",
            "count": 2
          },
          {
            "date": "2025-07-05",
            "count": 4
          },
          {
            "date": "2025-07-06",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 2
          },
          {
            "date": "2025-07-09",
            "count": 1
          },
          {
            "date": "2025-07-10",
            "count": 2
          },
          {
            "date": "2025-07-11",
            "count": 1
          },
          {
            "date": "2025-07-12",
            "count": 2
          },
          {
            "date": "2025-07-13",
            "count": 1
          },
          {
            "date": "2025-07-15",
            "count": 1
          },
          {
            "date": "2025-07-17",
            "count": 3
          },
          {
            "date": "2025-07-19",
            "count": 1
          },
          {
            "date": "2025-07-20",
            "count": 1
          },
          {
            "date": "2025-07-21",
            "count": 1
          },
          {
            "date": "2025-07-22",
            "count": 3
          },
          {
            "date": "2025-07-24",
            "count": 2
          },
          {
            "date": "2025-07-29",
            "count": 1
          },
          {
            "date": "2025-07-30",
            "count": 2
          },
          {
            "date": "2025-07-31",
            "count": 3
          },
          {
            "date": "2025-08-01",
            "count": 4
          },
          {
            "date": "2025-08-05",
            "count": 2
          },
          {
            "date": "2025-08-07",
            "count": 2
          },
          {
            "date": "2025-08-08",
            "count": 1
          },
          {
            "date": "2025-08-11",
            "count": 1
          },
          {
            "date": "2025-08-12",
            "count": 1
          },
          {
            "date": "2025-08-17",
            "count": 1
          },
          {
            "date": "2025-08-18",
            "count": 1
          },
          {
            "date": "2025-08-19",
            "count": 1
          },
          {
            "date": "2025-08-20",
            "count": 2
          },
          {
            "date": "2025-08-21",
            "count": 1
          },
          {
            "date": "2025-08-23",
            "count": 1
          },
          {
            "date": "2025-08-24",
            "count": 1
          },
          {
            "date": "2025-08-25",
            "count": 1
          },
          {
            "date": "2025-08-26",
            "count": 1
          },
          {
            "date": "2025-08-28",
            "count": 2
          },
          {
            "date": "2025-08-30",
            "count": 1
          },
          {
            "date": "2025-08-31",
            "count": 1
          },
          {
            "date": "2025-09-01",
            "count": 1
          },
          {
            "date": "2025-09-02",
            "count": 2
          },
          {
            "date": "2025-09-03",
            "count": 1
          },
          {
            "date": "2025-09-04",
            "count": 2
          },
          {
            "date": "2025-09-05",
            "count": 1
          },
          {
            "date": "2025-09-06",
            "count": 1
          },
          {
            "date": "2025-09-08",
            "count": 2
          },
          {
            "date": "2025-09-09",
            "count": 1
          },
          {
            "date": "2025-09-11",
            "count": 2
          },
          {
            "date": "2025-09-13",
            "count": 1
          },
          {
            "date": "2025-09-15",
            "count": 1
          },
          {
            "date": "2025-09-16",
            "count": 1
          },
          {
            "date": "2025-09-17",
            "count": 1
          },
          {
            "date": "2025-09-18",
            "count": 2
          },
          {
            "date": "2025-09-19",
            "count": 1
          },
          {
            "date": "2025-09-20",
            "count": 1
          },
          {
            "date": "2025-09-23",
            "count": 1
          },
          {
            "date": "2025-09-24",
            "count": 1
          },
          {
            "date": "2025-09-25",
            "count": 1
          },
          {
            "date": "2025-09-27",
            "count": 1
          },
          {
            "date": "2025-09-28",
            "count": 3
          },
          {
            "date": "2025-09-29",
            "count": 1
          },
          {
            "date": "2025-09-30",
            "count": 2
          },
          {
            "date": "2025-10-02",
            "count": 1
          },
          {
            "date": "2025-10-03",
            "count": 2
          },
          {
            "date": "2025-10-08",
            "count": 1
          },
          {
            "date": "2025-10-11",
            "count": 3
          },
          {
            "date": "2025-10-12",
            "count": 1
          },
          {
            "date": "2025-10-14",
            "count": 1
          },
          {
            "date": "2025-10-15",
            "count": 1
          },
          {
            "date": "2025-10-17",
            "count": 3
          },
          {
            "date": "2025-10-18",
            "count": 4
          },
          {
            "date": "2025-10-19",
            "count": 1
          },
          {
            "date": "2025-10-20",
            "count": 1
          },
          {
            "date": "2025-10-23",
            "count": 1
          },
          {
            "date": "2025-10-27",
            "count": 2
          },
          {
            "date": "2025-10-28",
            "count": 1
          },
          {
            "date": "2025-10-30",
            "count": 1
          },
          {
            "date": "2025-10-31",
            "count": 1
          },
          {
            "date": "2025-11-01",
            "count": 1
          },
          {
            "date": "2025-11-06",
            "count": 1
          },
          {
            "date": "2025-11-08",
            "count": 2
          },
          {
            "date": "2025-11-11",
            "count": 2
          },
          {
            "date": "2025-11-12",
            "count": 1
          },
          {
            "date": "2025-11-13",
            "count": 2
          },
          {
            "date": "2025-11-14",
            "count": 4
          },
          {
            "date": "2025-11-15",
            "count": 2
          },
          {
            "date": "2025-11-16",
            "count": 1
          },
          {
            "date": "2025-11-17",
            "count": 1
          },
          {
            "date": "2025-11-18",
            "count": 3
          },
          {
            "date": "2025-11-19",
            "count": 2
          },
          {
            "date": "2025-11-23",
            "count": 2
          },
          {
            "date": "2025-11-24",
            "count": 2
          },
          {
            "date": "2025-11-25",
            "count": 2
          },
          {
            "date": "2025-11-27",
            "count": 1
          },
          {
            "date": "2025-11-28",
            "count": 1
          },
          {
            "date": "2025-12-01",
            "count": 2
          },
          {
            "date": "2025-12-03",
            "count": 2
          },
          {
            "date": "2025-12-06",
            "count": 1
          },
          {
            "date": "2025-12-08",
            "count": 2
          },
          {
            "date": "2025-12-09",
            "count": 1
          },
          {
            "date": "2025-12-11",
            "count": 1
          },
          {
            "date": "2025-12-12",
            "count": 1
          },
          {
            "date": "2025-12-13",
            "count": 1
          },
          {
            "date": "2025-12-15",
            "count": 1
          },
          {
            "date": "2025-12-16",
            "count": 1
          },
          {
            "date": "2025-12-17",
            "count": 1
          },
          {
            "date": "2025-12-18",
            "count": 1
          },
          {
            "date": "2025-12-20",
            "count": 1
          },
          {
            "date": "2025-12-21",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 1
          },
          {
            "date": "2025-12-23",
            "count": 3
          },
          {
            "date": "2025-12-25",
            "count": 1
          },
          {
            "date": "2025-12-26",
            "count": 2
          },
          {
            "date": "2025-12-29",
            "count": 1
          },
          {
            "date": "2025-12-30",
            "count": 2
          },
          {
            "date": "2025-12-31",
            "count": 2
          },
          {
            "date": "2026-01-01",
            "count": 1
          },
          {
            "date": "2026-01-02",
            "count": 1
          },
          {
            "date": "2026-01-04",
            "count": 2
          },
          {
            "date": "2026-01-05",
            "count": 1
          },
          {
            "date": "2026-01-06",
            "count": 2
          },
          {
            "date": "2026-01-09",
            "count": 1
          },
          {
            "date": "2026-01-11",
            "count": 1
          },
          {
            "date": "2026-01-12",
            "count": 1
          },
          {
            "date": "2026-01-13",
            "count": 1
          },
          {
            "date": "2026-01-16",
            "count": 1
          },
          {
            "date": "2026-01-17",
            "count": 4
          },
          {
            "date": "2026-01-18",
            "count": 2
          },
          {
            "date": "2026-01-19",
            "count": 2
          },
          {
            "date": "2026-01-22",
            "count": 2
          },
          {
            "date": "2026-01-24",
            "count": 1
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-01-26",
            "count": 1
          },
          {
            "date": "2026-01-29",
            "count": 1
          },
          {
            "date": "2026-01-30",
            "count": 2
          },
          {
            "date": "2026-01-31",
            "count": 1
          },
          {
            "date": "2026-02-02",
            "count": 1
          },
          {
            "date": "2026-02-03",
            "count": 3
          },
          {
            "date": "2026-02-05",
            "count": 2
          },
          {
            "date": "2026-02-07",
            "count": 1
          },
          {
            "date": "2026-02-09",
            "count": 2
          },
          {
            "date": "2026-02-10",
            "count": 3
          },
          {
            "date": "2026-02-12",
            "count": 1
          },
          {
            "date": "2026-02-14",
            "count": 2
          },
          {
            "date": "2026-02-15",
            "count": 1
          },
          {
            "date": "2026-02-16",
            "count": 2
          },
          {
            "date": "2026-02-17",
            "count": 1
          },
          {
            "date": "2026-02-18",
            "count": 2
          },
          {
            "date": "2026-02-21",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 1
          },
          {
            "date": "2026-02-24",
            "count": 1
          },
          {
            "date": "2026-02-28",
            "count": 1
          },
          {
            "date": "2026-03-01",
            "count": 1
          },
          {
            "date": "2026-03-02",
            "count": 2
          },
          {
            "date": "2026-03-03",
            "count": 1
          },
          {
            "date": "2026-03-04",
            "count": 1
          },
          {
            "date": "2026-03-05",
            "count": 1
          },
          {
            "date": "2026-03-09",
            "count": 2
          },
          {
            "date": "2026-03-10",
            "count": 1
          },
          {
            "date": "2026-03-11",
            "count": 3
          },
          {
            "date": "2026-03-12",
            "count": 1
          },
          {
            "date": "2026-03-13",
            "count": 2
          },
          {
            "date": "2026-03-14",
            "count": 2
          },
          {
            "date": "2026-03-15",
            "count": 3
          },
          {
            "date": "2026-03-16",
            "count": 1
          },
          {
            "date": "2026-03-17",
            "count": 2
          },
          {
            "date": "2026-03-20",
            "count": 2
          },
          {
            "date": "2026-03-21",
            "count": 2
          },
          {
            "date": "2026-03-22",
            "count": 1
          },
          {
            "date": "2026-03-24",
            "count": 3
          },
          {
            "date": "2026-03-25",
            "count": 2
          },
          {
            "date": "2026-03-26",
            "count": 1
          },
          {
            "date": "2026-03-28",
            "count": 3
          },
          {
            "date": "2026-03-29",
            "count": 1
          },
          {
            "date": "2026-03-30",
            "count": 1
          },
          {
            "date": "2026-04-01",
            "count": 2
          },
          {
            "date": "2026-04-02",
            "count": 1
          },
          {
            "date": "2026-04-03",
            "count": 1
          },
          {
            "date": "2026-04-06",
            "count": 1
          },
          {
            "date": "2026-04-07",
            "count": 2
          },
          {
            "date": "2026-04-08",
            "count": 1
          },
          {
            "date": "2026-04-09",
            "count": 2
          },
          {
            "date": "2026-04-11",
            "count": 1
          },
          {
            "date": "2026-04-12",
            "count": 3
          },
          {
            "date": "2026-04-14",
            "count": 1
          },
          {
            "date": "2026-04-16",
            "count": 2
          },
          {
            "date": "2026-04-17",
            "count": 2
          },
          {
            "date": "2026-04-18",
            "count": 2
          },
          {
            "date": "2026-04-19",
            "count": 2
          },
          {
            "date": "2026-04-20",
            "count": 2
          },
          {
            "date": "2026-04-21",
            "count": 2
          },
          {
            "date": "2026-04-22",
            "count": 2
          },
          {
            "date": "2026-04-26",
            "count": 1
          },
          {
            "date": "2026-04-27",
            "count": 2
          },
          {
            "date": "2026-04-28",
            "count": 2
          },
          {
            "date": "2026-04-29",
            "count": 3
          },
          {
            "date": "2026-04-30",
            "count": 2
          },
          {
            "date": "2026-05-01",
            "count": 2
          },
          {
            "date": "2026-05-04",
            "count": 1
          },
          {
            "date": "2026-05-07",
            "count": 4
          },
          {
            "date": "2026-05-08",
            "count": 2
          },
          {
            "date": "2026-05-09",
            "count": 1
          },
          {
            "date": "2026-05-10",
            "count": 2
          },
          {
            "date": "2026-05-11",
            "count": 1
          },
          {
            "date": "2026-05-12",
            "count": 2
          },
          {
            "date": "2026-05-13",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 2
          },
          {
            "date": "2026-05-18",
            "count": 2
          },
          {
            "date": "2026-05-19",
            "count": 2
          },
          {
            "date": "2026-05-20",
            "count": 1
          },
          {
            "date": "2026-05-21",
            "count": 3
          },
          {
            "date": "2026-05-22",
            "count": 1
          },
          {
            "date": "2026-05-23",
            "count": 2
          },
          {
            "date": "2026-05-24",
            "count": 2
          },
          {
            "date": "2026-05-25",
            "count": 1
          },
          {
            "date": "2026-05-26",
            "count": 2
          },
          {
            "date": "2026-05-27",
            "count": 1
          },
          {
            "date": "2026-05-28",
            "count": 1
          },
          {
            "date": "2026-05-29",
            "count": 5
          },
          {
            "date": "2026-05-30",
            "count": 2
          },
          {
            "date": "2026-05-31",
            "count": 3
          },
          {
            "date": "2026-06-01",
            "count": 1
          },
          {
            "date": "2026-06-02",
            "count": 2
          },
          {
            "date": "2026-06-04",
            "count": 2
          },
          {
            "date": "2026-06-06",
            "count": 2
          },
          {
            "date": "2026-06-08",
            "count": 1
          },
          {
            "date": "2026-06-09",
            "count": 2
          },
          {
            "date": "2026-06-13",
            "count": 1
          },
          {
            "date": "2026-06-15",
            "count": 2
          },
          {
            "date": "2026-06-16",
            "count": 3
          },
          {
            "date": "2026-06-17",
            "count": 4
          },
          {
            "date": "2026-06-18",
            "count": 3
          },
          {
            "date": "2026-06-19",
            "count": 2
          },
          {
            "date": "2026-06-20",
            "count": 2
          },
          {
            "date": "2026-06-22",
            "count": 1
          },
          {
            "date": "2026-06-24",
            "count": 1
          },
          {
            "date": "2026-06-25",
            "count": 4
          },
          {
            "date": "2026-06-27",
            "count": 1
          },
          {
            "date": "2026-06-28",
            "count": 2
          },
          {
            "date": "2026-06-29",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 2
          },
          {
            "date": "2026-07-02",
            "count": 2
          },
          {
            "date": "2026-07-03",
            "count": 1
          },
          {
            "date": "2026-07-04",
            "count": 8
          },
          {
            "date": "2026-07-05",
            "count": 13
          },
          {
            "date": "2026-07-06",
            "count": 13
          },
          {
            "date": "2026-07-07",
            "count": 6
          },
          {
            "date": "2026-07-08",
            "count": 12
          },
          {
            "date": "2026-07-09",
            "count": 4
          },
          {
            "date": "2026-07-10",
            "count": 4
          },
          {
            "date": "2026-07-11",
            "count": 2
          },
          {
            "date": "2026-07-12",
            "count": 6
          },
          {
            "date": "2026-07-13",
            "count": 3
          },
          {
            "date": "2026-07-14",
            "count": 4
          },
          {
            "date": "2026-07-15",
            "count": 7
          },
          {
            "date": "2026-07-16",
            "count": 3
          },
          {
            "date": "2026-07-17",
            "count": 2
          },
          {
            "date": "2026-07-18",
            "count": 4
          },
          {
            "date": "2026-07-19",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 2
          },
          {
            "date": "2026-07-22",
            "count": 6
          },
          {
            "date": "2026-07-23",
            "count": 3
          },
          {
            "date": "2026-07-24",
            "count": 3
          },
          {
            "date": "2026-07-25",
            "count": 3
          },
          {
            "date": "2026-07-26",
            "count": 5
          },
          {
            "date": "2026-07-27",
            "count": 3
          },
          {
            "date": "2026-07-28",
            "count": 3
          },
          {
            "date": "2026-07-29",
            "count": 1
          },
          {
            "date": "2026-07-31",
            "count": 23
          },
          {
            "date": "2026-08-01",
            "count": 11
          },
          {
            "date": "2026-08-02",
            "count": 4
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 1483
      },
      "star_history": null,
      "open_issues_and_prs": 362
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "web/jsconfig.json"
      ],
      "toolchain_manifests": [
        "go.mod",
        "tools/loadtest/go.mod"
      ],
      "largest_source_bytes": 303569,
      "source_files_sampled": 293,
      "oversized_source_files": 6,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "go.mod",
        "requirements.txt",
        "web/package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "google.golang.org/grpc",
            "direct": false,
            "version": "v1.82.0",
            "severity": "critical",
            "ecosystem": "go",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-hrxh-6v49-42gf",
              "GO-2026-6061"
            ],
            "fixed_version": "1.82.1",
            "advisory_count": 2,
            "oldest_advisory_days": 12
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.15",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-mh99-v99m-4gvg"
            ],
            "fixed_version": "5.0.8",
            "advisory_count": 2,
            "oldest_advisory_days": 13
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-mh99-v99m-4gvg"
            ],
            "fixed_version": "5.0.8",
            "advisory_count": 2,
            "oldest_advisory_days": 13
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-mh99-v99m-4gvg"
            ],
            "fixed_version": "5.0.8",
            "advisory_count": 2,
            "oldest_advisory_days": 13
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-4c8g-83qw-93j6",
              "GHSA-v2hh-gcrm-f6hx"
            ],
            "fixed_version": "4.1.1",
            "advisory_count": 2,
            "oldest_advisory_days": 12
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.2.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52cp-r559-cp3m"
            ],
            "fixed_version": "4.3.0",
            "advisory_count": 1,
            "oldest_advisory_days": 13
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-r28c-9q8g-f849"
            ],
            "fixed_version": "8.5.18",
            "advisory_count": 1,
            "oldest_advisory_days": 9
          },
          {
            "name": "react-router-dom",
            "direct": true,
            "version": "6.30.4",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.9,
            "advisory_ids": [
              "GHSA-jjmj-jmhj-qwj2"
            ],
            "fixed_version": "7.13.0",
            "advisory_count": 1,
            "oldest_advisory_days": 10
          },
          {
            "name": "react-router",
            "direct": false,
            "version": "6.30.4",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 6.1,
            "advisory_ids": [
              "GHSA-337j-9hxr-rhxg",
              "GHSA-wrjc-x8rr-h8h6"
            ],
            "fixed_version": "7.18.0",
            "advisory_count": 2,
            "oldest_advisory_days": 10
          },
          {
            "name": "golang.org/x/crypto",
            "direct": true,
            "version": "v0.53.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5932"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 26
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 6,
          "unknown": 1,
          "critical": 1,
          "moderate": 2
        },
        "advisory_count": 16,
        "affected_count": 10,
        "assessed_count": 756,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 2,
        "direct_affected_count": 2
      },
      "ecosystems": [
        "go",
        "npm",
        "pypi"
      ],
      "dependencies": [
        {
          "name": "github.com/emersion/go-smtp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.24.0"
        },
        {
          "name": "github.com/gabriel-vasile/mimetype",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.13"
        },
        {
          "name": "github.com/gorilla/websocket",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.5.3"
        },
        {
          "name": "github.com/mattn/go-sqlite3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.14.47"
        },
        {
          "name": "github.com/olebedev/when",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.0"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.11.1"
        },
        {
          "name": "github.com/urfave/cli/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.27.7"
        },
        {
          "name": "golang.org/x/crypto",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.53.0"
        },
        {
          "name": "golang.org/x/sync",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.21.0"
        },
        {
          "name": "golang.org/x/term",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.44.0"
        },
        {
          "name": "golang.org/x/time",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.15.0"
        },
        {
          "name": "google.golang.org/api",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.287.0"
        },
        {
          "name": "gopkg.in/yaml.v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.4.0"
        },
        {
          "name": "firebase.google.com/go/v4",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v4.20.0"
        },
        {
          "name": "github.com/SherClockHolmes/webpush-go",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.0"
        },
        {
          "name": "github.com/jackc/pgx/v5",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v5.10.0"
        },
        {
          "name": "github.com/microcosm-cc/bluemonday",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.27"
        },
        {
          "name": "github.com/prometheus/client_golang",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.23.2"
        },
        {
          "name": "github.com/stripe/stripe-go/v74",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v74.30.0"
        },
        {
          "name": "golang.org/x/sys",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.46.0"
        },
        {
          "name": "golang.org/x/text",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.39.0"
        },
        {
          "name": "@emotion/cache",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.11.0"
        },
        {
          "name": "@emotion/react",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.11.0"
        },
        {
          "name": "@emotion/styled",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.11.0"
        },
        {
          "name": "@mui/icons-material",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^9.1.1"
        },
        {
          "name": "@mui/material",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^9.1.2"
        },
        {
          "name": "dexie",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.4.4"
        },
        {
          "name": "dexie-react-hooks",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.4.0"
        },
        {
          "name": "i18next",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^21.6.14"
        },
        {
          "name": "i18next-browser-languagedetector",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.2.1"
        },
        {
          "name": "i18next-http-backend",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.0"
        },
        {
          "name": "react",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "latest"
        },
        {
          "name": "react-dom",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "latest"
        },
        {
          "name": "react-i18next",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.16.2"
        },
        {
          "name": "react-infinite-scroll-component",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.2.1"
        },
        {
          "name": "react-remark",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.1.0"
        },
        {
          "name": "react-router-dom",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.30.4"
        },
        {
          "name": "stylis",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.3.0"
        },
        {
          "name": "stylis-plugin-rtl",
          "manifest": "web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.1.1"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "firebase.google.com/go/v4",
            "direct": true,
            "version": "v4.20.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gabriel-vasile/mimetype",
            "direct": true,
            "version": "v1.4.13",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gorilla/websocket",
            "direct": true,
            "version": "v1.5.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/pgx/v5",
            "direct": true,
            "version": "v5.10.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mattn/go-sqlite3",
            "direct": true,
            "version": "v1.14.47",
            "ecosystem": "go"
          },
          {
            "name": "github.com/microcosm-cc/bluemonday",
            "direct": true,
            "version": "v1.0.27",
            "ecosystem": "go"
          },
          {
            "name": "github.com/olebedev/when",
            "direct": true,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/client_golang",
            "direct": true,
            "version": "v1.23.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/sherclockholmes/webpush-go",
            "direct": true,
            "version": "v1.4.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/stretchr/testify",
            "direct": true,
            "version": "v1.11.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/stripe/stripe-go/v74",
            "direct": true,
            "version": "v74.30.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/urfave/cli/v2",
            "direct": true,
            "version": "v2.27.7",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/crypto",
            "direct": true,
            "version": "v0.53.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sync",
            "direct": true,
            "version": "v0.21.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": true,
            "version": "v0.46.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/term",
            "direct": true,
            "version": "v0.44.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/text",
            "direct": true,
            "version": "v0.39.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/time",
            "direct": true,
            "version": "v0.15.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/api",
            "direct": true,
            "version": "v0.287.0",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/yaml.v2",
            "direct": true,
            "version": "v2.4.0",
            "ecosystem": "go"
          },
          {
            "name": "@emotion/cache",
            "direct": true,
            "version": "11.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/react",
            "direct": true,
            "version": "11.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/styled",
            "direct": true,
            "version": "11.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@mui/icons-material",
            "direct": true,
            "version": "9.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@mui/material",
            "direct": true,
            "version": "9.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "dexie",
            "direct": true,
            "version": "4.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "dexie-react-hooks",
            "direct": true,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "i18next",
            "direct": true,
            "version": "21.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "i18next-browser-languagedetector",
            "direct": true,
            "version": "8.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "i18next-http-backend",
            "direct": true,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": true,
            "version": "19.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": true,
            "version": "19.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "react-i18next",
            "direct": true,
            "version": "11.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "react-infinite-scroll-component",
            "direct": true,
            "version": "7.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-remark",
            "direct": true,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-router-dom",
            "direct": true,
            "version": "6.30.4",
            "ecosystem": "npm"
          },
          {
            "name": "stylis",
            "direct": true,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "stylis",
            "direct": true,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "stylis-plugin-rtl",
            "direct": true,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "cel.dev/expr",
            "direct": false,
            "version": "v0.25.2",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go",
            "direct": false,
            "version": "v0.123.0",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/auth",
            "direct": false,
            "version": "v0.20.0",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/auth/oauth2adapt",
            "direct": false,
            "version": "v0.2.8",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/compute/metadata",
            "direct": false,
            "version": "v0.9.0",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/firestore",
            "direct": false,
            "version": "v1.22.0",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/iam",
            "direct": false,
            "version": "v1.11.0",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/longrunning",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/monitoring",
            "direct": false,
            "version": "v1.29.0",
            "ecosystem": "go"
          },
          {
            "name": "cloud.google.com/go/storage",
            "direct": false,
            "version": "v1.63.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/aleksi/pointer",
            "direct": false,
            "version": "v1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/aymerick/douceur",
            "direct": false,
            "version": "v0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/beorn7/perks",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/burntsushi/toml",
            "direct": false,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cespare/xxhash/v2",
            "direct": false,
            "version": "v2.3.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cncf/xds/go",
            "direct": false,
            "version": "v0.0.0-20260202195803-dba9d589def2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cpuguy83/go-md2man/v2",
            "direct": false,
            "version": "v2.0.7",
            "ecosystem": "go"
          },
          {
            "name": "github.com/davecgh/go-spew",
            "direct": false,
            "version": "v1.1.2-0.20180830191138-d8f796af33cc",
            "ecosystem": "go"
          },
          {
            "name": "github.com/emersion/go-sasl",
            "direct": false,
            "version": "v0.0.0-20241020182733-b788ff22d5a6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/envoyproxy/go-control-plane/envoy",
            "direct": false,
            "version": "v1.37.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/envoyproxy/protoc-gen-validate",
            "direct": false,
            "version": "v1.3.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/felixge/httpsnoop",
            "direct": false,
            "version": "v1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-jose/go-jose/v4",
            "direct": false,
            "version": "v4.1.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-logr/logr",
            "direct": false,
            "version": "v1.4.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-logr/stdr",
            "direct": false,
            "version": "v1.2.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang-jwt/jwt/v4",
            "direct": false,
            "version": "v4.5.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang-jwt/jwt/v5",
            "direct": false,
            "version": "v5.3.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang/protobuf",
            "direct": false,
            "version": "v1.5.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/s2a-go",
            "direct": false,
            "version": "v0.1.9",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/uuid",
            "direct": false,
            "version": "v1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/googleapis/enterprise-certificate-proxy",
            "direct": false,
            "version": "v0.3.17",
            "ecosystem": "go"
          },
          {
            "name": "github.com/googleapis/gax-go/v2",
            "direct": false,
            "version": "v2.22.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/googlecloudplatform/opentelemetry-operations-go/detectors/gcp",
            "direct": false,
            "version": "v1.33.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/googlecloudplatform/opentelemetry-operations-go/exporter/metric",
            "direct": false,
            "version": "v0.57.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/googlecloudplatform/opentelemetry-operations-go/internal/resourcemapping",
            "direct": false,
            "version": "v0.57.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gorilla/css",
            "direct": false,
            "version": "v1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/pgpassfile",
            "direct": false,
            "version": "v1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/pgservicefile",
            "direct": false,
            "version": "v0.0.0-20240606120523-5a60cdf6a761",
            "ecosystem": "go"
          },
          {
            "name": "github.com/jackc/puddle/v2",
            "direct": false,
            "version": "v2.2.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/micahparks/keyfunc",
            "direct": false,
            "version": "v1.9.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/munnerz/goautoneg",
            "direct": false,
            "version": "v0.0.0-20191010083416-a7dc8b61c822",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pkg/errors",
            "direct": false,
            "version": "v0.9.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/planetscale/vtprotobuf",
            "direct": false,
            "version": "v0.6.1-0.20240319094008-0393e58bdf10",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pmezard/go-difflib",
            "direct": false,
            "version": "v1.0.1-0.20181226105442-5d4384ee4fb2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/client_model",
            "direct": false,
            "version": "v0.6.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/common",
            "direct": false,
            "version": "v0.69.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/procfs",
            "direct": false,
            "version": "v0.21.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/russross/blackfriday/v2",
            "direct": false,
            "version": "v2.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spiffe/go-spiffe/v2",
            "direct": false,
            "version": "v2.8.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/stretchr/objx",
            "direct": false,
            "version": "v0.5.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/xrash/smetrics",
            "direct": false,
            "version": "v0.0.0-20250705151800-55b8f293f342",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/auto/sdk",
            "direct": false,
            "version": "v1.2.1",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/contrib/detectors/gcp",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc",
            "direct": false,
            "version": "v0.69.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
            "direct": false,
            "version": "v0.69.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/metric",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/sdk",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/sdk/metric",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "go.opentelemetry.io/otel/trace",
            "direct": false,
            "version": "v1.44.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/net",
            "direct": false,
            "version": "v0.56.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/oauth2",
            "direct": false,
            "version": "v0.36.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/appengine/v2",
            "direct": false,
            "version": "v2.0.6",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/genproto",
            "direct": false,
            "version": "v0.0.0-20260630182238-925bb5da69e7",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/genproto/googleapis/api",
            "direct": false,
            "version": "v0.0.0-20260630182238-925bb5da69e7",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/genproto/googleapis/rpc",
            "direct": false,
            "version": "v0.0.0-20260630182238-925bb5da69e7",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/grpc",
            "direct": false,
            "version": "v1.82.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/protobuf",
            "direct": false,
            "version": "v1.36.11",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/yaml.v3",
            "direct": false,
            "version": "v3.0.1",
            "ecosystem": "go"
          },
          {
            "name": "@apideck/better-ajv-errors",
            "direct": false,
            "version": "0.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-annotate-as-pure",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-create-class-features-plugin",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-create-regexp-features-plugin",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-define-polyfill-provider",
            "direct": false,
            "version": "0.6.8",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-member-expression-to-functions",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-optimise-call-expression",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-remap-async-to-generator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-replace-supers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-skip-transparent-expression-wrappers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-wrap-function",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-bugfix-firefox-class-in-computed-class-key",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-bugfix-safari-class-field-initializer-scope",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-proposal-private-property-in-object",
            "direct": false,
            "version": "7.21.0-placeholder-for-preset-env.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-import-assertions",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-import-attributes",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-unicode-sets-regex",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-arrow-functions",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-async-generator-functions",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-async-to-generator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-block-scoped-functions",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-block-scoping",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-class-properties",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-class-static-block",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-classes",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-computed-properties",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-destructuring",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-dotall-regex",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-duplicate-keys",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-duplicate-named-capturing-groups-regex",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-dynamic-import",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-explicit-resource-management",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-exponentiation-operator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-export-namespace-from",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-for-of",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-function-name",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-json-strings",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-literals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-logical-assignment-operators",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-member-expression-literals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-modules-amd",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-modules-commonjs",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-modules-systemjs",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-modules-umd",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-named-capturing-groups-regex",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-new-target",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-nullish-coalescing-operator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-numeric-separator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-object-rest-spread",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-object-super",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-optional-catch-binding",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-optional-chaining",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-parameters",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-private-methods",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-private-property-in-object",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-property-literals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-regenerator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-regexp-modifiers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-reserved-words",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-shorthand-properties",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-spread",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-sticky-regex",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-template-literals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-typeof-symbol",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-unicode-escapes",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-unicode-property-regex",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-unicode-regex",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-unicode-sets-regex",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/preset-env",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/preset-modules",
            "direct": false,
            "version": "0.1.6-no-external-plugins",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/babel-plugin",
            "direct": false,
            "version": "11.13.5",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/hash",
            "direct": false,
            "version": "0.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/is-prop-valid",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/memoize",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/serialize",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/sheet",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/unitless",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/use-insertion-effect-with-fallbacks",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/utils",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/weak-memoize",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "8.57.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/config-array",
            "direct": false,
            "version": "0.13.0",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/object-schema",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "9.0.0",
            "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/source-map",
            "direct": false,
            "version": "0.3.11",
            "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": "@mapbox/hast-util-table-cell-style",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@mui/core-downloads-tracker",
            "direct": false,
            "version": "9.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@mui/private-theming",
            "direct": false,
            "version": "9.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@mui/styled-engine",
            "direct": false,
            "version": "9.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@mui/system",
            "direct": false,
            "version": "9.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@mui/types",
            "direct": false,
            "version": "9.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@mui/utils",
            "direct": false,
            "version": "9.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.scandir",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.walk",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.137.0",
            "ecosystem": "npm"
          },
          {
            "name": "@popperjs/core",
            "direct": false,
            "version": "2.11.8",
            "ecosystem": "npm"
          },
          {
            "name": "@remix-run/router",
            "direct": false,
            "version": "1.23.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/plugin-babel",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/plugin-node-resolve",
            "direct": false,
            "version": "16.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/plugin-replace",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/plugin-terser",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/pluginutils",
            "direct": false,
            "version": "5.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rtsao/scc",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@trickfilm400/rollup-plugin-off-main-thread",
            "direct": false,
            "version": "3.0.0-pre1",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json5",
            "direct": false,
            "version": "0.0.29",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdast",
            "direct": false,
            "version": "3.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/parse-json",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/prop-types",
            "direct": false,
            "version": "15.7.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react",
            "direct": false,
            "version": "19.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react-transition-group",
            "direct": false,
            "version": "4.4.12",
            "ecosystem": "npm"
          },
          {
            "name": "@types/resolve",
            "direct": false,
            "version": "1.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/trusted-types",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "2.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/structured-clone",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-react",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "aria-query",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "array-buffer-byte-length",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "array-includes",
            "direct": false,
            "version": "3.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.findlast",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.findlastindex",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.flat",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.flatmap",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "array.prototype.tosorted",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "arraybuffer.prototype.slice",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ast-types-flow",
            "direct": false,
            "version": "0.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "async",
            "direct": false,
            "version": "3.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "async-function",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "at-least-node",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "available-typed-arrays",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "axe-core",
            "direct": false,
            "version": "4.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "axobject-query",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-macros",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-polyfill-corejs2",
            "direct": false,
            "version": "0.4.17",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-polyfill-corejs3",
            "direct": false,
            "version": "0.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-polyfill-regenerator",
            "direct": false,
            "version": "0.6.8",
            "ecosystem": "npm"
          },
          {
            "name": "bail",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.38",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.4",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind",
            "direct": false,
            "version": "1.0.9",
            "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": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001799",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-legacy",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "character-reference-invalid",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "clsx",
            "direct": false,
            "version": "2.1.1",
            "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": "comma-separated-tokens",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "2.20.3",
            "ecosystem": "npm"
          },
          {
            "name": "common-tags",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "confusing-browser-globals",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "core-js-compat",
            "direct": false,
            "version": "3.49.0",
            "ecosystem": "npm"
          },
          {
            "name": "cosmiconfig",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "crypto-random-string",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cssjanus",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "damerau-levenshtein",
            "direct": false,
            "version": "1.0.8",
            "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": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "deepmerge",
            "direct": false,
            "version": "4.3.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": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dom-helpers",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ejs",
            "direct": false,
            "version": "3.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.378",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "es-abstract",
            "direct": false,
            "version": "1.24.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-abstract-get",
            "direct": false,
            "version": "1.0.0",
            "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-iterator-helpers",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.2",
            "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.1",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "8.57.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-airbnb",
            "direct": false,
            "version": "19.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-airbnb-base",
            "direct": false,
            "version": "15.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-prettier",
            "direct": false,
            "version": "8.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-import-resolver-node",
            "direct": false,
            "version": "0.3.10",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-module-utils",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-import",
            "direct": false,
            "version": "2.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-jsx-a11y",
            "direct": false,
            "version": "6.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react",
            "direct": false,
            "version": "7.37.5",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react-hooks",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "7.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "9.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "eta",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "extend",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "filelist",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "find-root",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "for-each",
            "direct": false,
            "version": "0.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "9.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "function.prototype.name",
            "direct": false,
            "version": "1.2.0",
            "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-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-own-enumerable-property-symbols",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-symbol-description",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "13.24.0",
            "ecosystem": "npm"
          },
          {
            "name": "globalthis",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "graphemer",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-bigints",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "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": "hasown",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "hast-to-hyperscript",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hoist-non-react-statics",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "html-parse-stringify",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "idb",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "inline-style-parser",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "internal-slot",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-alphabetical",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-alphanumerical",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-array-buffer",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "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": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "is-callable",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.16.2",
            "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-decimal",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-document.all",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-finalizationregistry",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-generator-function",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-hexadecimal",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-map",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-module",
            "direct": false,
            "version": "1.0.0",
            "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-obj",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-path-inside",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-regex",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-regexp",
            "direct": false,
            "version": "1.0.0",
            "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-stream",
            "direct": false,
            "version": "2.0.1",
            "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": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "iterator.prototype",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jake",
            "direct": false,
            "version": "10.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.2.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-parse-even-better-errors",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonpointer",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsx-ast-utils",
            "direct": false,
            "version": "3.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "language-subtag-registry",
            "direct": false,
            "version": "0.3.23",
            "ecosystem": "npm"
          },
          {
            "name": "language-tags",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "leven",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.debounce",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.sortby",
            "direct": false,
            "version": "4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "loose-envify",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-definitions",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-from-markdown",
            "direct": false,
            "version": "0.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-hast",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-string",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromark",
            "direct": false,
            "version": "2.11.4",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "5.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.15",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-exports-info",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.49",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.13.4",
            "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": "object.fromentries",
            "direct": false,
            "version": "2.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "object.groupby",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "object.values",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "own-keys",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-entities",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "possible-typed-array-names",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-bytes",
            "direct": false,
            "version": "5.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-bytes",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "prop-types",
            "direct": false,
            "version": "15.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "property-information",
            "direct": false,
            "version": "5.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "16.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "19.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "react-router",
            "direct": false,
            "version": "6.30.4",
            "ecosystem": "npm"
          },
          {
            "name": "react-transition-group",
            "direct": false,
            "version": "4.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "reflect.getprototypeof",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "regenerate",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "regenerate-unicode-properties",
            "direct": false,
            "version": "10.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "regexp.prototype.flags",
            "direct": false,
            "version": "1.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "regexpu-core",
            "direct": false,
            "version": "6.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "regjsgen",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "regjsparser",
            "direct": false,
            "version": "0.13.2",
            "ecosystem": "npm"
          },
          {
            "name": "rehype-react",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "remark-parse",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-rehype",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.12",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "2.0.0-next.7",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.62.2",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safe-array-concat",
            "direct": false,
            "version": "1.1.4",
            "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": "scheduler",
            "direct": false,
            "version": "0.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "7.0.6",
            "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": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-list",
            "direct": false,
            "version": "1.0.1",
            "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": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "smob",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.8.0-beta.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": false,
            "version": "0.5.21",
            "ecosystem": "npm"
          },
          {
            "name": "space-separated-tokens",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "stop-iteration-iterator",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.includes",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.matchall",
            "direct": false,
            "version": "4.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.repeat",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trim",
            "direct": false,
            "version": "1.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimend",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimstart",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "stringify-object",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-comments",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "style-to-object",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-preserve-symlinks-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "temp-dir",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tempy",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "terser",
            "direct": false,
            "version": "5.48.0",
            "ecosystem": "npm"
          },
          {
            "name": "text-table",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "trough",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "tsconfig-paths",
            "direct": false,
            "version": "3.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.20.2",
            "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.8",
            "ecosystem": "npm"
          },
          {
            "name": "unbox-primitive",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicode-canonical-property-names-ecmascript",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unicode-match-property-ecmascript",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicode-match-property-value-ecmascript",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "unicode-property-aliases-ecmascript",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "unified",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "unique-string",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-builder",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-generated",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-is",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-is",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-position",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-stringify-position",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit-parents",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit-parents",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "upath",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "vfile",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-message",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-pwa",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "void-elements",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "web-namespaces",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.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.22",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-background-sync",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-broadcast-update",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-build",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-cacheable-response",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-core",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-expiration",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-google-analytics",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-navigation-preload",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-precaching",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-range-requests",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-recipes",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-routing",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-strategies",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-streams",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-sw",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "workbox-window",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "1.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mkdocs-material",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocs-minify-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 758,
        "direct_count": 39,
        "indirect_count": 719
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 41,
        "merged_prs": 415,
        "open_issues": 321,
        "closed_ratio": 0.747,
        "closed_issues": 947,
        "closed_unmerged_prs": 135
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "binwiederhier",
          "commits": 1487,
          "avatar_url": "https://avatars.githubusercontent.com/u/664597?v=4"
        },
        {
          "type": "User",
          "login": "nimbleghost",
          "commits": 99,
          "avatar_url": "https://avatars.githubusercontent.com/u/132819643?v=4"
        },
        {
          "type": "User",
          "login": "wunter8",
          "commits": 66,
          "avatar_url": "https://avatars.githubusercontent.com/u/8421688?v=4"
        },
        {
          "type": "User",
          "login": "StoyanDimitrov",
          "commits": 28,
          "avatar_url": "https://avatars.githubusercontent.com/u/10962709?v=4"
        },
        {
          "type": "User",
          "login": "karmanyaahm",
          "commits": 23,
          "avatar_url": "https://avatars.githubusercontent.com/u/32671690?v=4"
        },
        {
          "type": "User",
          "login": "nihalgonsalves",
          "commits": 15,
          "avatar_url": "https://avatars.githubusercontent.com/u/10807310?v=4"
        },
        {
          "type": "User",
          "login": "aTable",
          "commits": 15,
          "avatar_url": "https://avatars.githubusercontent.com/u/2154448?v=4"
        },
        {
          "type": "User",
          "login": "oersen",
          "commits": 13,
          "avatar_url": "https://avatars.githubusercontent.com/u/88676873?v=4"
        },
        {
          "type": "User",
          "login": "Linerly",
          "commits": 13,
          "avatar_url": "https://avatars.githubusercontent.com/u/47475676?v=4"
        },
        {
          "type": "User",
          "login": "rogeliodh",
          "commits": 12,
          "avatar_url": "https://avatars.githubusercontent.com/u/110125?v=4"
        }
      ],
      "contributors_sampled": 99,
      "top_contributor_share": 0.707
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build.yaml",
        "docs.yaml",
        "release.yaml",
        "test.yaml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".eslintrc"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "go.sum",
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "5 out of 5 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/21 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 25 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 6 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 4,
            "reason": "dependency not pinned by hash detected -- score normalized to 4",
            "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": 10,
            "reason": "security policy file 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": "11 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "dc116551530a4af804df72dd1aac197bf2a561e8",
        "ran_at": "2026-08-03T00:43:39Z",
        "aggregate_score": 4.7,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "recent_prs": {
        "merged_7d": 4,
        "decided_7d": 6,
        "merged_30d": 6,
        "authors_30d": 4,
        "decided_30d": 10,
        "sample_size": 60,
        "window_days": 30,
        "sample_exhausted": false,
        "authors_probed_30d": 4,
        "newcomer_merged_30d": 0,
        "bot_prs_excluded_30d": 8,
        "newcomer_authors_30d": 2,
        "newcomer_decided_30d": 2
      },
      "ci_last_run_at": "2026-07-29T06:19:36Z",
      "oldest_open_prs": [
        {
          "number": 842,
          "created_at": "2023-08-18T12:59:13Z",
          "last_comment_at": "2023-12-17T06:08:54Z",
          "last_comment_author": "karmanyaahm"
        },
        {
          "number": 1052,
          "created_at": "2024-03-11T16:51:54Z",
          "last_comment_at": "2024-03-29T13:36:48Z",
          "last_comment_author": "codecov-commenter"
        },
        {
          "number": 1120,
          "created_at": "2024-05-28T06:51:24Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1526,
          "created_at": "2025-12-30T16:11:22Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1530,
          "created_at": "2026-01-01T21:45:09Z",
          "last_comment_at": "2026-04-02T22:03:16Z",
          "last_comment_author": "santanoce"
        },
        {
          "number": 1531,
          "created_at": "2026-01-02T15:52:03Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1560,
          "created_at": "2026-01-20T22:14:40Z",
          "last_comment_at": "2026-01-28T01:26:59Z",
          "last_comment_author": "gitglubber"
        },
        {
          "number": 1579,
          "created_at": "2026-01-30T01:04:07Z",
          "last_comment_at": "2026-07-21T20:11:26Z",
          "last_comment_author": "ManInDark"
        },
        {
          "number": 1593,
          "created_at": "2026-02-05T20:32:29Z",
          "last_comment_at": "2026-03-28T10:07:35Z",
          "last_comment_author": "epifeny"
        },
        {
          "number": 1623,
          "created_at": "2026-02-24T17:21:27Z",
          "last_comment_at": "2026-05-25T14:33:18Z",
          "last_comment_author": "Newtomic"
        },
        {
          "number": 1697,
          "created_at": "2026-04-12T15:28:08Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1708,
          "created_at": "2026-04-17T16:59:49Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1710,
          "created_at": "2026-04-20T08:42:47Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1752,
          "created_at": "2026-05-24T03:26:33Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1756,
          "created_at": "2026-05-27T16:51:51Z",
          "last_comment_at": "2026-05-30T17:54:41Z",
          "last_comment_author": "rishichintala"
        },
        {
          "number": 1775,
          "created_at": "2026-06-06T21:37:40Z",
          "last_comment_at": "2026-06-09T08:54:40Z",
          "last_comment_author": "buddhaCode"
        },
        {
          "number": 1778,
          "created_at": "2026-06-09T00:27:19Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1788,
          "created_at": "2026-06-15T14:30:23Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1793,
          "created_at": "2026-06-17T01:40:44Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1809,
          "created_at": "2026-06-29T18:35:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-29T06:10:21Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 69,
          "created_at": "2021-12-29T02:07:36Z",
          "last_comment_at": "2025-11-11T14:04:07Z",
          "last_comment_author": "schklom"
        },
        {
          "number": 141,
          "created_at": "2022-02-11T14:30:24Z",
          "last_comment_at": "2026-02-01T16:43:14Z",
          "last_comment_author": "binwiederhier"
        },
        {
          "number": 159,
          "created_at": "2022-03-12T19:18:11Z",
          "last_comment_at": "2026-04-20T17:10:42Z",
          "last_comment_author": "shadowjig"
        },
        {
          "number": 250,
          "created_at": "2022-05-13T18:39:03Z",
          "last_comment_at": "2022-05-15T09:03:48Z",
          "last_comment_author": "alexanderadam"
        },
        {
          "number": 260,
          "created_at": "2022-05-16T18:22:27Z",
          "last_comment_at": "2022-06-27T22:52:12Z",
          "last_comment_author": "binwiederhier"
        },
        {
          "number": 278,
          "created_at": "2022-05-29T20:08:05Z",
          "last_comment_at": "2025-10-21T07:00:38Z",
          "last_comment_author": "RezzZ"
        },
        {
          "number": 280,
          "created_at": "2022-05-29T20:11:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 294,
          "created_at": "2022-06-01T03:54:38Z",
          "last_comment_at": "2022-08-07T23:01:25Z",
          "last_comment_author": "c33s"
        },
        {
          "number": 301,
          "created_at": "2022-06-01T04:42:46Z",
          "last_comment_at": "2024-04-22T04:37:25Z",
          "last_comment_author": "brian6932"
        },
        {
          "number": 302,
          "created_at": "2022-06-01T04:47:01Z",
          "last_comment_at": "2022-11-11T18:46:22Z",
          "last_comment_author": "macccorehenni"
        },
        {
          "number": 337,
          "created_at": "2022-06-21T09:31:36Z",
          "last_comment_at": "2023-11-15T21:58:22Z",
          "last_comment_author": "binwiederhier"
        },
        {
          "number": 358,
          "created_at": "2022-07-06T00:40:53Z",
          "last_comment_at": "2026-03-03T20:25:55Z",
          "last_comment_author": "bam80"
        },
        {
          "number": 367,
          "created_at": "2022-07-16T20:37:59Z",
          "last_comment_at": "2026-03-05T21:34:32Z",
          "last_comment_author": "sjs28"
        },
        {
          "number": 378,
          "created_at": "2022-08-13T12:00:47Z",
          "last_comment_at": "2022-08-18T16:20:40Z",
          "last_comment_author": "handgun50"
        },
        {
          "number": 389,
          "created_at": "2022-08-28T21:56:33Z",
          "last_comment_at": "2026-07-08T22:28:28Z",
          "last_comment_author": "TyIsI"
        },
        {
          "number": 399,
          "created_at": "2022-09-13T13:54:07Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 409,
          "created_at": "2022-09-22T09:49:24Z",
          "last_comment_at": "2023-11-21T09:24:55Z",
          "last_comment_author": "vnghia"
        },
        {
          "number": 410,
          "created_at": "2022-09-22T09:50:32Z",
          "last_comment_at": "2025-11-20T20:46:07Z",
          "last_comment_author": "ntninja"
        },
        {
          "number": 436,
          "created_at": "2022-10-09T15:47:38Z",
          "last_comment_at": "2022-10-10T15:18:34Z",
          "last_comment_author": "bt90"
        },
        {
          "number": 440,
          "created_at": "2022-10-11T18:52:29Z",
          "last_comment_at": "2023-11-21T17:50:18Z",
          "last_comment_author": "dgtlmoon"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/binwiederhier/ntfy",
    "host": "github.com",
    "name": "ntfy",
    "owner": "binwiederhier"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "excellent",
      "name": "Overall health",
      "note": "The weighted overall 78 is calibrated to 92 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 78,
            "calibrated": 92,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 92,
      "inputs": {
        "security": 52,
        "vitality": 95,
        "community": 91,
        "governance": 63,
        "calibration": "2026-08-02",
        "engineering": 90,
        "ai_readiness": 60,
        "weighted_overall_raw": 78
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "exceptional",
        "name": "Vitality",
        "value": 95,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "exceptional",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "commits_last_year": 887,
              "human_commit_share": 0.97,
              "days_since_last_push": 0,
              "active_weeks_last_year": 51
            },
            "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": "51/52 weeks with commits",
                "points": 35.3,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 51
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "887 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 887
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 6 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": 100,
              "latest_release_tag": "v2.26.3",
              "releases_from_tags": false,
              "days_since_latest_release": 13,
              "mean_days_between_releases": 14
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 13 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 13
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~14 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 14
                    }
                  }
                ],
                "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": "exceptional",
            "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": 4,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 4 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 4
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 91,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "exceptional",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 96,
            "inputs": {
              "forks": 1483,
              "stars": 32769,
              "watchers": 95,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "32,769 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 32769
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "1,483 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 1483
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "95 watchers",
                "points": 11,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 95
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": 9,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "readme_badge_services": [
                "codecov.io",
                "github.com",
                "goreportcard.com",
                "pkg.go.dev",
                "shields.io"
              ],
              "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 (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 63,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "weak",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 39,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 99,
              "top_contributor_share": 0.707
            },
            "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 71% of commits",
                "points": 6.6,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 71
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "99 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 99
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 25 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 54,
            "inputs": {
              "merged_prs": 415,
              "open_issues": 321,
              "closed_issues": 947,
              "prs_merged_7d": 4,
              "prs_decided_7d": 6,
              "prs_merged_30d": 6,
              "prs_decided_30d": 10,
              "issue_closed_ratio": 0.747,
              "closed_unmerged_prs": 135,
              "first_time_authors_30d": 2,
              "first_time_prs_merged_30d": 0,
              "first_time_prs_decided_30d": 2
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "75% of issues closed",
                "points": 31.4,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 75
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "415/550 decided PRs merged",
                "points": 22.6,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 415,
                      "decided": 550
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "0/2 first-time contributors' PRs merged in 30d",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "newcomer_prs_merged",
                    "params": {
                      "days": 30,
                      "merged": 0,
                      "decided": 2
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/21 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 71,
            "inputs": {
              "followers": 1118,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "binwiederhier",
              "public_repos": 99,
              "account_age_days": 5623
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "1,118 followers of binwiederhier",
                "points": 21.9,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1118,
                      "login": "binwiederhier"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "99 public repos, account ~15 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 99
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 15
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "exceptional",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "heckel.io/ntfy/v2"
              ],
              "ecosystems": "go",
              "any_deprecated": false,
              "min_days_since_publish": 13
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on go",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "go"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 13 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 13
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "39 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 39
                    }
                  }
                ],
                "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": "excellent",
        "name": "Engineering Quality",
        "value": 90,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "4 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc"
                    }
                  }
                ],
                "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": "5 out of 5 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "exceptional",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "rest-api",
                "pubsub",
                "notifications",
                "curl",
                "push-notifications",
                "ntfy",
                "ntfysh"
              ],
              "has_wiki": true,
              "homepage": "https://ntfy.sh",
              "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://ntfy.sh",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "7 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 52,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "weak",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 47,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 4.7
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "5 out of 5 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/21 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 25 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 6 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 4",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "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": "11 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 756 resolved dependencies against OSV; 2 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": 756
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 2
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 73,
            "inputs": {
              "source": "osv",
              "advisories": 16,
              "affected_packages": 10,
              "assessed_packages": 756,
              "unassessed_packages": 2,
              "affected_by_severity": "critical 1, high 6, moderate 2, unknown 1",
              "direct_affected_packages": 2
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "2 affected: react-router-dom 6.30.4 (moderate 6.9), golang.org/x/crypto v0.53.0 (unknown)",
                "points": 14.6,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 2,
                      "packages": "react-router-dom 6.30.4 (moderate 6.9), golang.org/x/crypto v0.53.0 (unknown)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory has been public longer than 90 days",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "advisories_none_stale",
                    "params": {
                      "days": 90
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "exceptional",
            "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": 756,
              "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": "exceptional",
            "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"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [],
              "assessed_self_published_locations": 13
            },
            "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.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 17,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.32,
              "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": "31 of 97 human commits state their intent (structured subject or explanatory body)",
                "points": 17,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 31,
                      "sampled": 97
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "excellent",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "go.sum",
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "web/jsconfig.json"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "go.mod",
                "tools/loadtest/go.mod"
              ],
              "dependency_bot_commit_share": 0.03
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".eslintrc",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "web/jsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "web/jsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "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 4",
                "points": 4,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "exceptional",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "Go",
              "largest_source_bytes": 303569,
              "source_files_sampled": 293,
              "oversized_source_files": 6
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Go (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "6/293 source files over 60KB",
                "points": 53.9,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 293,
                      "oversized": 6
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "weak",
            "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? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
      }
    ],
    "classification": {
      "labels": [
        "cli",
        "web-ui"
      ],
      "scores": {
        "cli": 11,
        "web-ui": 4,
        "library": 2.4,
        "network-service": 3
      },
      "primary": "cli",
      "evidence": [
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:go",
          "weight": 6
        },
        {
          "tier": "dependencies",
          "label": "cli",
          "source": "dep:github.com/urfave/cli/v2",
          "weight": 4
        },
        {
          "tier": "structure",
          "label": "cli",
          "source": "tree.goreleaser",
          "weight": 4
        },
        {
          "tier": "dependencies",
          "label": "web-ui",
          "source": "dep:react-dom",
          "weight": 4
        },
        {
          "tier": "declared",
          "label": "library",
          "source": "npm.private",
          "weight": -3.6
        },
        {
          "tier": "structure",
          "label": "cli",
          "source": "tree.go_main",
          "weight": 3
        },
        {
          "tier": "structure",
          "label": "network-service",
          "source": "tree.compose",
          "weight": 3
        }
      ],
      "artifacts": [
        {
          "path": "web/package.json",
          "labels": [],
          "ecosystem": "npm"
        }
      ],
      "confidence": "medium",
      "host_extension": false,
      "runs_as_process": true,
      "consumed_by_code": false
    },
    "metrics_version": "2.3.1"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-08-03T00:44:00.327560Z",
  "schema_version": "0.30.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/b/binwiederhier/ntfy.svg",
  "full_name": "binwiederhier/ntfy",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

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 v2.3.1, schema v0.30.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsGo.