Public record
Software health reportschema 0.26.0 · metrics 1.13.0 · 2026-07-22 06:28 UTC

Wopee-io / wopee-mcp

TypeScriptMIT★ 5 stars⑂ 0 forkssince Sep 2025View on GitHub ↗

Wopee-io/wopee-mcp holds a health index of 61 out of 100, placing it in the Moderate band. It scores highest on Vitality (88/100) and lowest on Community & Adoption (34/100). It was last updated today. 2 contributors account for most of its recent work.

61
overall / 100
Moderate

Software health index

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

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

Score profile

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

Ownership

Wopee.ioOrganization
28 followers23 public repossince Jan 2023

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

Package ecosystems

Metrics by category

Vitality

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

88Excellent · 22% of overall
How it's scored
36/36Push recency — last push 0 days ago
15.9/36Commit cadence — 23/52 weeks with commits
18/18Commit volume — 165 commits in the last year
10/10OpenSSF Scorecard: Maintained — 13 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year165
human_commit_share0.91
days_since_last_push0
active_weeks_last_year23

Release discipline

100Excellent
How it's scored
27/27Ships releases — 48 releases published
36/36Release recency — latest release 0 days ago
27/27Release cadence — a release every ~11.8 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count48
latest_release_tagv1.29.0
releases_from_tagsno
days_since_latest_release0
mean_days_between_releases11.8
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.

Community & Adoption

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

34At risk · 18% of overall
How it's scored
9.8/60Stars — 5 stars
0/25Forks — 0 forks
0/15Watchers — 0 watchers
Inputs used
forks0
stars5
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonbelow_threshold
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (MIT)
0/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno
How it's scored
40.1/80Monthly downloads — 1,017 downloads/month across npm
0/20Registry dependents — not reported by this ecosystem
Inputs used
packageswopee-mcp
dependents
ecosystemsnpm
total_downloads
monthly_downloads1,017
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

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

69Moderate · 24% of overall
How it's scored
25.2/54Bus factor — 2 contributor(s) cover half of all commits
12.4/22.5Commit distribution — top contributor authored 45% of commits
4.1/13.5Contributor breadth — 3 contributors
10/10OpenSSF Scorecard: Contributors — project has 4 contributing companies or organizations
Inputs used
bus_factor2
contributors_sampled3
top_contributor_share0.449
How it's scored
46.8/46.8Issue resolution — 100% of issues closed
29.9/38.3PR acceptance — 50/64 decided PRs merged
0/15OpenSSF Scorecard: Code-Review — Found 1/27 approved changesets -- score normalized to 0
Inputs used
merged_prs50
open_issues0
closed_issues1
issue_closed_ratio1
closed_unmerged_prs14
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
10.5/25Owner reach — 28 followers of Wopee-io
17/25Track record — 23 public repos, account ~3 yr old
Inputs used
followers28
owner_typeOrganization
is_verified
owner_loginWopee-io
public_repos23
account_age_days1,267
How it's scored
25/25Published & resolvable — 1 package(s) on npm
35/35Publish recency — latest publish 0 days ago
20/20Version history — 41 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packageswopee-mcp
ecosystemsnpm
any_deprecatedno
min_days_since_publish0

Engineering Quality

Are baseline engineering and documentation practices in place?

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

Documentation

30At risk
How it's scored
30/30README
0/25Documentation directory
0/15Documentation / homepage site
0/10Repository description
0/10Topics
0/10Wiki
Inputs used
topics
has_wikino
homepage
has_readmeyes
has_docs_dirno
has_descriptionno

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 — 10 out of 10 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 1/27 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 4 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 — 13 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
1/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — no data
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 54 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): signed_releases. Remaining weights renormalized.
How it's scored
14/35Direct dependencies free of known advisories — 1 affected: undici 7.24.0 (high 7.5)
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
advisories56
affected_packages15
assessed_packages517
unassessed_packages0
affected_by_severityhigh 10, moderate 4, low 1
direct_affected_packages1
Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 517 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score.

54Moderate · 0% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 90 of 91 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.989
agent_instruction_files
agent_instruction_max_bytes
How it's scored
0/18One-command bootstrap
22/22Automated tests
0/11Lint / format config
11/11Static type checking — tsconfig.json
10/10Reproducible environment — lockfile
8/10Demonstrated agent practice — 4 of the last 100 commits agent-authored or agent-credited
8/8Automated maintenance — 9 of the last 100 commits are automated dependency updates
2/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
Inputs used
has_nixno
has_testsyes
lockfilespackage-lock.json
has_dockerfileno
typed_languageyes
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configstsconfig.json
agent_commit_share0.04
toolchain_manifests
dependency_bot_commit_share0.09
How it's scored
45/45Type-checkable code — TypeScript (statically typed)
55/55Manageable file sizes — 0/44 source files over 60KB
Inputs used
primary_languageTypeScript
largest_source_bytes6,791
source_files_sampled44
oversized_source_files0
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
20/20MCP server
0/40Runnable examples
Inputs used
example_dirs
has_mcp_signalyes
api_schema_files

Key facts

5GitHub stars
3contributors
165commits, last 12 months
0days since last push
48releases
2bus factor
0open issues
npmpackage ecosystems

Data collection warnings

  • deps.dev does not index npm:wopee-mcp@1.29.0; advisories assessed against the repository dependency graph instead

More detail

Star and fork history 5 ★ / 0 ⇿
5Stars
8Releases

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.

12345512026-042026-052026-07
Major 0Minor 4Patch 4
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-07-22 06:28 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
10CI-Tests10 out of 10 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 1/27 approved changesets -- score normalized to 0
10Contributorsproject has 4 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained13 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
2Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 2
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities54 existing vulnerabilities detected
Direct dependencies 3
RegistryPackageVersion constraintManifest
npm@modelcontextprotocol/sdk^1.21.0package.json
npmundici^7.18.2package.json
npmzod^3.25.76package.json
All dependencies 517

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

RegistryPackageVersionRelation
npm@modelcontextprotocol/sdk1.26.0direct
npmundici7.24.0direct
npmzod3.25.76direct
npm@babel/code-frame7.27.1indirect
npm@babel/helper-validator-identifier7.28.5indirect
npm@colors/colors1.5.0indirect
npm@hono/node-server1.19.11indirect
npm@isaacs/cliui8.0.2indirect
npm@isaacs/fs-minipass4.0.1indirect
npm@isaacs/string-locale-compare1.1.0indirect
npm@npmcli/agent3.0.0indirect
npm@npmcli/arborist8.0.5indirect
npm@npmcli/config9.0.0indirect
npm@npmcli/fs4.0.0indirect
npm@npmcli/git6.0.3indirect
npm@npmcli/installed-package-contents3.0.0indirect
npm@npmcli/map-workspaces4.0.2indirect
npm@npmcli/metavuln-calculator8.0.1indirect
npm@npmcli/name-from-folder3.0.0indirect
npm@npmcli/node-gyp4.0.0indirect
npm@npmcli/package-json6.2.0indirect
npm@npmcli/promise-spawn8.0.3indirect
npm@npmcli/query4.0.1indirect
npm@npmcli/redact3.2.2indirect
npm@npmcli/run-script9.1.0indirect
npm@octokit/auth-token6.0.0indirect
npm@octokit/core7.0.6indirect
npm@octokit/endpoint11.0.2indirect
npm@octokit/graphql9.0.3indirect
npm@octokit/openapi-types26.0.0indirect
npm@octokit/openapi-types27.0.0indirect
npm@octokit/plugin-paginate-rest13.2.1indirect
npm@octokit/plugin-retry8.0.3indirect
npm@octokit/plugin-throttling11.0.3indirect
npm@octokit/request10.0.6indirect
npm@octokit/request-error7.0.2indirect
npm@octokit/types15.0.2indirect
npm@octokit/types16.0.0indirect
npm@pkgjs/parseargs0.11.0indirect
npm@pnpm/config.env-replace1.1.0indirect
npm@pnpm/network.ca-file1.0.2indirect
npm@pnpm/npm-conf2.3.1indirect
npm@sec-ant/readable-stream0.4.1indirect
npm@semantic-release/changelog6.0.3indirect
npm@semantic-release/commit-analyzer13.0.1indirect
npm@semantic-release/error3.0.0indirect
npm@semantic-release/error4.0.0indirect
npm@semantic-release/git10.0.1indirect
npm@semantic-release/github11.0.6indirect
npm@semantic-release/npm12.0.2indirect
npm@semantic-release/release-notes-generator14.1.0indirect
npm@sigstore/bundle3.1.0indirect
npm@sigstore/core2.0.0indirect
npm@sigstore/protobuf-specs0.4.3indirect
npm@sigstore/sign3.1.0indirect
npm@sigstore/tuf3.1.1indirect
npm@sigstore/verify2.1.1indirect
npm@sindresorhus/is4.6.0indirect
npm@sindresorhus/merge-streams4.0.0indirect
npm@tufjs/canonical-json2.0.0indirect
npm@tufjs/models3.0.1indirect
npm@types/node24.10.0indirect
npm@types/normalize-package-data2.4.4indirect
npmabbrev3.0.1indirect
npmaccepts2.0.0indirect
npmagent-base7.1.4indirect
npmaggregate-error3.1.0indirect
npmaggregate-error5.0.0indirect
npmajv8.18.0indirect
npmajv-formats3.0.1indirect
npmansi-escapes7.2.0indirect
npmansi-regex5.0.1indirect
npmansi-regex6.2.2indirect
npmansi-styles3.2.1indirect
npmansi-styles4.3.0indirect
npmansi-styles6.2.3indirect
npmany-promise1.3.0indirect
npmaproba2.1.0indirect
npmarchy1.0.0indirect
npmargparse2.0.1indirect
npmargv-formatter1.0.0indirect
npmarray-ify1.0.0indirect
npmbalanced-match1.0.2indirect
npmbefore-after-hook4.0.0indirect
npmbin-links5.0.0indirect
npmbinary-extensions2.3.0indirect
npmbody-parser2.2.2indirect
npmbottleneck2.19.5indirect
npmbrace-expansion2.0.2indirect
npmbraces3.0.3indirect
npmbytes3.1.2indirect
npmcacache19.0.1indirect
npmcall-bind-apply-helpers1.0.2indirect
npmcall-bound1.0.4indirect
npmcallsites3.1.0indirect
npmchalk2.4.2indirect
npmchalk4.1.2indirect
npmchalk5.6.2indirect
npmchar-regex1.0.2indirect
npmchownr3.0.0indirect
npmci-info4.4.0indirect
npmcidr-regex4.1.3indirect
npmclean-stack2.2.0indirect
npmclean-stack5.3.0indirect
npmcli-columns4.0.0indirect
npmcli-highlight2.1.11indirect
npmcli-table30.6.5indirect
npmcliui7.0.4indirect
npmcliui8.0.1indirect
npmcmd-shim7.0.0indirect
npmcolor-convert1.9.3indirect
npmcolor-convert2.0.1indirect
npmcolor-name1.1.3indirect
npmcolor-name1.1.4indirect
npmcommon-ancestor-path1.0.1indirect
npmcompare-func2.0.0indirect
npmconfig-chain1.1.13indirect
npmcontent-disposition1.0.1indirect
npmcontent-type1.0.5indirect
npmconventional-changelog-angular8.1.0indirect
npmconventional-changelog-writer8.2.0indirect
npmconventional-commits-filter5.0.0indirect
npmconventional-commits-parser6.2.1indirect
npmconvert-hrtime5.0.0indirect
npmcookie0.7.2indirect
npmcookie-signature1.2.2indirect
npmcore-util-is1.0.3indirect
npmcors2.8.5indirect
npmcosmiconfig9.0.0indirect
npmcross-spawn7.0.6indirect
npmcrypto-random-string4.0.0indirect
npmcssesc3.0.0indirect
npmdebug4.4.3indirect
npmdeep-extend0.6.0indirect
npmdepd2.0.0indirect
npmdiff5.2.2indirect
npmdir-glob3.0.1indirect
npmdot-prop5.3.0indirect
npmdunder-proto1.0.1indirect
npmduplexer20.1.4indirect
npmeastasianwidth0.2.0indirect
npmee-first1.1.1indirect
npmemoji-regex8.0.0indirect
npmemoji-regex9.2.2indirect
npmemojilib2.4.0indirect
npmencodeurl2.0.0indirect
npmencoding0.1.13indirect
npmenv-ci11.2.0indirect
npmenv-paths2.2.1indirect
npmenvironment1.1.0indirect
npmerr-code2.0.3indirect
npmerror-ex1.3.4indirect
npmes-define-property1.0.1indirect
npmes-errors1.3.0indirect
npmes-object-atoms1.1.1indirect
npmescalade3.2.0indirect
npmescape-html1.0.3indirect
npmescape-string-regexp1.0.5indirect
npmescape-string-regexp5.0.0indirect
npmetag1.8.1indirect
npmeventsource3.0.7indirect
npmeventsource-parser3.0.6indirect
npmexeca5.1.1indirect
npmexeca8.0.1indirect
npmexeca9.6.0indirect
npmexponential-backoff3.1.3indirect
npmexpress5.2.1indirect
npmexpress-rate-limit8.3.1indirect
npmfast-content-type-parse3.0.0indirect
npmfast-deep-equal3.1.3indirect
npmfast-uri3.1.0indirect
npmfastest-levenshtein1.0.16indirect
npmfdir6.5.0indirect
npmfigures2.0.0indirect
npmfigures6.1.0indirect
npmfill-range7.1.1indirect
npmfinalhandler2.1.1indirect
npmfind-up2.1.0indirect
npmfind-up-simple1.0.1indirect
npmfind-versions6.0.0indirect
npmforeground-child3.3.1indirect
npmforwarded0.2.0indirect
npmfresh2.0.0indirect
npmfrom22.3.0indirect
npmfs-extra11.3.2indirect
npmfs-minipass3.0.3indirect
npmfunction-bind1.1.2indirect
npmfunction-timeout1.0.2indirect
npmget-caller-file2.0.5indirect
npmget-intrinsic1.3.0indirect
npmget-proto1.0.1indirect
npmget-stream6.0.1indirect
npmget-stream7.0.1indirect
npmget-stream8.0.1indirect
npmget-stream9.0.1indirect
npmgit-log-parser1.2.1indirect
npmglob10.5.0indirect
npmgopd1.2.0indirect
npmgraceful-fs4.2.10indirect
npmgraceful-fs4.2.11indirect
npmhandlebars4.7.9indirect
npmhas-flag3.0.0indirect
npmhas-flag4.0.0indirect
npmhas-symbols1.1.0indirect
npmhasown2.0.2indirect
npmhighlight.js10.7.3indirect
npmhono4.12.9indirect
npmhook-std4.0.0indirect
npmhosted-git-info7.0.2indirect
npmhosted-git-info8.1.0indirect
npmhttp-cache-semantics4.2.0indirect
npmhttp-errors2.0.1indirect
npmhttp-proxy-agent7.0.2indirect
npmhttps-proxy-agent7.0.6indirect
npmhuman-signals2.1.0indirect
npmhuman-signals5.0.0indirect
npmhuman-signals8.0.1indirect
npmiconv-lite0.6.3indirect
npmiconv-lite0.7.2indirect
npmignore-walk7.0.0indirect
npmimport-fresh3.3.1indirect
npmimport-from-esm2.0.0indirect
npmimport-meta-resolve4.2.0indirect
npmimurmurhash0.1.4indirect
npmindent-string4.0.0indirect
npmindent-string5.0.0indirect
npmindex-to-position1.2.0indirect
npminherits2.0.4indirect
npmini1.3.8indirect
npmini5.0.0indirect
npminit-package-json7.0.2indirect
npminto-stream7.0.0indirect
npmip-address10.1.0indirect
npmip-regex5.0.0indirect
npmipaddr.js1.9.1indirect
npmis-arrayish0.2.1indirect
npmis-cidr5.1.1indirect
npmis-fullwidth-code-point3.0.0indirect
npmis-number7.0.0indirect
npmis-obj2.0.0indirect
npmis-plain-obj4.1.0indirect
npmis-promise4.0.0indirect
npmis-stream2.0.1indirect
npmis-stream3.0.0indirect
npmis-stream4.0.1indirect
npmis-unicode-supported2.1.0indirect
npmisarray1.0.0indirect
npmisexe2.0.0indirect
npmisexe3.1.5indirect
npmissue-parser7.0.1indirect
npmjackspeak3.4.3indirect
npmjava-properties1.0.2indirect
npmjose6.2.2indirect
npmjs-tokens4.0.0indirect
npmjs-yaml4.1.1indirect
npmjson-parse-better-errors1.0.2indirect
npmjson-parse-even-better-errors2.3.1indirect
npmjson-parse-even-better-errors4.0.0indirect
npmjson-schema-traverse1.0.0indirect
npmjson-schema-typed8.0.2indirect
npmjson-stringify-nice1.1.4indirect
npmjsonfile6.2.0indirect
npmjsonparse1.3.1indirect
npmjust-diff6.0.2indirect
npmjust-diff-apply5.5.0indirect
npmlibnpmaccess9.0.0indirect
npmlibnpmdiff7.0.5indirect
npmlibnpmexec9.0.5indirect
npmlibnpmfund6.0.5indirect
npmlibnpmhook11.0.0indirect
npmlibnpmorg7.0.0indirect
npmlibnpmpack8.0.5indirect
npmlibnpmpublish10.0.2indirect
npmlibnpmsearch8.0.0indirect
npmlibnpmteam7.0.0indirect
npmlibnpmversion7.0.0indirect
npmlines-and-columns1.2.4indirect
npmload-json-file4.0.0indirect
npmlocate-path2.0.0indirect
npmlodash4.17.23indirect
npmlodash-es4.17.23indirect
npmlodash.capitalize4.2.1indirect
npmlodash.escaperegexp4.1.2indirect
npmlodash.isplainobject4.0.6indirect
npmlodash.isstring4.0.1indirect
npmlodash.uniqby4.7.0indirect
npmlru-cache10.4.3indirect
npmmake-asynchronous1.0.1indirect
npmmake-fetch-happen14.0.3indirect
npmmarked15.0.12indirect
npmmarked-terminal7.3.0indirect
npmmath-intrinsics1.1.0indirect
npmmedia-typer1.1.0indirect
npmmeow13.2.0indirect
npmmerge-descriptors2.0.0indirect
npmmerge-stream2.0.0indirect
npmmicromatch4.0.8indirect
npmmime4.1.0indirect
npmmime-db1.54.0indirect
npmmime-types3.0.2indirect
npmmimic-fn2.1.0indirect
npmmimic-fn4.0.0indirect
npmminimatch9.0.9indirect
npmminimist1.2.8indirect
npmminipass3.3.6indirect
npmminipass7.1.3indirect
npmminipass-collect2.0.1indirect
npmminipass-fetch4.0.1indirect
npmminipass-flush1.0.5indirect
npmminipass-pipeline1.2.4indirect
npmminipass-sized1.0.3indirect
npmminizlib3.1.0indirect
npmms2.1.3indirect
npmmute-stream2.0.0indirect
npmmz2.7.0indirect
npmnegotiator1.0.0indirect
npmneo-async2.6.2indirect
npmnerf-dart1.0.0indirect
npmnode-emoji2.2.0indirect
npmnode-gyp11.5.0indirect
npmnopt8.1.0indirect
npmnormalize-package-data6.0.2indirect
npmnormalize-package-data7.0.1indirect
npmnormalize-url8.1.0indirect
npmnpm10.9.8indirect
npmnpm-audit-report6.0.0indirect
npmnpm-bundled4.0.0indirect
npmnpm-install-checks7.1.2indirect
npmnpm-normalize-package-bin4.0.0indirect
npmnpm-package-arg12.0.2indirect
npmnpm-packlist9.0.0indirect
npmnpm-pick-manifest10.0.0indirect
npmnpm-profile11.0.1indirect
npmnpm-registry-fetch18.0.2indirect
npmnpm-run-path4.0.1indirect
npmnpm-run-path5.3.0indirect
npmnpm-run-path6.0.0indirect
npmnpm-user-validate3.0.0indirect
npmobject-assign4.1.1indirect
npmobject-inspect1.13.4indirect
npmon-finished2.4.1indirect
npmonce1.4.0indirect
npmonetime5.1.2indirect
npmonetime6.0.0indirect
npmp-each-series3.0.0indirect
npmp-event6.0.1indirect
npmp-filter4.1.0indirect
npmp-is-promise3.0.0indirect
npmp-limit1.3.0indirect
npmp-locate2.0.0indirect
npmp-map7.0.3indirect
npmp-map7.0.4indirect
npmp-reduce2.1.0indirect
npmp-reduce3.0.0indirect
npmp-timeout6.1.4indirect
npmp-try1.0.0indirect
npmpackage-json-from-dist1.0.1indirect
npmpacote19.0.2indirect
npmpacote20.0.1indirect
npmparent-module1.0.1indirect
npmparse-conflict-json4.0.0indirect
npmparse-json4.0.0indirect
npmparse-json5.2.0indirect
npmparse-json8.3.0indirect
npmparse-ms4.0.0indirect
npmparse55.1.1indirect
npmparse56.0.1indirect
npmparse5-htmlparser2-tree-adapter6.0.1indirect
npmparseurl1.3.3indirect
npmpath-exists3.0.0indirect
npmpath-key3.1.1indirect
npmpath-key4.0.0indirect
npmpath-scurry1.11.1indirect
npmpath-to-regexp8.4.0indirect
npmpath-type4.0.0indirect
npmpicocolors1.1.1indirect
npmpicomatch2.3.2indirect
npmpicomatch4.0.3indirect
npmpicomatch4.0.4indirect
npmpify3.0.0indirect
npmpkce-challenge5.0.0indirect
npmpkg-conf2.1.0indirect
npmpostcss-selector-parser7.1.1indirect
npmpretty-ms9.3.0indirect
npmproc-log5.0.0indirect
npmprocess-nextick-args2.0.1indirect
npmproggy3.0.0indirect
npmpromise-all-reject-late1.0.1indirect
npmpromise-call-limit3.0.2indirect
npmpromise-retry2.0.1indirect
npmpromzard2.0.0indirect
npmproto-list1.2.4indirect
npmproxy-addr2.0.7indirect
npmqrcode-terminal0.12.0indirect
npmqs6.15.0indirect
npmrange-parser1.2.1indirect
npmraw-body3.0.2indirect
npmrc1.2.8indirect
npmread4.1.0indirect
npmread-cmd-shim5.0.0indirect
npmread-package-json-fast4.0.0indirect
npmread-package-up11.0.0indirect
npmread-pkg9.0.1indirect
npmreadable-stream2.3.8indirect
npmregistry-auth-token5.1.0indirect
npmrequire-directory2.1.1indirect
npmrequire-from-string2.0.2indirect
npmresolve-from4.0.0indirect
npmresolve-from5.0.0indirect
npmretry0.12.0indirect
npmrouter2.2.0indirect
npmsafe-buffer5.1.2indirect
npmsafer-buffer2.1.2indirect
npmsemantic-release24.2.9indirect
npmsemver7.7.3indirect
npmsemver7.7.4indirect
npmsemver-diff5.0.0indirect
npmsemver-regex4.0.5indirect
npmsend1.2.1indirect
npmserve-static2.2.1indirect
npmsetprototypeof1.2.0indirect
npmshebang-command2.0.0indirect
npmshebang-regex3.0.0indirect
npmside-channel1.1.0indirect
npmside-channel-list1.0.0indirect
npmside-channel-map1.0.1indirect
npmside-channel-weakmap1.0.2indirect
npmsignal-exit3.0.7indirect
npmsignal-exit4.1.0indirect
npmsignale1.4.0indirect
npmsigstore3.1.0indirect
npmskin-tone2.0.0indirect
npmsmart-buffer4.2.0indirect
npmsocks2.8.7indirect
npmsocks-proxy-agent8.0.5indirect
npmsource-map0.6.1indirect
npmspawn-error-forwarder1.0.0indirect
npmspdx-correct3.2.0indirect
npmspdx-exceptions2.5.0indirect
npmspdx-expression-parse3.0.1indirect
npmspdx-expression-parse4.0.0indirect
npmspdx-license-ids3.0.22indirect
npmspdx-license-ids3.0.23indirect
npmsplit21.0.0indirect
npmssri12.0.0indirect
npmstatuses2.0.2indirect
npmstream-combiner21.1.1indirect
npmstring-width4.2.3indirect
npmstring-width5.1.2indirect
npmstring_decoder1.1.1indirect
npmstrip-ansi6.0.1indirect
npmstrip-ansi7.2.0indirect
npmstrip-bom3.0.0indirect
npmstrip-final-newline2.0.0indirect
npmstrip-final-newline3.0.0indirect
npmstrip-final-newline4.0.0indirect
npmstrip-json-comments2.0.1indirect
npmsuper-regex1.1.0indirect
npmsupports-color5.5.0indirect
npmsupports-color7.2.0indirect
npmsupports-color9.4.0indirect
npmsupports-hyperlinks3.2.0indirect
npmtar7.5.11indirect
npmtemp-dir3.0.0indirect
npmtempy3.1.0indirect
npmtext-table0.2.0indirect
npmthenify3.3.1indirect
npmthenify-all1.6.0indirect
npmthrough22.0.5indirect
npmtime-span5.1.0indirect
npmtiny-relative-date1.3.0indirect
npmtinyglobby0.2.15indirect
npmto-regex-range5.0.1indirect
npmtoidentifier1.0.1indirect
npmtraverse0.6.8indirect
npmtreeverse3.0.0indirect
npmtuf-js3.1.0indirect
npmtype-fest1.4.0indirect
npmtype-fest2.19.0indirect
npmtype-fest4.41.0indirect
npmtype-is2.0.1indirect
npmtypescript5.9.3indirect
npmuglify-js3.19.3indirect
npmundici-types7.16.0indirect
npmunicode-emoji-modifier-base1.0.0indirect
npmunicorn-magic0.1.0indirect
npmunicorn-magic0.3.0indirect
npmunique-filename4.0.0indirect
npmunique-slug5.0.0indirect
npmunique-string3.0.0indirect
npmuniversal-user-agent7.0.3indirect
npmuniversalify2.0.1indirect
npmunpipe1.0.0indirect
npmurl-join5.0.0indirect
npmutil-deprecate1.0.2indirect
npmvalidate-npm-package-license3.0.4indirect
npmvalidate-npm-package-name6.0.2indirect
npmvary1.1.2indirect
npmwalk-up-path3.0.1indirect
npmweb-worker1.2.0indirect
npmwhich2.0.2indirect
npmwhich5.0.0indirect
npmwordwrap1.0.0indirect
npmwrap-ansi7.0.0indirect
npmwrap-ansi8.1.0indirect
npmwrappy1.0.2indirect
npmwrite-file-atomic6.0.0indirect
npmxtend4.0.2indirect
npmy18n5.0.8indirect
npmyallist4.0.0indirect
npmyallist5.0.0indirect
npmyargs16.2.0indirect
npmyargs17.7.2indirect
npmyargs-parser20.2.9indirect
npmyargs-parser21.1.1indirect
npmyoctocolors2.1.2indirect
npmzod-to-json-schema3.25.2indirect
Dependency advisories 15

This repository publishes no package the index resolves, so its own dependency graph was assessed — 517 packages, which also include development and test pins that never ship: 15 carry known advisories, of which 1 are direct.

PackageVersionRelationSeverityAdvisoriesFixed in
undici7.24.0directhigh78.5.0
brace-expansion2.0.2indirecthigh25.0.7
fast-uri3.1.0indirecthigh44.1.1
hono4.12.9indirecthigh234.12.27
js-yaml4.1.1indirecthigh24.3.0
lodash4.17.23indirecthigh24.18.0
lodash-es4.17.23indirecthigh24.18.0
picomatch4.0.3indirecthigh24.0.4
sigstore3.1.0indirecthigh14.1.1
tar7.5.11indirecthigh57.5.19
@hono/node-server1.19.11indirectmoderate22.0.5
@sigstore/core2.0.0indirectmoderate13.2.1
ip-address10.1.0indirectmoderate110.1.1
qs6.15.0indirectmoderate16.15.2
body-parser2.2.2indirectlow12.3.0

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": [],
      "is_fork": false,
      "size_kb": 616,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "Handlebars": 1395,
        "JavaScript": 2491,
        "TypeScript": 100559
      },
      "pushed_at": "2026-07-21T07:55:49Z",
      "created_at": "2025-09-20T07:11:02Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T07:56:41Z",
      "description": null,
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://Wopee.io",
      "name": "Wopee.io",
      "type": "Organization",
      "login": "Wopee-io",
      "company": null,
      "location": "Czech Republic",
      "followers": 28,
      "avatar_url": "https://avatars.githubusercontent.com/u/124098588?v=4",
      "created_at": "2023-01-31T21:56:15Z",
      "is_verified": null,
      "public_repos": 23,
      "account_age_days": 1267
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.29.0",
          "kind": "minor",
          "published_at": "2026-07-21T07:55:49Z"
        },
        {
          "tag": "v1.28.0",
          "kind": "minor",
          "published_at": "2026-07-13T05:48:09Z"
        },
        {
          "tag": "v1.27.0",
          "kind": "minor",
          "published_at": "2026-06-11T05:45:57Z"
        },
        {
          "tag": "v1.26.2",
          "kind": "patch",
          "published_at": "2026-05-06T13:27:26Z"
        },
        {
          "tag": "v1.26.1",
          "kind": "patch",
          "published_at": "2026-05-06T06:34:22Z"
        },
        {
          "tag": "v1.26.0",
          "kind": "minor",
          "published_at": "2026-04-23T09:05:00Z"
        },
        {
          "tag": "v1.25.0",
          "kind": "minor",
          "published_at": "2026-04-17T16:37:03Z"
        },
        {
          "tag": "v1.24.1",
          "kind": "patch",
          "published_at": "2026-04-15T11:31:29Z"
        },
        {
          "tag": "v1.24.0",
          "kind": "minor",
          "published_at": "2026-04-15T09:51:19Z"
        },
        {
          "tag": "v1.23.2",
          "kind": "patch",
          "published_at": "2026-04-06T11:06:24Z"
        },
        {
          "tag": "v1.23.1",
          "kind": "patch",
          "published_at": "2026-04-04T18:39:53Z"
        },
        {
          "tag": "v1.23.0",
          "kind": "minor",
          "published_at": "2026-04-03T07:47:01Z"
        },
        {
          "tag": "v1.22.0",
          "kind": "minor",
          "published_at": "2026-04-03T07:33:31Z"
        },
        {
          "tag": "v1.21.0",
          "kind": "minor",
          "published_at": "2026-04-03T05:43:39Z"
        },
        {
          "tag": "v1.20.0",
          "kind": "minor",
          "published_at": "2026-04-01T05:07:32Z"
        },
        {
          "tag": "v1.19.0",
          "kind": "minor",
          "published_at": "2026-03-30T11:24:56Z"
        },
        {
          "tag": "v1.18.2",
          "kind": "patch",
          "published_at": "2026-03-30T06:49:36Z"
        },
        {
          "tag": "v1.18.1",
          "kind": "patch",
          "published_at": "2026-03-30T06:37:55Z"
        },
        {
          "tag": "v1.18.0",
          "kind": "minor",
          "published_at": "2026-03-27T08:34:02Z"
        },
        {
          "tag": "v1.17.0",
          "kind": "minor",
          "published_at": "2026-03-19T09:33:29Z"
        },
        {
          "tag": "v1.16.0",
          "kind": "minor",
          "published_at": "2026-03-18T08:24:54Z"
        },
        {
          "tag": "v1.15.0",
          "kind": "minor",
          "published_at": "2026-03-18T07:00:49Z"
        },
        {
          "tag": "v1.14.0",
          "kind": "minor",
          "published_at": "2026-02-24T10:50:18Z"
        },
        {
          "tag": "v1.13.0",
          "kind": "minor",
          "published_at": "2026-02-09T08:21:48Z"
        },
        {
          "tag": "v1.12.0",
          "kind": "minor",
          "published_at": "2026-02-03T12:05:41Z"
        },
        {
          "tag": "v1.11.1",
          "kind": "patch",
          "published_at": "2026-01-19T12:01:31Z"
        },
        {
          "tag": "v1.11.0",
          "kind": "minor",
          "published_at": "2026-01-08T11:57:53Z"
        },
        {
          "tag": "v1.10.0",
          "kind": "minor",
          "published_at": "2026-01-07T06:19:41Z"
        },
        {
          "tag": "v1.9.0",
          "kind": "minor",
          "published_at": "2025-12-26T09:20:09Z"
        },
        {
          "tag": "v1.8.1",
          "kind": "patch",
          "published_at": "2025-12-19T08:30:45Z"
        },
        {
          "tag": "v1.8.0",
          "kind": "minor",
          "published_at": "2025-12-19T08:28:37Z"
        },
        {
          "tag": "v1.7.1",
          "kind": "patch",
          "published_at": "2025-12-18T07:23:23Z"
        },
        {
          "tag": "v1.7.0",
          "kind": "minor",
          "published_at": "2025-12-11T12:28:17Z"
        },
        {
          "tag": "v1.6.1",
          "kind": "patch",
          "published_at": "2025-11-20T09:32:08Z"
        },
        {
          "tag": "v1.6.0",
          "kind": "minor",
          "published_at": "2025-11-14T08:35:38Z"
        },
        {
          "tag": "v1.5.1",
          "kind": "patch",
          "published_at": "2025-11-12T10:42:47Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2025-11-12T10:16:24Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2025-11-12T08:40:35Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2025-11-11T10:40:51Z"
        },
        {
          "tag": "v1.2.2",
          "kind": "patch",
          "published_at": "2025-11-11T09:25:54Z"
        },
        {
          "tag": "v1.2.1",
          "kind": "patch",
          "published_at": "2025-11-11T08:54:57Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2025-11-11T08:37:25Z"
        },
        {
          "tag": "v1.1.1",
          "kind": "patch",
          "published_at": "2025-11-06T06:32:51Z"
        },
        {
          "tag": "v1.1.0",
          "kind": "minor",
          "published_at": "2025-11-03T17:11:53Z"
        },
        {
          "tag": "v1.0.4",
          "kind": "patch",
          "published_at": "2025-11-03T16:28:05Z"
        },
        {
          "tag": "v1.0.3",
          "kind": "patch",
          "published_at": "2025-09-23T10:59:07Z"
        },
        {
          "tag": "v1.0.2",
          "kind": "patch",
          "published_at": "2025-09-23T05:37:19Z"
        },
        {
          "tag": "v1.0.1",
          "kind": "patch",
          "published_at": "2025-09-22T19:25:29Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "6980626f78dcebd82caf17ffb79e4cbb79d12008",
          "body": "# [1.29.0](https://github.com/Wopee-io/wopee-mcp/compare/v1.28.0...v1.29.0) (2026-07-21)\n\n### Features\n\nadd wopee_fetch_test_inventory tool for chat test counts and statuses([20514a1](https://github.com/Wopee-io/wopee-mcp/commit/20514a102da9ebc9ca99eaada4403793570234c7)), closes[autonomous-testing/b\n[…]\ne (R001) counts.\nPure join logic lives in logic.ts and is unit-tested via node:test. Gives the\nchat a deterministic answer for \"how many tests\", \"list scenarios\", and\n\"executed + not-run in one list\".",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.29.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-21T07:55:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "20514a102da9ebc9ca99eaada4403793570234c7",
          "body": "…atuses\n\nComposes fetchAnalysisSuites + fetchArtifact(USER_STORIES) +\nfetchExecutedTestCases and left-joins each authored test case to its latest\nexecution (never-run => NOT_RUN), with regular vs reusable (R001) counts.\nPure join logic lives in logic.ts and is unit-tested via node:test. Gives the\nch\n[…]\nhow many tests\", \"list scenarios\", and\n\"executed + not-run in one list\".\n\nRefs autonomous-testing/backlog#4290, autonomous-testing/backlog#4125\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: add wopee_fetch_test_inventory tool for chat test counts and st…",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-07-21T07:54:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5fe3c39fbb18d9ea562d858ff9e82f7961405721",
          "body": "# [1.28.0](https://github.com/Wopee-io/wopee-mcp/compare/v1.27.0...v1.28.0) (2026-07-13)\n\n### Features\n\nadd wopee_fetch_variables tool([341a98e](https://github.com/Wopee-io/wopee-mcp/commit/341a98e05f49217b1f2bef0a9b8a2735eda24a0b))\nNew MCP tool to read run-time variables (additionalVariables) at ei\n[…]\nispatch_analysis), adds the\nUpdateProjectVariables / UpdateSuiteVariables mutations, and registers the tool.\n\nPart of epic #4148. Closes #4152.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.28.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-07-13T05:48:06Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6ffce6844fecbcdff42401a9bb337c5c1dd86b40",
          "body": "New MCP tool to upsert run-time variables (additionalVariables) at either\nlevel via the new api-key write paths:\n\n- level: PROJECT writes project-level variables using WOPEE_PROJECT_UUID.\n- level: ANALYSIS writes a suite's variables (requires suiteUuid).\n\nMerge semantics are enforced server-side: ke\n[…]\nispatch_analysis), adds the\nUpdateProjectVariables / UpdateSuiteVariables mutations, and registers the tool.\n\nPart of epic #4148. Closes #4152.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: add wopee_update_variables tool",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-07-13T05:47:10Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "341a98e05f49217b1f2bef0a9b8a2735eda24a0b",
          "body": "New MCP tool to read run-time variables (additionalVariables) at either\nlevel via the new api-key read paths:\n\n- level: PROJECT reads project-level variables using WOPEE_PROJECT_UUID.\n- level: ANALYSIS reads a suite's variables (requires suiteUuid).\n\nAdds the VariableLevel enum, the FetchProjectVari\n[…]\nuiteVariables\nGraphQL queries, and registers the tool. Returns the raw JSON string array\n(or [] when unset).\n\nPart of epic #4148. Closes #4151.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: add wopee_fetch_variables tool",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-07-13T05:47:10Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c4c56117019373d0d14ecc4d85a45d1dc980b728",
          "body": "# [1.27.0](https://github.com/Wopee-io/wopee-mcp/compare/v1.26.2...v1.27.0) (2026-06-11)\n\n### Features\n\nadd tool to fetch recent test executions([5910e8a](https://github.com/Wopee-io/wopee-mcp/commit/5910e8a4c82bbd9eee8a40d01b66d2d0f10b8d69))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.27.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-06-11T05:45:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5910e8a4c82bbd9eee8a40d01b66d2d0f10b8d69",
          "body": null,
          "is_bot": false,
          "headline": "feat: add tool to fetch recent test executions",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-06-11T05:41:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dde62da5cbeebcf832e934cc8d55b354e4141fe8",
          "body": "## [1.26.2](https://github.com/Wopee-io/wopee-mcp/compare/v1.26.1...v1.26.2) (2026-05-06)\n\n### Bug Fixes\n\n  **gql:**GenerateUserStoriesWithTestCases selects correct field name([1b828d7](https://github.com/Wopee-io/wopee-mcp/commit/1b828d724539fe26f8424ca84025b91a82b18292)), closes[autonomous-testing\n[…]\ne file (App, GeneralUserStories,\nTestCases, TestCaseSteps, ReusableTestCases, ReusableTestCaseSteps) were\nverified — operation name and field name match in every other case.\nIsolated copy-paste error.",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.26.2",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-05-06T13:27:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1b828d724539fe26f8424ca84025b91a82b18292",
          "body": "The mutation operation name is GenerateUserStoriesWithTestCases but the\nfield selected was generateUserStories — which doesn't exist on the API\n(api/src/typeDefs/userStories.js:7 only exposes generateUserStoriesWithTestCases).\nAny call to wopee_generate_artifact with type: USER_STORIES_WITH_TEST_CAS\n[…]\nes, TestCaseSteps, ReusableTestCases, ReusableTestCaseSteps) were\nverified — operation name and field name match in every other case.\nIsolated copy-paste error.\n\nCloses autonomous-testing/backlog#3987",
          "is_bot": false,
          "headline": "fix(gql): GenerateUserStoriesWithTestCases selects correct field name",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-05-06T13:26:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "eaa75fe0551f6cffb0e7677e62c557f72def9222",
          "body": "## [1.26.1](https://github.com/Wopee-io/wopee-mcp/compare/v1.26.0...v1.26.1) (2026-05-06)\n\n### Bug Fixes\n\n  **wopee_update_artifact:**drop false \"artifact must exist\" prerequisite([a47f4e9](https://github.com/Wopee-io/wopee-mcp/commit/a47f4e9ae5b3960043fa6a4f58eb0130782b2af6)), closes[autonomous-tes\n[…]\n it works on freshly-created blank suites;\n- clarify the split with wopee_generate_artifact (AI-authored vs caller-supplied);\n- replace \"missing artifact\" failure mode with \"storage misconfiguration\".",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.26.1",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-05-06T06:34:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a47f4e9ae5b3960043fa6a4f58eb0130782b2af6",
          "body": "…site\n\nThe tool description claimed the target artifact had to be pre-generated via\nwopee_generate_artifact, which forced callers to insert a wasteful\ngenerateArtifact call before any \"bring-your-own-content\" upload.\n\nThe server-side updateArtifact resolver in wopee-repos/api has no existence\ncheck \n[…]\ns;\n- clarify the split with wopee_generate_artifact (AI-authored vs caller-supplied);\n- replace \"missing artifact\" failure mode with \"storage misconfiguration\".\n\nCloses autonomous-testing/backlog#3986",
          "is_bot": false,
          "headline": "fix(wopee_update_artifact): drop false \"artifact must exist\" prerequi…",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-05-06T06:33:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6e46a4ee86b22d70b9ad84abc2d8b3250d8aa4f8",
          "body": "# [1.26.0](https://github.com/Wopee-io/wopee-mcp/compare/v1.25.0...v1.26.0) (2026-04-23)\n\n### Features\n\nimplement run test workflow with prompts and handler([33528d5](https://github.com/Wopee-io/wopee-mcp/commit/33528d5b33275ab367fd2ff3aa1ec50e8761fe94))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.26.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-04-23T09:04:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33528d5b33275ab367fd2ff3aa1ec50e8761fe94",
          "body": null,
          "is_bot": false,
          "headline": "feat: implement run test workflow with prompts and handler",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-04-23T09:03:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6761f67418b62aa1fbecced75434b38870041841",
          "body": "# [1.25.0](https://github.com/Wopee-io/wopee-mcp/compare/v1.24.1...v1.25.0) (2026-04-17)\n\n### Features\n\nadd customizable timeout option for request client([f600906](https://github.com/Wopee-io/wopee-mcp/commit/f600906ed2dea841d9de7b50dc3373d5cacb22af))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.25.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-04-17T16:37:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f600906ed2dea841d9de7b50dc3373d5cacb22af",
          "body": null,
          "is_bot": false,
          "headline": "feat: add customizable timeout option for request client",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-04-17T16:31:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a7bd6f189531f553e09d2322930c0ea27ff6462b",
          "body": "## [1.24.1](https://github.com/Wopee-io/wopee-mcp/compare/v1.24.0...v1.24.1) (2026-04-15)\n\n### Bug Fixes\n\nhandle failure case for sending chat messages([fd2bd9f](https://github.com/Wopee-io/wopee-mcp/commit/fd2bd9fa3f285145265261af47971d9f2ab55bcc))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.24.1",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-04-15T11:31:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd2bd9fa3f285145265261af47971d9f2ab55bcc",
          "body": null,
          "is_bot": false,
          "headline": "fix: handle failure case for sending chat messages",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-04-15T11:30:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76545184bbe53f3701e06756a787e2bc5a044dca",
          "body": "# [1.24.0](https://github.com/Wopee-io/wopee-mcp/compare/v1.23.2...v1.24.0) (2026-04-15)\n\n### Features\n\nimplement chat tools and GitHub issue creation functionality([a4ad90c](https://github.com/Wopee-io/wopee-mcp/commit/a4ad90c78b661f6a48d36676acad4aa79d3913e7))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.24.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-04-15T09:51:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4ad90c78b661f6a48d36676acad4aa79d3913e7",
          "body": null,
          "is_bot": false,
          "headline": "feat: implement chat tools and GitHub issue creation functionality",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-04-15T09:50:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c53cd8af1ffa0ac1675dd6e74551de28a4332f83",
          "body": "## [1.23.2](https://github.com/Wopee-io/wopee-mcp/compare/v1.23.1...v1.23.2) (2026-04-06)\n\n### Bug Fixes\n\nimprove tool and parameter descriptions for Glama TDQS score([b3f477c](https://github.com/Wopee-io/wopee-mcp/commit/b3f477cda6a845c248eecd5a9447b3729678f14d))\nAddress all 6 TDQS dimensions acros\n[…]\nites\n- Completeness: error scenarios, edge cases, empty results\n- Parameters: artifact types listed, cross-references to related tools\n- Conciseness: structured as what → when → side effects → returns",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.23.2",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-04-06T11:06:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5530f91d4fc59c4c8db0f4b493e39e9e3b4da540",
          "body": "fix: improve tool and parameter descriptions for Glama TDQS",
          "is_bot": false,
          "headline": "Merge pull request #58 from Wopee-io/fix/tdqs-score-improvements",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-04-06T11:05:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3f477cda6a845c248eecd5a9447b3729678f14d",
          "body": "Address all 6 TDQS dimensions across all 8 tools:\n- Behavior: side effects, idempotency, destructive vs read-only\n- Purpose: specific use cases, not generic CRUD\n- Usage Guidelines: when to use, when NOT to use, prerequisites\n- Completeness: error scenarios, edge cases, empty results\n- Parameters: artifact types listed, cross-references to related tools\n- Conciseness: structured as what → when → side effects → returns",
          "is_bot": false,
          "headline": "fix: improve tool and parameter descriptions for Glama TDQS score",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-04-06T10:59:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2c2679afaed749f92b0419496b6cedbf8319d508",
          "body": "## [1.23.1](https://github.com/Wopee-io/wopee-mcp/compare/v1.23.0...v1.23.1) (2026-04-04)\n\n### Bug Fixes\n\nimprove tool descriptions for better Glama TDQS score([e9f7115](https://github.com/Wopee-io/wopee-mcp/commit/e9f71154e203a1f790c25e1cf0559460a73e7d1a))\nEach tool now includes: purpose clarity, usage guidelines,\nbehavioral transparency, parameter semantics, and workflow context.\nFixes typo 'Woopee' in wopee_fetch_analysis_suites.",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.23.1",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-04-04T18:39:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83ce8afad1dd4e2939dec8d016540dc1369324e4",
          "body": "fix: improve tool descriptions for Glama quality score",
          "is_bot": false,
          "headline": "Merge pull request #57 from Wopee-io/fix/improve-tool-descriptions",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-04-04T18:38:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9f71154e203a1f790c25e1cf0559460a73e7d1a",
          "body": "Each tool now includes: purpose clarity, usage guidelines,\nbehavioral transparency, parameter semantics, and workflow context.\nFixes typo 'Woopee' in wopee_fetch_analysis_suites.",
          "is_bot": false,
          "headline": "fix: improve tool descriptions for better Glama TDQS score",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-04-04T18:29:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b897c8056229de8b8425b8d997e4b1a80d4b15a0",
          "body": "# [1.23.0](https://github.com/Wopee-io/wopee-mcp/compare/v1.22.0...v1.23.0) (2026-04-03)\n\n### Features\n\nupdate README with test results fetching, examples([59b6ed0](https://github.com/Wopee-io/wopee-mcp/commit/59b6ed02580310b4f11719933f317e51e5625331))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.23.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-04-03T07:47:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "59b6ed02580310b4f11719933f317e51e5625331",
          "body": null,
          "is_bot": false,
          "headline": "feat: update README with test results fetching, examples",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-04-03T07:46:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "769dd8fa82c7b816782aa10f0ba4013bbed2a3b1",
          "body": "# [1.22.0](https://github.com/Wopee-io/wopee-mcp/compare/v1.21.0...v1.22.0) (2026-04-03)\n\n### Features\n\nimplement tool to fetch executed test cases and integrate with prompts([e20a544](https://github.com/Wopee-io/wopee-mcp/commit/e20a544220417770f1e76f115c634ca72dc35aa8))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.22.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-04-03T07:33:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e20a544220417770f1e76f115c634ca72dc35aa8",
          "body": "…prompts",
          "is_bot": false,
          "headline": "feat: implement tool to fetch executed test cases and integrate with …",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-04-03T07:32:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d637f1390071a8d52c230da6c123dad7d5b59e4",
          "body": "# [1.21.0](https://github.com/Wopee-io/wopee-mcp/compare/v1.20.0...v1.21.0) (2026-04-03)\n\n### Features\n\nenhance error messages for better clarity and agent efficiency([e9827e0](https://github.com/Wopee-io/wopee-mcp/commit/e9827e0eb99cc3165e2c5ac722a1c2eab29b0f33))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.21.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-04-03T05:43:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9827e0eb99cc3165e2c5ac722a1c2eab29b0f33",
          "body": null,
          "is_bot": false,
          "headline": "feat: enhance error messages for better clarity and agent efficiency",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-04-03T05:42:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4278604867f96f2b5d0be147b9a5278609640c00",
          "body": "# [1.20.0](https://github.com/Wopee-io/wopee-mcp/compare/v1.19.0...v1.20.0) (2026-04-01)\n\n### Features\n\nenable re-triggering of existing analysis in dispatch analysis input([b276c89](https://github.com/Wopee-io/wopee-mcp/commit/b276c8993b4dc9609378882d5fc71e6ed86781aa))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.20.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-04-01T05:07:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b276c8993b4dc9609378882d5fc71e6ed86781aa",
          "body": "…input",
          "is_bot": false,
          "headline": "feat: enable re-triggering of existing analysis in dispatch analysis …",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-04-01T05:06:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26070075b521e41e02c25b3567fed28a89ddf124",
          "body": "chore: optimize npm package SEO",
          "is_bot": false,
          "headline": "Merge pull request #53 from Wopee-io/chore/seo-optimization",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-31T10:43:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c6fdab692e27378fb0b0dac9aff85d7a3b378a9",
          "body": "Add homepage, repository, and bugs URLs to package.json. Expand\nkeywords for better npm search discoverability. Improve README opening\nwith clear value prop, install command, and documentation links.",
          "is_bot": false,
          "headline": "chore: optimize npm package SEO",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-31T10:25:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "116006c5b42763415417e5967e4eecae830fb587",
          "body": "# [1.19.0](https://github.com/Wopee-io/wopee-mcp/compare/v1.18.2...v1.19.0) (2026-03-30)\n\n### Features\n\nadd Cursor Directory plugin config([532c168](https://github.com/Wopee-io/wopee-mcp/commit/532c168b1b6c4a2a59483d9020cbe6f9b06d3d52))\nAdds mcp.json and .cursor-plugin/plugin.json for Open Plugins\ncompatibility, enabling submission to Cursor Directory marketplace.",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.19.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-03-30T11:24:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d0f05a092548578fb4f89e1405948c4b75c584d",
          "body": "feat: add Cursor Directory plugin config",
          "is_bot": false,
          "headline": "Merge pull request #52 from Wopee-io/feat/cursor-plugin",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T11:23:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "532c168b1b6c4a2a59483d9020cbe6f9b06d3d52",
          "body": "Adds mcp.json and .cursor-plugin/plugin.json for Open Plugins\ncompatibility, enabling submission to Cursor Directory marketplace.",
          "is_bot": false,
          "headline": "feat: add Cursor Directory plugin config",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T11:06:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c62cac1d0e3353001aa46a30eb76b08c09aac05",
          "body": "…4.1.1\n\nchore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1",
          "is_bot": false,
          "headline": "Merge pull request #51 from Wopee-io/dependabot/npm_and_yarn/js-yaml-…",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T07:58:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "00142409417c8cef2729a61a3bf7ad8312874802",
          "body": "Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.\n- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)\n\n---\nupdated-dependencies:\n- dependency-name: js-yaml\n  dependency-version: 4.1.1\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-30T07:56:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07360be2cc621f48fd1e58e78f2e79c7ab2331fd",
          "body": "…05dc1ecf\n\nchore(deps): bump picomatch",
          "is_bot": false,
          "headline": "Merge pull request #50 from Wopee-io/dependabot/npm_and_yarn/multi-bf…",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T07:49:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb7f7d174769e7971a38c5417dd71da7b5793834",
          "body": "Bumps  and [picomatch](https://github.com/micromatch/picomatch). These dependencies needed to be updated together.\n\nUpdates `picomatch` from 2.3.1 to 2.3.2\n- [Release notes](https://github.com/micromatch/picomatch/releases)\n- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.\n[…]\nch\n  dependency-version: 2.3.2\n  dependency-type: indirect\n- dependency-name: picomatch\n  dependency-version: 4.0.4\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump picomatch",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-30T07:41:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c74df49f3532f0bbf8910f92f9dad2808cb482b3",
          "body": "chore: add glama.json to claim MCP server listing",
          "is_bot": false,
          "headline": "Merge pull request #49 from Wopee-io/chore/glama-claim",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T07:38:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "62331506d944c1f9d9d677669223e84a01ff8821",
          "body": "chore(deps): bump ajv from 8.17.1 to 8.18.0",
          "is_bot": false,
          "headline": "Merge pull request #48 from Wopee-io/dependabot/npm_and_yarn/ajv-8.18.0",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T07:37:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e4e75652143ee7774d3ae49fec9b844c81cb1583",
          "body": "Adds LICENSE file and updates package.json from ISC to MIT.\nFixes Glama license grade (was F due to missing LICENSE file).",
          "is_bot": false,
          "headline": "chore: add MIT license",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T07:37:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df029adf64a352ad2d2a07ab9d8bd617329dccac",
          "body": "Bumps [ajv](https://github.com/ajv-validator/ajv) from 8.17.1 to 8.18.0.\n- [Release notes](https://github.com/ajv-validator/ajv/releases)\n- [Commits](https://github.com/ajv-validator/ajv/compare/v8.17.1...v8.18.0)\n\n---\nupdated-dependencies:\n- dependency-name: ajv\n  dependency-version: 8.18.0\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump ajv from 8.17.1 to 8.18.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-30T07:35:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "358afc4321826ca37773319d50959ebedaebd82f",
          "body": "Allows claiming the Glama listing at glama.ai/mcp/servers/Wopee-io/wopee-mcp\nto manage description, receive review notifications, and configure builds.",
          "is_bot": false,
          "headline": "chore: add glama.json for MCP server claim",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T07:35:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c23a71d69f6fa4c9d66e349d7ce0c826da42c4d",
          "body": "….17.23\n\nchore(deps): bump lodash from 4.17.21 to 4.17.23",
          "is_bot": false,
          "headline": "Merge pull request #47 from Wopee-io/dependabot/npm_and_yarn/lodash-4…",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T07:34:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54c8652fd1981798dffbb08147962ca0e151772c",
          "body": "Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)\n\n---\nupdated-dependencies:\n- dependency-name: lodash\n  dependency-version: 4.17.23\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump lodash from 4.17.21 to 4.17.23",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-30T07:31:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da2085a08874cb9265c827766b49cb4757b1f71b",
          "body": "…s-4.17.23\n\nchore(deps-dev): bump lodash-es from 4.17.21 to 4.17.23",
          "is_bot": false,
          "headline": "Merge pull request #46 from Wopee-io/dependabot/npm_and_yarn/lodash-e…",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T07:29:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ffc69152f9cacf11641069c2520d4ba5d841be22",
          "body": "Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)\n\n---\nupdated-dependencies:\n- dependency-name: lodash-es\n  dependency-version: 4.17.23\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps-dev): bump lodash-es from 4.17.21 to 4.17.23",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-30T07:28:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5db8871b83f2a4a727a01e779a221e93bd752b8f",
          "body": "….24.0\n\nchore(deps): bump undici from 7.18.2 to 7.24.0",
          "is_bot": false,
          "headline": "Merge pull request #45 from Wopee-io/dependabot/npm_and_yarn/undici-7…",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T07:25:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e28a50ffad4a7178172daa7e98cf834d12428ab5",
          "body": "Bumps [undici](https://github.com/nodejs/undici) from 7.18.2 to 7.24.0.\n- [Release notes](https://github.com/nodejs/undici/releases)\n- [Commits](https://github.com/nodejs/undici/compare/v7.18.2...v7.24.0)\n\n---\nupdated-dependencies:\n- dependency-name: undici\n  dependency-version: 7.24.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump undici from 7.18.2 to 7.24.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-30T07:20:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c4badd8b198c8c413de15aab77dd4b41cfa81d1",
          "body": "…7bed3e05\n\nchore(deps): bump tar and npm",
          "is_bot": false,
          "headline": "Merge pull request #44 from Wopee-io/dependabot/npm_and_yarn/multi-71…",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T07:16:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e126b11fdd9f8b190ad933b39e5efca5308dd516",
          "body": "Removes [tar](https://github.com/isaacs/node-tar). It's no longer used after updating ancestor dependency [npm](https://github.com/npm/cli). These dependencies need to be updated together.\n\n\nRemoves `tar`\n\nUpdates `npm` from 10.9.4 to 10.9.8\n- [Release notes](https://github.com/npm/cli/releases)\n- [\n[…]\ncy-name: tar\n  dependency-version: \n  dependency-type: indirect\n- dependency-name: npm\n  dependency-version: 10.9.8\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump tar and npm",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-30T07:15:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5d81a74f33c792cfc629a5cd9e7d2d831356d4f8",
          "body": "…textprotocol/sdk-1.26.0\n\nchore(deps): bump @modelcontextprotocol/sdk from 1.21.0 to 1.26.0",
          "is_bot": false,
          "headline": "Merge pull request #43 from Wopee-io/dependabot/npm_and_yarn/modelcon…",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T07:12:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "47f706fcd74ed9a5b9b7ae228fbfcfc8aa480e27",
          "body": "Bumps [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) from 1.21.0 to 1.26.0.\n- [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases)\n- [Commits](https://github.com/modelcontextprotocol/typescript-sdk/compare/1.21.0...v1.26.0)\n\n---\nupdated-dependencies:\n- dependency-name: \"@modelcontextprotocol/sdk\"\n  dependency-version: 1.26.0\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump @modelcontextprotocol/sdk from 1.21.0 to 1.26.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-30T07:11:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd23ea4078dd8f1efe745b21f99cfca0de3fe075",
          "body": "…rs-4.7.9\n\nchore(deps-dev): bump handlebars from 4.7.8 to 4.7.9",
          "is_bot": false,
          "headline": "Merge pull request #42 from Wopee-io/dependabot/npm_and_yarn/handleba…",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T07:08:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f73c7c48d421d601791f26baf7f6e1c6f0fb32ef",
          "body": "Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.8 to 4.7.9.\n- [Release notes](https://github.com/handlebars-lang/handlebars.js/releases)\n- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/v4.7.9/release-notes.md)\n- [Commits](https://github.com/handlebar\n[…]\nrs.js/compare/v4.7.8...v4.7.9)\n\n---\nupdated-dependencies:\n- dependency-name: handlebars\n  dependency-version: 4.7.9\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps-dev): bump handlebars from 4.7.8 to 4.7.9",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-30T06:54:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0887d7c1e32f4981f867e305781dd506c8f53d60",
          "body": "chore: upgrade GitHub Actions to v6 (Node.js 24)",
          "is_bot": false,
          "headline": "Merge pull request #41 from Wopee-io/fix/node24-actions",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T06:52:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1ea5c499b2a0a798d1d8d484689a741db594bca",
          "body": "actions/checkout and actions/setup-node v4 run on Node.js 20 which is\ndeprecated and will be removed Sep 2026. Upgrade to v6 across all\nworkflows (ci_cd, publish, publish-mcp-registry).",
          "is_bot": false,
          "headline": "chore: upgrade GitHub Actions from v4 to v6 (Node.js 24)",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T06:51:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afad6167e28871a8326817a3c0cbe4cc930c00c0",
          "body": "## [1.18.2](https://github.com/Wopee-io/wopee-mcp/compare/v1.18.1...v1.18.2) (2026-03-30)\n\n### Bug Fixes\n\nuse ubuntu-latest runner for npm publish workflow([f82218d](https://github.com/Wopee-io/wopee-mcp/commit/f82218dad97dfba20dec3b6b8bf279685aabda25))\nThe `builder` self-hosted runner is unavailable, causing the publish\nworkflow to hang indefinitely. Switch to `ubuntu-latest` to match\nci_cd.yml. Also bump Node from 20 to 22 for consistency.",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.18.2",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-03-30T06:49:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2520317f5047ebcaad42a5d0e0a5b8b157040efb",
          "body": "fix: switch npm publish runner from builder to ubuntu-latest",
          "is_bot": false,
          "headline": "Merge pull request #40 from Wopee-io/fix/publish-runners",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T06:48:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f82218dad97dfba20dec3b6b8bf279685aabda25",
          "body": "The `builder` self-hosted runner is unavailable, causing the publish\nworkflow to hang indefinitely. Switch to `ubuntu-latest` to match\nci_cd.yml. Also bump Node from 20 to 22 for consistency.",
          "is_bot": false,
          "headline": "fix: use ubuntu-latest runner for npm publish workflow",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T06:46:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d7c3a28b4cd347b591494fd0f51c4af4cf11e6e",
          "body": "## [1.18.1](https://github.com/Wopee-io/wopee-mcp/compare/v1.18.0...v1.18.1) (2026-03-30)\n\n### Bug Fixes\n\nupdate MCP registry namespace to match new GitHub org([e7d565a](https://github.com/Wopee-io/wopee-mcp/commit/e7d565a493878c3670e4a723603392888cb69572))\nThe repo moved from autonomous-testing/wop\n[…]\npee-io/wopee-mcp\nbut server.json and package.json still referenced the old org. This broke\nthe Official MCP Registry listing and blocks all downstream auto-sync\n(PulseMCP, VS Code, Cursor, Claude.ai).",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.18.1",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-03-30T06:37:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ee0eee5d2bb77b6ae7fd215195d52d075377ecc4",
          "body": "fix: update MCP registry namespace to Wopee-io org",
          "is_bot": false,
          "headline": "Merge pull request #39 from Wopee-io/fix/registry-namespace",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T06:36:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7d565a493878c3670e4a723603392888cb69572",
          "body": "The repo moved from autonomous-testing/wopee-mcp to Wopee-io/wopee-mcp\nbut server.json and package.json still referenced the old org. This broke\nthe Official MCP Registry listing and blocks all downstream auto-sync\n(PulseMCP, VS Code, Cursor, Claude.ai).",
          "is_bot": false,
          "headline": "fix: update MCP registry namespace to match new GitHub org",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-30T06:28:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c18bc09d446b31e08197df867d78bcda2bb04528",
          "body": "# [1.18.0](https://github.com/autonomous-testing/wopee-mcp/compare/v1.17.0...v1.18.0) (2026-03-27)\n\n### Features\n\nprepare for open source([18fba30](https://github.com/autonomous-testing/wopee-mcp/commit/18fba302da43a13fce63c78782a2daf42ad06c1a))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.18.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-03-27T08:34:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "449df002bbfa40374cf6d8384d1c48ed244b2faa",
          "body": "…-steps-for-open-sourcing-the-repo\n\nfeat: prepare for open source",
          "is_bot": false,
          "headline": "Merge pull request #38 from autonomous-testing/feat/apply-preparation…",
          "author_name": "Sota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-03-27T08:32:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "18fba302da43a13fce63c78782a2daf42ad06c1a",
          "body": null,
          "is_bot": false,
          "headline": "feat: prepare for open source",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-03-27T07:55:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23bc6d1f680448bd1cc2fd26729a5bf55ada0ace",
          "body": "# [1.17.0](https://github.com/autonomous-testing/wopee-mcp/compare/v1.16.0...v1.17.0) (2026-03-19)\n\n### Features\n\nauto-publish to MCP Registry after NPM publish([616cb79](https://github.com/autonomous-testing/wopee-mcp/commit/616cb7934375a8ea767f94155a27cc2e05351af3))\nAdd workflow that automatically\n[…]\nishes to MCP Registry via GitHub OIDC after\nthe Publish to NPM workflow completes successfully.\n\nAlso fix server.json: bump version 1.14.0 → 1.16.0, shorten\ndescription to fit 100-char registry limit.",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.17.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-03-19T09:33:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "35e058a942880eb2232a187c9e01fd9213adf7bb",
          "body": "feat: auto-publish to MCP Registry after NPM publish",
          "is_bot": false,
          "headline": "Merge pull request #37 from autonomous-testing/fix/server-json-version",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-19T09:32:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "616cb7934375a8ea767f94155a27cc2e05351af3",
          "body": "Add workflow that automatically syncs server.json version from\npackage.json and publishes to MCP Registry via GitHub OIDC after\nthe Publish to NPM workflow completes successfully.\n\nAlso fix server.json: bump version 1.14.0 → 1.16.0, shorten\ndescription to fit 100-char registry limit.",
          "is_bot": false,
          "headline": "feat: auto-publish to MCP Registry after NPM publish",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-19T06:55:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "528da95f1dd2cfe44afc3089b8fd66d1e7aa0191",
          "body": "# [1.16.0](https://github.com/autonomous-testing/wopee-mcp/compare/v1.15.0...v1.16.0) (2026-03-18)\n\n### Features\n\nadd mcpName and server.json for Official MCP Registry listing([57b6ec9](https://github.com/autonomous-testing/wopee-mcp/commit/57b6ec996717b76ba7c909a1b7839fde15ef202d))\nAdd mcpName field to package.json and corrected server.json metadata\nto enable publishing to the Official MCP Registry.",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.16.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-03-18T08:24:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37d1a870a9ada9b4797a680aa7107d52c3cd29d9",
          "body": "feat: add mcpName for Official MCP Registry listing",
          "is_bot": false,
          "headline": "Merge pull request #35 from autonomous-testing/feat/mcp-registry-listing",
          "author_name": "Sota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-03-18T08:23:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38a4c3e45fa56d55adaae87b0d03d99558fefb95",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into feat/mcp-registry-listing",
          "author_name": "Sota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-03-18T08:21:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "faaec0065d137c3f74cb20eef82761b32454a2e4",
          "body": "# [1.15.0](https://github.com/autonomous-testing/wopee-mcp/compare/v1.14.0...v1.15.0) (2026-03-18)\n\n### Features\n\nenable additional variables in dispatch analysis([e9eed2f](https://github.com/autonomous-testing/wopee-mcp/commit/e9eed2ff4f44df21042463d82f51556c9d06829d))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.15.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-03-18T07:00:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9eed2ff4f44df21042463d82f51556c9d06829d",
          "body": null,
          "is_bot": false,
          "headline": "feat: enable additional variables in dispatch analysis",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-03-18T06:56:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57b6ec996717b76ba7c909a1b7839fde15ef202d",
          "body": "Add mcpName field to package.json and corrected server.json metadata\nto enable publishing to the Official MCP Registry.",
          "is_bot": false,
          "headline": "feat: add mcpName and server.json for Official MCP Registry listing",
          "author_name": "Marcel Veselka",
          "author_login": "marcel-veselka",
          "committed_at": "2026-03-17T18:17:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38b08c1e2fe5923e46b09dd8bb4772d270e6d7e1",
          "body": "# [1.14.0](https://github.com/autonomous-testing/wopee-mcp/compare/v1.13.0...v1.14.0) (2026-02-24)\n\n### Features\n\nupdate wopee_dispatch_analysis tool with additional instructions prop([c002f89](https://github.com/autonomous-testing/wopee-mcp/commit/c002f89baef55504f377925d95a02a868d11565c))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.14.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-02-24T10:50:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c002f89baef55504f377925d95a02a868d11565c",
          "body": "…s prop",
          "is_bot": false,
          "headline": "feat: update wopee_dispatch_analysis tool with additional instruction…",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-02-24T10:48:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3064778c728131df3a1f4299a9adb9300371c4e2",
          "body": "# [1.13.0](https://github.com/autonomous-testing/wopee-mcp/compare/v1.12.0...v1.13.0) (2026-02-09)\n\n### Features\n\nupdate README with TLS and certificate troubleshooting guidance([194d058](https://github.com/autonomous-testing/wopee-mcp/commit/194d0581a4c9db8aca5fe4cd2623e89587e777aa))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.13.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-02-09T08:21:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "194d0581a4c9db8aca5fe4cd2623e89587e777aa",
          "body": null,
          "is_bot": false,
          "headline": "feat: update README with TLS and certificate troubleshooting guidance",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-02-09T08:16:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4bc9d9cad52357325d893d3075c89be6bf5afc48",
          "body": "# [1.12.0](https://github.com/autonomous-testing/wopee-mcp/compare/v1.11.1...v1.12.0) (2026-02-03)\n\n### Features\n\nadd a tool to create a blank analysis suite([9573c76](https://github.com/autonomous-testing/wopee-mcp/commit/9573c76adb54cac9366197c64c5e3c7fc1cd1bc8))\n- Update README to include instructions for creating a blank analysis suite",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.12.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-02-03T12:05:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9573c76adb54cac9366197c64c5e3c7fc1cd1bc8",
          "body": "- Update README to include instructions for creating a blank analysis suite",
          "is_bot": false,
          "headline": "feat: add a tool to create a blank analysis suite",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-02-03T12:04:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3994c7d9830428b5e09895b4b2ca5055942d224f",
          "body": "## [1.11.1](https://github.com/autonomous-testing/wopee-mcp/compare/v1.11.0...v1.11.1) (2026-01-19)\n\n### Bug Fixes\n\nupdate tool name inside fetch_project_summary prompt([dccf769](https://github.com/autonomous-testing/wopee-mcp/commit/dccf7692ef876236849017a972ff26ec69730c44))\n- wopee_fetch_file -> wopee_fetch_artifact",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.11.1",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-01-19T12:01:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dccf7692ef876236849017a972ff26ec69730c44",
          "body": "- wopee_fetch_file -> wopee_fetch_artifact",
          "is_bot": false,
          "headline": "fix: update tool name inside fetch_project_summary prompt",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-01-19T12:00:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c5889d80b2bf78af357652e4a2a5abfb0dbfc9d",
          "body": "# [1.11.0](https://github.com/autonomous-testing/wopee-mcp/compare/v1.10.0...v1.11.0) (2026-01-08)\n\n### Features\n\nupdate DispatchAgent mutation response([2e1ce0a](https://github.com/autonomous-testing/wopee-mcp/commit/2e1ce0a0010eb0b612fbd16db671f22fe5d5d5a7))\n- sync with changes on API:\n  - return ExecutedTestCase array for DispatchAgent mutation",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.11.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-01-08T11:57:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e1ce0a0010eb0b612fbd16db671f22fe5d5d5a7",
          "body": "- sync with changes on API:\n  - return ExecutedTestCase array for DispatchAgent mutation",
          "is_bot": false,
          "headline": "feat: update DispatchAgent mutation response",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-01-08T11:56:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20dbd99ca192518dd7699260b19b8e6af0639b0e",
          "body": "# [1.10.0](https://github.com/autonomous-testing/wopee-mcp/compare/v1.9.0...v1.10.0) (2026-01-07)\n\n### Features\n\nadd corporate proxy support([277e1f5](https://github.com/autonomous-testing/wopee-mcp/commit/277e1f50deb5e08113975565683a0c8b57ee1709))\n- Add `HTTPS_PROXY` environment variable to manage proxy settings\n- Update README with proxy configuration instructions.",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.10.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2026-01-07T06:19:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "277e1f50deb5e08113975565683a0c8b57ee1709",
          "body": "- Add `HTTPS_PROXY` environment variable to manage proxy settings\n- Update README with proxy configuration instructions.",
          "is_bot": false,
          "headline": "feat: add corporate proxy support",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2026-01-07T06:18:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8af83a7cd82a0bee55cad211a31bc2c2c06deee",
          "body": "# [1.9.0](https://github.com/autonomous-testing/wopee-mcp/compare/v1.8.1...v1.9.0) (2025-12-26)\n\n### Features\n\nupdate tools with updated endpoint signature([3d5c3ab](https://github.com/autonomous-testing/wopee-mcp/commit/3d5c3ab7b1c61268bb596851d6a37de0fd66b0c8))\n- fetch file -> fetch artifact\n- update file -> update artifact\n- endpoints using unified interface for S3/REPOSITORY storage types\n- update schemas, handlers, factories\n- update README",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.9.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2025-12-26T09:20:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d5c3ab7b1c61268bb596851d6a37de0fd66b0c8",
          "body": "- fetch file -> fetch artifact\n- update file -> update artifact\n- endpoints using unified interface for S3/REPOSITORY storage types\n- update schemas, handlers, factories\n- update README",
          "is_bot": false,
          "headline": "feat: update tools with updated endpoint signature",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2025-12-26T09:18:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "587bf97761b6968b9e327fa4189125954489874a",
          "body": "## [1.8.1](https://github.com/autonomous-testing/wopee-mcp/compare/v1.8.0...v1.8.1) (2025-12-19)\n\n### Bug Fixes\n\nremove leftover logs([e166353](https://github.com/autonomous-testing/wopee-mcp/commit/e1663537f6703e5125d40d7e85d2077c55098f8d))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.8.1",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2025-12-19T08:30:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1663537f6703e5125d40d7e85d2077c55098f8d",
          "body": null,
          "is_bot": false,
          "headline": "fix: remove leftover logs",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2025-12-19T08:29:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2294d2ffbf2e357898b75c17e5440b4f62b36ca",
          "body": "# [1.8.0](https://github.com/autonomous-testing/wopee-mcp/compare/v1.7.1...v1.8.0) (2025-12-19)\n\n### Features\n\nenable fetch/update for playwright code([e059e06](https://github.com/autonomous-testing/wopee-mcp/commit/e059e06f464338b4662dc07a68a0322601029b44))\n- temporary workaround inside 'fetch file' with identifier\n- add optional params to update file endpoint to support pw code",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.8.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2025-12-19T08:28:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e059e06f464338b4662dc07a68a0322601029b44",
          "body": "- temporary workaround inside 'fetch file' with identifier\n- add optional params to update file endpoint to support pw code",
          "is_bot": false,
          "headline": "feat: enable fetch/update for playwright code",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2025-12-19T08:27:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a62e8d16c00efb538669b5a95f12c44ae8736389",
          "body": "## [1.7.1](https://github.com/autonomous-testing/wopee-mcp/compare/v1.7.0...v1.7.1) (2025-12-18)\n\n### Bug Fixes\n\ncorrect return value for 'testCaseSteps'([303c6b2](https://github.com/autonomous-testing/wopee-mcp/commit/303c6b2a7f426a9cb6333b7c1805573e18921aca))",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.7.1",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2025-12-18T07:23:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "303c6b2a7f426a9cb6333b7c1805573e18921aca",
          "body": null,
          "is_bot": false,
          "headline": "fix: correct return value for 'testCaseSteps'",
          "author_name": "Šota Giorgadze",
          "author_login": "fotyG",
          "committed_at": "2025-12-18T07:22:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fec02293913bee42da552898894bb5a57da7ed39",
          "body": "# [1.7.0](https://github.com/autonomous-testing/wopee-mcp/compare/v1.6.1...v1.7.0) (2025-12-11)\n\n### Features\n\nsync with changes on API([6d2cfad](https://github.com/autonomous-testing/wopee-mcp/commit/6d2cfad53227781a655f0ae108895fed4b766a11))\n- add new endpoints\n- update existing endpoints",
          "is_bot": false,
          "headline": "chore(release): Wopee MCP v1.7.0",
          "author_name": "semantic-release-bot",
          "author_login": "semantic-release-bot",
          "committed_at": "2025-12-11T12:28:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 48,
      "commits_last_year": 165,
      "latest_release_at": "2026-07-21T07:55:49Z",
      "latest_release_tag": "v1.29.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 23,
      "days_since_latest_release": 0,
      "mean_days_between_releases": 11.8
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": false,
      "has_contributing": false,
      "health_percentage": 25,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "wopee-mcp",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "wopee",
            "wopee.io",
            "mcp",
            "model context protocol",
            "ai testing",
            "autonomous testing",
            "test automation",
            "claude",
            "cursor",
            "ai agent",
            "visual testing",
            "playwright"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/wopee-mcp",
          "is_deprecated": false,
          "latest_version": "1.29.0",
          "repository_url": "https://github.com/Wopee-io/wopee-mcp",
          "versions_count": 41,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 1017,
          "first_published_at": "2025-09-22T19:25:28.040000Z",
          "latest_published_at": "2026-07-21T08:02:37.101000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 5,
      "watchers": 0,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": {
        "days": [
          {
            "date": "2026-04-06",
            "count": 1
          },
          {
            "date": "2026-04-26",
            "count": 1
          },
          {
            "date": "2026-05-11",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 1
          },
          {
            "date": "2026-07-05",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 5,
        "total_stars": 5
      },
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": true,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 6791,
      "source_files_sampled": 44,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "undici",
            "direct": true,
            "version": "7.24.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-35p6-xmwp-9g52",
              "GHSA-g8m3-5g58-fq7m",
              "GHSA-hm92-r4w5-c3mj",
              "GHSA-p88m-4jfj-68fv",
              "GHSA-pr7r-676h-xcf6",
              "GHSA-vmh5-mc38-953g",
              "GHSA-vxpw-j846-p89q"
            ],
            "fixed_version": "8.5.0",
            "advisory_count": 7,
            "oldest_advisory_days": 33
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-f886-m6hf-6m8v"
            ],
            "fixed_version": "5.0.7",
            "advisory_count": 2,
            "oldest_advisory_days": 117
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-4c8g-83qw-93j6",
              "GHSA-q3j6-qgpj-74h6",
              "GHSA-v2hh-gcrm-f6hx",
              "GHSA-v39h-62p7-jpjc"
            ],
            "fixed_version": "4.1.1",
            "advisory_count": 4,
            "oldest_advisory_days": 74
          },
          {
            "name": "hono",
            "direct": false,
            "version": "4.12.9",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.1,
            "advisory_ids": [
              "GHSA-26pp-8wgv-hjvm",
              "GHSA-2gcr-mfcq-wcc3",
              "GHSA-3hrh-pfw6-9m5x",
              "GHSA-458j-xx4x-4375",
              "GHSA-69xw-7hcm-h432",
              "GHSA-88fw-hqm2-52qc",
              "GHSA-9vqf-7f2p-gf9v",
              "GHSA-f577-qrjj-4474",
              "GHSA-hm8q-7f3q-5f36",
              "GHSA-hvrm-45r6-mjfj"
            ],
            "fixed_version": "4.12.27",
            "advisory_count": 23,
            "oldest_advisory_days": 105
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52cp-r559-cp3m",
              "GHSA-h67p-54hq-rp68"
            ],
            "fixed_version": "4.3.0",
            "advisory_count": 2,
            "oldest_advisory_days": 36
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.23",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-f23m-r3pf-42rh",
              "GHSA-r5fr-rjxr-66jc"
            ],
            "fixed_version": "4.18.0",
            "advisory_count": 2,
            "oldest_advisory_days": 111
          },
          {
            "name": "lodash-es",
            "direct": false,
            "version": "4.17.23",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-f23m-r3pf-42rh",
              "GHSA-r5fr-rjxr-66jc"
            ],
            "fixed_version": "4.18.0",
            "advisory_count": 2,
            "oldest_advisory_days": 111
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3v7f-55p6-f55p",
              "GHSA-c2c7-rcm5-vvqj"
            ],
            "fixed_version": "4.0.4",
            "advisory_count": 2,
            "oldest_advisory_days": 118
          },
          {
            "name": "sigstore",
            "direct": false,
            "version": "3.1.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52v5-jr5w-gjxr"
            ],
            "fixed_version": "4.1.1",
            "advisory_count": 1,
            "oldest_advisory_days": 20
          },
          {
            "name": "tar",
            "direct": false,
            "version": "7.5.11",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-23hp-3jrh-7fpw",
              "GHSA-8x88-c5mf-7j5w",
              "GHSA-gvwx-54wh-qm9j",
              "GHSA-vmf3-w455-68vh",
              "GHSA-w8wr-v893-vjvp"
            ],
            "fixed_version": "7.5.19",
            "advisory_count": 5,
            "oldest_advisory_days": 36
          },
          {
            "name": "@hono/node-server",
            "direct": false,
            "version": "1.19.11",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.9,
            "advisory_ids": [
              "GHSA-92pp-h63x-v22m",
              "GHSA-frvp-7c67-39w9"
            ],
            "fixed_version": "2.0.5",
            "advisory_count": 2,
            "oldest_advisory_days": 105
          },
          {
            "name": "@sigstore/core",
            "direct": false,
            "version": "2.0.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.4,
            "advisory_ids": [
              "GHSA-jfc7-64v2-mr8c"
            ],
            "fixed_version": "3.2.1",
            "advisory_count": 1,
            "oldest_advisory_days": 25
          },
          {
            "name": "ip-address",
            "direct": false,
            "version": "10.1.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-v2v4-37r5-5v8g"
            ],
            "fixed_version": "10.1.1",
            "advisory_count": 1,
            "oldest_advisory_days": 77
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.15.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-q8mj-m7cp-5q26"
            ],
            "fixed_version": "6.15.2",
            "advisory_count": 1,
            "oldest_advisory_days": 60
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "2.2.2",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 3.7,
            "advisory_ids": [
              "GHSA-v422-hmwv-36x6"
            ],
            "fixed_version": "2.3.0",
            "advisory_count": 1,
            "oldest_advisory_days": 1
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "low": 1,
          "high": 10,
          "moderate": 4
        },
        "advisory_count": 56,
        "affected_count": 15,
        "assessed_count": 517,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 1
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@modelcontextprotocol/sdk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.21.0"
        },
        {
          "name": "undici",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.18.2"
        },
        {
          "name": "zod",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.25.76"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@modelcontextprotocol/sdk",
            "direct": true,
            "version": "1.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": true,
            "version": "7.24.0",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": true,
            "version": "3.25.76",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.28.5",
            "ecosystem": "npm"
          },
          {
            "name": "@colors/colors",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@hono/node-server",
            "direct": false,
            "version": "1.19.11",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/fs-minipass",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/string-locale-compare",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/agent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/arborist",
            "direct": false,
            "version": "8.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/config",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/fs",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/git",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/installed-package-contents",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/map-workspaces",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/metavuln-calculator",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/name-from-folder",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/node-gyp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/package-json",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/promise-spawn",
            "direct": false,
            "version": "8.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/query",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/redact",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/run-script",
            "direct": false,
            "version": "9.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/auth-token",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/core",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/endpoint",
            "direct": false,
            "version": "11.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/graphql",
            "direct": false,
            "version": "9.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/openapi-types",
            "direct": false,
            "version": "26.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/openapi-types",
            "direct": false,
            "version": "27.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/plugin-paginate-rest",
            "direct": false,
            "version": "13.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/plugin-retry",
            "direct": false,
            "version": "8.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/plugin-throttling",
            "direct": false,
            "version": "11.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/request",
            "direct": false,
            "version": "10.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/request-error",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/types",
            "direct": false,
            "version": "15.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@octokit/types",
            "direct": false,
            "version": "16.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgjs/parseargs",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pnpm/config.env-replace",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pnpm/network.ca-file",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@pnpm/npm-conf",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sec-ant/readable-stream",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/changelog",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/commit-analyzer",
            "direct": false,
            "version": "13.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/error",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/error",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/git",
            "direct": false,
            "version": "10.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/github",
            "direct": false,
            "version": "11.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/npm",
            "direct": false,
            "version": "12.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@semantic-release/release-notes-generator",
            "direct": false,
            "version": "14.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sigstore/bundle",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sigstore/core",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sigstore/protobuf-specs",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@sigstore/sign",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sigstore/tuf",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sigstore/verify",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sindresorhus/is",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sindresorhus/merge-streams",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tufjs/canonical-json",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tufjs/models",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "24.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/normalize-package-data",
            "direct": false,
            "version": "2.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "abbrev",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "accepts",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "7.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "aggregate-error",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "aggregate-error",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-formats",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "any-promise",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "aproba",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "archy",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "argv-formatter",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "array-ify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "before-after-hook",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "bin-links",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "body-parser",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "bottleneck",
            "direct": false,
            "version": "2.19.5",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "cacache",
            "direct": false,
            "version": "19.0.1",
            "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": "chalk",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "5.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "char-regex",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ci-info",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "cidr-regex",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "clean-stack",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "clean-stack",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-columns",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-highlight",
            "direct": false,
            "version": "2.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "cli-table3",
            "direct": false,
            "version": "0.6.5",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cmd-shim",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "common-ancestor-path",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "compare-func",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "config-chain",
            "direct": false,
            "version": "1.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "content-disposition",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "content-type",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-changelog-angular",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-changelog-writer",
            "direct": false,
            "version": "8.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-commits-filter",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "conventional-commits-parser",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "convert-hrtime",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "cookie-signature",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "core-util-is",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cors",
            "direct": false,
            "version": "2.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "cosmiconfig",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "crypto-random-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cssesc",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "deep-extend",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "depd",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "dir-glob",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "dot-prop",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer2",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "eastasianwidth",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ee-first",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "emojilib",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "encodeurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "encoding",
            "direct": false,
            "version": "0.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "env-ci",
            "direct": false,
            "version": "11.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "env-paths",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "environment",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "err-code",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-html",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "etag",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "eventsource",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "eventsource-parser",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "9.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "exponential-backoff",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "express",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "express-rate-limit",
            "direct": false,
            "version": "8.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "fast-content-type-parse",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fastest-levenshtein",
            "direct": false,
            "version": "1.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "figures",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "figures",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "finalhandler",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up-simple",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-versions",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "forwarded",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fresh",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "from2",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "11.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fs-minipass",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "function-timeout",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "git-log-parser",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "10.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.10",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "handlebars",
            "direct": false,
            "version": "4.7.9",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "highlight.js",
            "direct": false,
            "version": "10.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "hono",
            "direct": false,
            "version": "4.12.9",
            "ecosystem": "npm"
          },
          {
            "name": "hook-std",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "http-cache-semantics",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "http-errors",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-agent",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore-walk",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "import-from-esm",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "import-meta-resolve",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "index-to-position",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "init-package-json",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "into-stream",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ip-address",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ip-regex",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ipaddr.js",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-cidr",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-obj",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-promise",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "issue-parser",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "java-properties",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "jose",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-better-errors",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-typed",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-stringify-nice",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsonparse",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "just-diff",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "just-diff-apply",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmaccess",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmdiff",
            "direct": false,
            "version": "7.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmexec",
            "direct": false,
            "version": "9.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmfund",
            "direct": false,
            "version": "6.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmhook",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmorg",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmpack",
            "direct": false,
            "version": "8.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmpublish",
            "direct": false,
            "version": "10.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmsearch",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmteam",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "libnpmversion",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "load-json-file",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.23",
            "ecosystem": "npm"
          },
          {
            "name": "lodash-es",
            "direct": false,
            "version": "4.17.23",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.capitalize",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.escaperegexp",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isplainobject",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isstring",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.uniqby",
            "direct": false,
            "version": "4.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "10.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "make-asynchronous",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "make-fetch-happen",
            "direct": false,
            "version": "14.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "marked",
            "direct": false,
            "version": "15.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "marked-terminal",
            "direct": false,
            "version": "7.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "media-typer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "meow",
            "direct": false,
            "version": "13.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-descriptors",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.54.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "3.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-collect",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-fetch",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-flush",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-pipeline",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-sized",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "minizlib",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mute-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mz",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "neo-async",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "nerf-dart",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-emoji",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp",
            "direct": false,
            "version": "11.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "nopt",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-url",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm",
            "direct": false,
            "version": "10.9.8",
            "ecosystem": "npm"
          },
          {
            "name": "npm-audit-report",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-bundled",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-install-checks",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "npm-normalize-package-bin",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-package-arg",
            "direct": false,
            "version": "12.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "npm-packlist",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-pick-manifest",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-profile",
            "direct": false,
            "version": "11.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "npm-registry-fetch",
            "direct": false,
            "version": "18.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-user-validate",
            "direct": false,
            "version": "3.0.0",
            "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": "on-finished",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-each-series",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-event",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "p-filter",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-is-promise",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-map",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "p-map",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "p-reduce",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-reduce",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-timeout",
            "direct": false,
            "version": "6.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "p-try",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pacote",
            "direct": false,
            "version": "19.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "pacote",
            "direct": false,
            "version": "20.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-conflict-json",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-ms",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse5-htmlparser2-tree-adapter",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parseurl",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pkce-challenge",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-conf",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-selector-parser",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-ms",
            "direct": false,
            "version": "9.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "proc-log",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "process-nextick-args",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "proggy",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "promise-all-reject-late",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "promise-call-limit",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "promise-retry",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "promzard",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "proto-list",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-addr",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "qrcode-terminal",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "range-parser",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "raw-body",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "rc",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "read",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-cmd-shim",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-package-json-fast",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-package-up",
            "direct": false,
            "version": "11.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg",
            "direct": false,
            "version": "9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "registry-auth-token",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "retry",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "router",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "semantic-release",
            "direct": false,
            "version": "24.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "semver-diff",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver-regex",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "send",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "serve-static",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "setprototypeof",
            "direct": false,
            "version": "1.2.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.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-list",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-map",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-weakmap",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "signale",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "sigstore",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "skin-tone",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "smart-buffer",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "socks",
            "direct": false,
            "version": "2.8.7",
            "ecosystem": "npm"
          },
          {
            "name": "socks-proxy-agent",
            "direct": false,
            "version": "8.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "spawn-error-forwarder",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-correct",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-exceptions",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.22",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.23",
            "ecosystem": "npm"
          },
          {
            "name": "split2",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ssri",
            "direct": false,
            "version": "12.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "stream-combiner2",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "super-regex",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "9.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-hyperlinks",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tar",
            "direct": false,
            "version": "7.5.11",
            "ecosystem": "npm"
          },
          {
            "name": "temp-dir",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tempy",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "text-table",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "thenify",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "thenify-all",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "through2",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "time-span",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tiny-relative-date",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.15",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "toidentifier",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "traverse",
            "direct": false,
            "version": "0.6.8",
            "ecosystem": "npm"
          },
          {
            "name": "treeverse",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tuf-js",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "2.19.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "4.41.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-is",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "uglify-js",
            "direct": false,
            "version": "3.19.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicode-emoji-modifier-base",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicorn-magic",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicorn-magic",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "unique-filename",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unique-slug",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unique-string",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "universal-user-agent",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unpipe",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "url-join",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "validate-npm-package-license",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "validate-npm-package-name",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "vary",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "walk-up-path",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "web-worker",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wordwrap",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "write-file-atomic",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "16.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "17.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "20.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yoctocolors",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "zod-to-json-schema",
            "direct": false,
            "version": "3.25.2",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 517,
        "direct_count": 3,
        "indirect_count": 514
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 50,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 1,
        "closed_unmerged_prs": 14
      },
      "bus_factor": 2,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "marcel-veselka",
          "commits": 70,
          "avatar_url": "https://avatars.githubusercontent.com/u/9706465?v=4"
        },
        {
          "type": "User",
          "login": "semantic-release-bot",
          "commits": 46,
          "avatar_url": "https://avatars.githubusercontent.com/u/32174276?v=4"
        },
        {
          "type": "User",
          "login": "fotyG",
          "commits": 40,
          "avatar_url": "https://avatars.githubusercontent.com/u/117805980?v=4"
        }
      ],
      "contributors_sampled": 3,
      "top_contributor_share": 0.449
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci_cd.yml",
        "publish-mcp-registry.yml",
        "publish.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "10 out of 10 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 1/27 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 4 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": "13 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 2,
            "reason": "dependency not pinned by hash detected -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "54 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "6980626f78dcebd82caf17ffb79e4cbb79d12008",
        "ran_at": "2026-07-22T06:28:20Z",
        "aggregate_score": 4.7,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-21T08:03:08Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-21T07:54:40Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Wopee-io/wopee-mcp",
    "host": "github.com",
    "name": "wopee-mcp",
    "owner": "Wopee-io"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 61,
      "inputs": {
        "security": 52,
        "vitality": 88,
        "community": 34,
        "governance": 69,
        "engineering": 53
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 88,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "commits_last_year": 165,
              "human_commit_share": 0.91,
              "days_since_last_push": 0,
              "active_weeks_last_year": 23
            },
            "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": "23/52 weeks with commits",
                "points": 15.9,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 23
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "165 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 165
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "13 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 48,
              "latest_release_tag": "v1.29.0",
              "releases_from_tags": false,
              "days_since_latest_release": 0,
              "mean_days_between_releases": 11.8
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "48 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 48
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~11.8 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 11.8
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 34,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 10,
            "inputs": {
              "forks": 0,
              "stars": 5,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "below_threshold"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "5 stars",
                "points": 9.8,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 50,
            "inputs": {
              "packages": [
                "wopee-mcp"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 1017
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "1,017 downloads/month across npm",
                "points": 40.1,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 1017,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 69,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 52,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 3,
              "top_contributor_share": 0.449
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 45% of commits",
                "points": 12.4,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 45
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "3 contributors",
                "points": 4.1,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 4 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "merged_prs": 50,
              "open_issues": 0,
              "closed_issues": 1,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 14
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 46.8,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "50/64 decided PRs merged",
                "points": 29.9,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 50,
                      "decided": 64
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 1/27 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 58,
            "inputs": {
              "followers": 28,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "Wopee-io",
              "public_repos": 23,
              "account_age_days": 1267
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "28 followers of Wopee-io",
                "points": 10.5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 28,
                      "login": "Wopee-io"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "23 public repos, account ~3 yr old",
                "points": 17,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 23
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 3
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "wopee-mcp"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 0
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 0 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "41 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 41
                    }
                  }
                ],
                "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": "moderate",
        "name": "Engineering Quality",
        "value": 53,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "3 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "10 out of 10 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "at_risk",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 30,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 52,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "signed_releases"
                  ]
                }
              },
              {
                "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": "10 out of 10 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 1/27 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 4 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": "13 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 2",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "54 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 517 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 517
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 72,
            "inputs": {
              "source": "osv",
              "advisories": 56,
              "affected_packages": 15,
              "assessed_packages": 517,
              "unassessed_packages": 0,
              "affected_by_severity": "high 10, moderate 4, low 1",
              "direct_affected_packages": 1
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "1 affected: undici 7.24.0 (high 7.5)",
                "points": 14,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "undici 7.24.0 (high 7.5)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory has been public longer than 90 days",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "advisories_none_stale",
                    "params": {
                      "days": 90
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 517,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 5
            },
            "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": 54,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.989,
              "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": "90 of 91 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 90,
                      "sampled": 91
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "tsconfig.json"
              ],
              "agent_commit_share": 0.04,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.09
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "4 of the last 100 commits agent-authored or agent-credited",
                "points": 8,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 4,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "9 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 9,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 2",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 6791,
              "source_files_sampled": 44,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/44 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 44,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "critical",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 20,
            "inputs": {
              "example_dirs": [],
              "has_mcp_signal": true,
              "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": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "deps.dev does not index npm:wopee-mcp@1.29.0; advisories assessed against the repository dependency graph instead"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-22T06:28:33.675029Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/w/Wopee-io/wopee-mcp.svg",
  "full_name": "Wopee-io/wopee-mcp",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

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