Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-26 01:46 UTC

jumpserver / lina

Lina is the JumpServer Web UI

Vue · JavaScriptGPL-3.0★ 233 stars⑂ 147 forkssince Mar 2020View on GitHub ↗

jumpserver/lina holds a health index of 69 out of 100, placing it in the Moderate band. It scores highest on Vitality (94/100) and lowest on Engineering Quality (49/100). It was last updated 1 day ago. 3 contributors account for most of its recent work.

69
overall / 100
Moderate

Software health index

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

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

Score profile

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

Ownership

JumpServerOrganization
733 followers46 public repossince Nov 2013

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

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publishTags
npmlinapoints to another repo — not scored0.0.11714618 days agolina

Metrics by category

Vitality

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

94Excellent · 22% of overall
How it's scored
36/36Push recency — last push 1 days ago
33.2/36Commit cadence — 48/52 weeks with commits
18/18Commit volume — 546 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year546
human_commit_share0.99
days_since_last_push1
active_weeks_last_year48
How it's scored
27/27Ships releases — 100 releases published
36/36Release recency — latest release 1 days ago
27/27Release cadence — a release every ~30.7 days
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Inputs used
releases_count100
latest_release_tagv3.10.22
releases_from_tagsno
days_since_latest_release1
mean_days_between_releases30.7

Community & Adoption

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

56Moderate · 18% of overall
How it's scored
38.4/60Stars — 233 stars
18/25Forks — 147 forks
6/15Watchers — 13 watchers
Inputs used
forks147
stars233
watchers13
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (GPL-3.0)
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

Sustainability & Governance

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

80Good · 24% of overall
How it's scored
36/54Bus factor — 3 contributor(s) cover half of all commits
15.8/22.5Commit distribution — top contributor authored 30% of commits
13.5/13.5Contributor breadth — 40 contributors
10/10OpenSSF Scorecard: Contributors — project has 8 contributing companies or organizations
Inputs used
bus_factor3
contributors_sampled40
top_contributor_share0.299
How it's scored
0/46.8Issue resolution — no issues or no data
34.7/38.3PR acceptance — 4,946/5,455 decided PRs merged
13.5/15OpenSSF Scorecard: Code-Review — Found 26/28 approved changesets -- score normalized to 9
Inputs used
merged_prs4,946
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs509
Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
20.6/25Owner reach — 733 followers of jumpserver
24.2/25Track record — 46 public repos, account ~12 yr old
Inputs used
followers733
owner_typeOrganization
is_verified
owner_loginjumpserver
public_repos46
account_age_days4,628

Engineering Quality

Are baseline engineering and documentation practices in place?

49At risk · 20% of overall
How it's scored
24/24CI workflows — 5 workflow(s)
0/24Tests present
0/16Linter config
0/9.6Pre-commit hooks
6.4/6.4.editorconfig
18/20OpenSSF Scorecard: CI-Tests — 26 out of 27 merged PRs checked by a CI test -- score normalized to 9
Inputs used
has_ciyes
has_testsno
has_editorconfigyes
has_linter_configno
has_precommit_configno

Documentation

50Moderate
How it's scored
30/30README
0/25Documentation directory
0/15Documentation / homepage site
10/10Repository description
10/10Topics — 3 topics
0/10Wiki
Inputs used
topicsvue, element-ui, jumpserver
has_wikino
homepage
has_readmeyes
has_docs_dirno
has_descriptionyes

Security

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

60Moderate · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — no data
2.2/2.5CI-Tests — 26 out of 27 merged PRs checked by a CI test -- score normalized to 9
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
6.8/7.5Code-Review — Found 26/28 approved changesets -- score normalized to 9
2.5/2.5Contributors — project has 8 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
4.5/5SAST — SAST tool is not run on all commits -- score normalized to 9
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 17 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate5.7
Excluded from scoring (no data or not applicable): branch_protection. Remaining weights renormalized.
How it's scored
35/35Direct dependencies free of known advisories — no direct dependency carries a known advisory
5.4/25Indirect dependencies free of known advisories — 1 affected: minimist 0.0.10 (critical 9.8)
32.1/40No advisories left outstanding — 1 advisory-carrying package(s) unaddressed past 90 days; oldest published 2,304 days ago
Inputs used
sourceosv
advisories2
affected_packages1
assessed_packages3
unassessed_packages0
affected_by_severitycritical 1
direct_affected_packages0
Matched the npm:lina@0.0.1 runtime dependency closure — what installing the published package pulls in — 3 packages. 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.

53Moderate · 0% of overall
How it's scored
45/45Agent instructions — AGENTS.md, CLAUDE.md
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 91 of 99 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.919
agent_instruction_filesAGENTS.md, CLAUDE.md
agent_instruction_max_bytes6,555
How it's scored
0/18One-command bootstrap
0/22Automated tests
0/11Lint / format config
0/11Static type checking
10/10Reproducible environment — Dockerfile, lockfile
10/10Demonstrated agent practice — 9 of the last 100 commits agent-authored or agent-credited
8/8Automated maintenance — 1 of the last 100 commits are automated dependency updates
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Inputs used
has_nixno
has_testsno
lockfilesyarn.lock
has_dockerfileyes
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configs
agent_commit_share0.09
toolchain_manifests
dependency_bot_commit_share0.01
How it's scored
0/45Type-checkable code — Vue without a type-check config
55/55Manageable file sizes — 0/170 source files over 60KB
Inputs used
primary_languageVue
largest_source_bytes18,971
source_files_sampled170
oversized_source_files0

Key facts

233GitHub stars
40contributors
546commits, last 12 months
1days since last push
100releases
3bus factor
0open issues
npmpackage ecosystems

Data collection warnings

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

More detail

Star and fork history 0 ★ / 147 ⇿
0Stars
147Forks
99Releases

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.

025507510012515014742020-042023-052026-07
Major 1Minor 19Patch 79

Each point covers 6 days.

OpenSSF Scorecard 5.7 / 10
5.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-26 01:46 UTC

10Binary-Artifactsno binaries found in the repo
n/aBranch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
9CI-Tests26 out of 27 merged PRs checked by a CI test -- score normalized to 9
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
9Code-ReviewFound 26/28 approved changesets -- score normalized to 9
10Contributorsproject has 8 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
9SASTSAST tool is not run on all commits -- score normalized to 9
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities17 existing vulnerabilities detected
Direct dependencies 53
RegistryPackageVersion constraintManifest
npm@codemirror/language^6.11.3package.json
npm@codemirror/legacy-modes^6package.json
npm@element-plus/icons-vue^2.3.2package.json
npm@fontsource/open-sans^5.2.7package.json
npm@kangc/v-md-editor^2.3.18package.json
npm@traptitech/markdown-it-katex^3.6.0package.json
npm@ztree/ztree_v33.5.48package.json
npmaxios^1.16.1package.json
npmaxios-retry^4.5.0package.json
npmcodemirror^6package.json
npmcore-js^3.49.0package.json
npmcron-parser^5.5.0package.json
npmcrypto-js^4.2.0package.json
npmcss-color-function^1.3.3package.json
npmdecimal.js^10.6.0package.json
npmdeepmerge^4.3.1package.json
npmdompurify^3.4.7package.json
npmecharts^6.1.0package.json
npmelement-plus^2.14.0package.json
npmhighlight.js^11.11.1package.json
npmhtml2canvas^1.4.1package.json
npmjquery^4.0.0package.json
npmjs-cookie^3.0.7package.json
npmjs-yaml^4.1.0package.json
npmjsencrypt^3.5.4package.json
npmlodash^4.18.1package.json
npmmarkdown-it^14.2.0package.json
npmmarkdown-it-link-attributes^4.0.1package.json
npmmitt^3.0.1package.json
npmmoment^2.30.1package.json
npmnormalize.css^8.0.1package.json
npmnprogress^0.2.0package.json
npmpath-browserify^1.0.1package.json
npmpath-to-regexp8.4.2package.json
npmpdf-lib^1.17.1package.json
npmprismjs^1.30.0package.json
npmsm-crypto^0.4.0package.json
npmsocket.io-client^4.8.3package.json
npmsortablejs^1.15.7package.json
npmuuid^14.0.0package.json
npmvue^3.5.35package.json
npmvue-codemirror6.1.1package.json
npmvue-cookie-next^1.3.0package.json
npmvue-echarts^8.0.1package.json
npmvue-i18n^11.4.4package.json
npmvue-password-strength-meter^2.0.0package.json
npmvue-router^5.1.0package.json
npmvuex^4.1.0package.json
npmwatermark-js-plus^1.6.3package.json
npmxss^1.0.15package.json
npmxterm^5.3.0package.json
npmxterm-addon-fit^0.8.0package.json
npmzxcvbn^4.4.2package.json
All dependencies 730

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

RegistryPackageVersionRelation
npm@codemirror/language6.12.4direct
npm@codemirror/legacy-modes6.5.3direct
npm@element-plus/icons-vue2.3.2direct
npm@fontsource/open-sans5.2.7direct
npm@kangc/v-md-editor2.3.18direct
npm@traptitech/markdown-it-katex3.6.0direct
npm@ztree/ztree_v33.5.48direct
npmaxios1.18.1direct
npmaxios-retry4.5.0direct
npmcodemirror5.65.21direct
npmcodemirror6.0.2direct
npmcore-js3.49.0direct
npmcron-parser5.6.1direct
npmcrypto-js4.2.0direct
npmcss-color-function1.3.3direct
npmdecimal.js10.6.0direct
npmdeepmerge1.5.2direct
npmdeepmerge4.3.1direct
npmdompurify3.4.11direct
npmdompurify3.4.12direct
npmecharts6.1.0direct
npmelement-plus2.14.2direct
npmhighlight.js10.7.3direct
npmhighlight.js11.11.1direct
npmhtml2canvas1.4.1direct
npmjquery4.0.0direct
npmjs-cookie3.0.8direct
npmjs-yaml3.15.0direct
npmjs-yaml4.3.0direct
npmjsencrypt3.5.4direct
npmlodash4.18.1direct
npmmarkdown-it12.3.2direct
npmmarkdown-it14.2.0direct
npmmarkdown-it8.4.2direct
npmmarkdown-it-link-attributes4.0.1direct
npmmitt3.0.1direct
npmmoment2.30.1direct
npmnormalize.css8.0.1direct
npmnprogress0.2.0direct
npmpath-browserify1.0.1direct
npmpath-to-regexp8.4.2direct
npmpdf-lib1.17.1direct
npmprismjs1.30.0direct
npmsm-crypto0.4.0direct
npmsocket.io-client4.8.3direct
npmsortablejs1.15.7direct
npmuuid14.0.1direct
npmvue3.5.39direct
npmvue-codemirror6.1.1direct
npmvue-cookie-next1.3.0direct
npmvue-echarts8.0.1direct
npmvue-i18n11.4.6direct
npmvue-password-strength-meter2.0.0direct
npmvue-router5.1.0direct
npmvuex4.1.0direct
npmwatermark-js-plus1.6.4direct
npmxss1.0.15direct
npmxterm5.3.0direct
npmxterm-addon-fit0.8.0direct
npmzxcvbn4.4.2direct
npm@babel/code-frame7.29.7indirect
npm@babel/compat-data7.29.7indirect
npm@babel/core7.29.7indirect
npm@babel/generator7.29.7indirect
npm@babel/generator8.0.0indirect
npm@babel/helper-annotate-as-pure7.29.7indirect
npm@babel/helper-compilation-targets7.29.7indirect
npm@babel/helper-create-class-features-plugin7.29.7indirect
npm@babel/helper-globals7.29.7indirect
npm@babel/helper-member-expression-to-functions7.29.7indirect
npm@babel/helper-module-imports7.29.7indirect
npm@babel/helper-module-transforms7.29.7indirect
npm@babel/helper-optimise-call-expression7.29.7indirect
npm@babel/helper-plugin-utils7.29.7indirect
npm@babel/helper-replace-supers7.29.7indirect
npm@babel/helper-skip-transparent-expression-wrappers7.29.7indirect
npm@babel/helper-string-parser7.29.7indirect
npm@babel/helper-string-parser8.0.0indirect
npm@babel/helper-validator-identifier7.29.7indirect
npm@babel/helper-validator-identifier8.0.2indirect
npm@babel/helper-validator-option7.29.7indirect
npm@babel/helpers7.29.7indirect
npm@babel/parser7.29.7indirect
npm@babel/parser8.0.0indirect
npm@babel/plugin-syntax-jsx7.29.7indirect
npm@babel/plugin-syntax-typescript7.29.7indirect
npm@babel/plugin-transform-typescript7.29.7indirect
npm@babel/runtime7.29.7indirect
npm@babel/template7.29.7indirect
npm@babel/traverse7.29.7indirect
npm@babel/types7.29.7indirect
npm@babel/types8.0.0indirect
npm@braintree/sanitize-url6.0.4indirect
npm@codemirror/autocomplete6.20.3indirect
npm@codemirror/commands6.10.4indirect
npm@codemirror/lint6.9.7indirect
npm@codemirror/search6.7.1indirect
npm@codemirror/state6.7.0indirect
npm@codemirror/view6.43.4indirect
npm@ctrl/tinycolor4.2.0indirect
npm@emnapi/core1.11.1indirect
npm@emnapi/runtime1.11.1indirect
npm@emnapi/wasi-threads1.2.2indirect
npm@esbuild/aix-ppc640.28.1indirect
npm@esbuild/android-arm0.28.1indirect
npm@esbuild/android-arm640.28.1indirect
npm@esbuild/android-x640.28.1indirect
npm@esbuild/darwin-arm640.28.1indirect
npm@esbuild/darwin-x640.28.1indirect
npm@esbuild/freebsd-arm640.28.1indirect
npm@esbuild/freebsd-x640.28.1indirect
npm@esbuild/linux-arm0.28.1indirect
npm@esbuild/linux-arm640.28.1indirect
npm@esbuild/linux-ia320.28.1indirect
npm@esbuild/linux-loong640.28.1indirect
npm@esbuild/linux-mips64el0.28.1indirect
npm@esbuild/linux-ppc640.28.1indirect
npm@esbuild/linux-riscv640.28.1indirect
npm@esbuild/linux-s390x0.28.1indirect
npm@esbuild/linux-x640.28.1indirect
npm@esbuild/netbsd-arm640.28.1indirect
npm@esbuild/netbsd-x640.28.1indirect
npm@esbuild/openbsd-arm640.28.1indirect
npm@esbuild/openbsd-x640.28.1indirect
npm@esbuild/openharmony-arm640.28.1indirect
npm@esbuild/sunos-x640.28.1indirect
npm@esbuild/win32-arm640.28.1indirect
npm@esbuild/win32-ia320.28.1indirect
npm@esbuild/win32-x640.28.1indirect
npm@floating-ui/core1.7.5indirect
npm@floating-ui/dom1.7.6indirect
npm@floating-ui/utils0.2.11indirect
npm@intlify/core-base11.4.6indirect
npm@intlify/devtools-types11.4.6indirect
npm@intlify/message-compiler11.4.6indirect
npm@intlify/shared11.4.6indirect
npm@isaacs/fs-minipass4.0.1indirect
npm@jridgewell/gen-mapping0.3.13indirect
npm@jridgewell/remapping2.3.5indirect
npm@jridgewell/resolve-uri3.1.2indirect
npm@jridgewell/sourcemap-codec1.5.5indirect
npm@jridgewell/trace-mapping0.3.31indirect
npm@lezer/common1.5.2indirect
npm@lezer/highlight1.2.3indirect
npm@lezer/lr1.4.10indirect
npm@marijn/find-cluster-break1.0.3indirect
npm@mrmlnc/readdir-enhanced2.2.1indirect
npm@napi-rs/wasm-runtime1.1.6indirect
npm@nodelib/fs.stat1.1.3indirect
npm@oxc-project/types0.137.0indirect
npm@oxfmt/binding-android-arm-eabi0.55.0indirect
npm@oxfmt/binding-android-arm640.55.0indirect
npm@oxfmt/binding-darwin-arm640.55.0indirect
npm@oxfmt/binding-darwin-x640.55.0indirect
npm@oxfmt/binding-freebsd-x640.55.0indirect
npm@oxfmt/binding-linux-arm-gnueabihf0.55.0indirect
npm@oxfmt/binding-linux-arm-musleabihf0.55.0indirect
npm@oxfmt/binding-linux-arm64-gnu0.55.0indirect
npm@oxfmt/binding-linux-arm64-musl0.55.0indirect
npm@oxfmt/binding-linux-ppc64-gnu0.55.0indirect
npm@oxfmt/binding-linux-riscv64-gnu0.55.0indirect
npm@oxfmt/binding-linux-riscv64-musl0.55.0indirect
npm@oxfmt/binding-linux-s390x-gnu0.55.0indirect
npm@oxfmt/binding-linux-x64-gnu0.55.0indirect
npm@oxfmt/binding-linux-x64-musl0.55.0indirect
npm@oxfmt/binding-openharmony-arm640.55.0indirect
npm@oxfmt/binding-win32-arm64-msvc0.55.0indirect
npm@oxfmt/binding-win32-ia32-msvc0.55.0indirect
npm@oxfmt/binding-win32-x64-msvc0.55.0indirect
npm@oxlint/binding-android-arm-eabi1.71.0indirect
npm@oxlint/binding-android-arm641.71.0indirect
npm@oxlint/binding-darwin-arm641.71.0indirect
npm@oxlint/binding-darwin-x641.71.0indirect
npm@oxlint/binding-freebsd-x641.71.0indirect
npm@oxlint/binding-linux-arm-gnueabihf1.71.0indirect
npm@oxlint/binding-linux-arm-musleabihf1.71.0indirect
npm@oxlint/binding-linux-arm64-gnu1.71.0indirect
npm@oxlint/binding-linux-arm64-musl1.71.0indirect
npm@oxlint/binding-linux-ppc64-gnu1.71.0indirect
npm@oxlint/binding-linux-riscv64-gnu1.71.0indirect
npm@oxlint/binding-linux-riscv64-musl1.71.0indirect
npm@oxlint/binding-linux-s390x-gnu1.71.0indirect
npm@oxlint/binding-linux-x64-gnu1.71.0indirect
npm@oxlint/binding-linux-x64-musl1.71.0indirect
npm@oxlint/binding-openharmony-arm641.71.0indirect
npm@oxlint/binding-win32-arm64-msvc1.71.0indirect
npm@oxlint/binding-win32-ia32-msvc1.71.0indirect
npm@oxlint/binding-win32-x64-msvc1.71.0indirect
npm@parcel/watcher2.5.6indirect
npm@parcel/watcher-android-arm642.5.6indirect
npm@parcel/watcher-darwin-arm642.5.6indirect
npm@parcel/watcher-darwin-x642.5.6indirect
npm@parcel/watcher-freebsd-x642.5.6indirect
npm@parcel/watcher-linux-arm-glibc2.5.6indirect
npm@parcel/watcher-linux-arm-musl2.5.6indirect
npm@parcel/watcher-linux-arm64-glibc2.5.6indirect
npm@parcel/watcher-linux-arm64-musl2.5.6indirect
npm@parcel/watcher-linux-x64-glibc2.5.6indirect
npm@parcel/watcher-linux-x64-musl2.5.6indirect
npm@parcel/watcher-win32-arm642.5.6indirect
npm@parcel/watcher-win32-ia322.5.6indirect
npm@parcel/watcher-win32-x642.5.6indirect
npm@pdf-lib/standard-fonts1.0.0indirect
npm@pdf-lib/upng1.0.1indirect
npm@popperjs/core2.11.8indirect
npm@rolldown/binding-android-arm641.1.3indirect
npm@rolldown/binding-darwin-arm641.1.3indirect
npm@rolldown/binding-darwin-x641.1.3indirect
npm@rolldown/binding-freebsd-x641.1.3indirect
npm@rolldown/binding-linux-arm-gnueabihf1.1.3indirect
npm@rolldown/binding-linux-arm64-gnu1.1.3indirect
npm@rolldown/binding-linux-arm64-musl1.1.3indirect
npm@rolldown/binding-linux-ppc64-gnu1.1.3indirect
npm@rolldown/binding-linux-s390x-gnu1.1.3indirect
npm@rolldown/binding-linux-x64-gnu1.1.3indirect
npm@rolldown/binding-linux-x64-musl1.1.3indirect
npm@rolldown/binding-openharmony-arm641.1.3indirect
npm@rolldown/binding-wasm32-wasi1.1.3indirect
npm@rolldown/binding-win32-arm64-msvc1.1.3indirect
npm@rolldown/binding-win32-x64-msvc1.1.3indirect
npm@rolldown/pluginutils1.0.1indirect
npm@socket.io/component-emitter3.1.2indirect
npm@tybys/wasm-util0.10.3indirect
npm@types/d3-scale4.0.9indirect
npm@types/d3-scale-chromatic3.1.0indirect
npm@types/d3-time3.0.4indirect
npm@types/debug4.1.13indirect
npm@types/glob7.2.0indirect
npm@types/jsesc2.5.1indirect
npm@types/lodash4.17.24indirect
npm@types/lodash-es4.17.12indirect
npm@types/mdast3.0.15indirect
npm@types/minimatch5.1.2indirect
npm@types/ms2.1.0indirect
npm@types/node26.1.1indirect
npm@types/trusted-types2.0.7indirect
npm@types/unist2.0.11indirect
npm@types/web-bluetooth0.0.21indirect
npm@vant/icons1.8.0indirect
npm@vant/popperjs1.3.0indirect
npm@vant/use1.6.0indirect
npm@vitejs/plugin-vue6.0.7indirect
npm@vitejs/plugin-vue-jsx5.1.6indirect
npm@vue-macros/common3.1.2indirect
npm@vue/babel-helper-vue-transform-on2.0.1indirect
npm@vue/babel-plugin-jsx2.0.1indirect
npm@vue/babel-plugin-resolve-type2.0.1indirect
npm@vue/compiler-core3.5.39indirect
npm@vue/compiler-dom3.5.39indirect
npm@vue/compiler-sfc3.5.39indirect
npm@vue/compiler-ssr3.5.39indirect
npm@vue/devtools-api6.6.4indirect
npm@vue/devtools-api8.1.5indirect
npm@vue/devtools-kit8.1.5indirect
npm@vue/devtools-shared8.1.5indirect
npm@vue/reactivity3.5.39indirect
npm@vue/runtime-core3.5.39indirect
npm@vue/runtime-dom3.5.39indirect
npm@vue/server-renderer3.5.39indirect
npm@vue/shared3.5.39indirect
npm@vuepress/markdown1.9.10indirect
npm@vuepress/shared-utils1.9.10indirect
npm@vueuse/core14.3.0indirect
npm@vueuse/metadata14.3.0indirect
npm@vueuse/shared14.3.0indirect
npmabbrev5.0.0indirect
npmacorn8.17.0indirect
npmagent-base6.0.2indirect
npmansi-escapes7.3.0indirect
npmansi-regex6.2.2indirect
npmansi-styles3.2.1indirect
npmansi-styles6.2.3indirect
npmargparse1.0.10indirect
npmargparse2.0.1indirect
npmarr-diff4.0.0indirect
npmarr-flatten1.1.0indirect
npmarr-union3.1.0indirect
npmarray-union1.0.2indirect
npmarray-uniq1.0.3indirect
npmarray-unique0.3.2indirect
npmassign-symbols1.0.0indirect
npmast-kit2.2.0indirect
npmast-walker-scope0.9.0indirect
npmasync-function1.0.0indirect
npmasync-generator-function1.0.0indirect
npmasync-validator4.2.5indirect
npmasynckit0.4.0indirect
npmatob2.1.2indirect
npmautoprefixer10.5.2indirect
npmbalanced-match0.1.0indirect
npmbalanced-match1.0.2indirect
npmbalanced-match4.0.4indirect
npmbase0.11.2indirect
npmbase64-arraybuffer1.0.2indirect
npmbaseline-browser-mapping2.10.40indirect
npmbaseline-browser-mapping2.10.42indirect
npmbirpc2.9.0indirect
npmboolbase1.0.0indirect
npmbrace-expansion1.1.15indirect
npmbrace-expansion2.1.1indirect
npmbraces2.3.2indirect
npmbrowserslist4.28.4indirect
npmbrowserslist4.28.5indirect
npmcac6.7.14indirect
npmcache-base1.0.1indirect
npmcall-bind-apply-helpers1.0.2indirect
npmcall-me-maybe1.0.2indirect
npmcaniuse-lite1.0.30001799indirect
npmcaniuse-lite1.0.30001803indirect
npmchalk2.4.2indirect
npmchalk5.6.2indirect
npmcharacter-entities2.0.2indirect
npmchokidar5.0.0indirect
npmchownr3.0.0indirect
npmclass-utils0.3.6indirect
npmcli-cursor5.0.0indirect
npmcli-truncate5.2.0indirect
npmclone1.0.4indirect
npmcollection-visit1.0.0indirect
npmcolor0.11.4indirect
npmcolor-convert1.9.3indirect
npmcolor-name1.1.3indirect
npmcolor-name1.1.4indirect
npmcolor-name2.1.0indirect
npmcolor-string0.3.0indirect
npmcombined-stream1.0.8indirect
npmcommander11.1.0indirect
npmcommander2.20.3indirect
npmcommander6.2.1indirect
npmcommander7.2.0indirect
npmcommander8.3.0indirect
npmcomponent-emitter1.3.1indirect
npmconcat-map0.0.1indirect
npmconfbox0.1.8indirect
npmconfbox0.2.4indirect
npmconvert-source-map2.0.0indirect
npmcopy-descriptor0.1.1indirect
npmcopy-to-clipboard3.3.3indirect
npmcose-base1.0.3indirect
npmcrelt1.0.7indirect
npmcss-line-break2.1.0indirect
npmcss-select5.2.2indirect
npmcss-tree2.2.1indirect
npmcss-tree3.2.1indirect
npmcss-what6.2.2indirect
npmcssfilter0.0.10indirect
npmcsso5.0.5indirect
npmcsstype3.2.3indirect
npmcytoscape3.34.0indirect
npmcytoscape-cose-bilkent4.1.0indirect
npmd37.9.0indirect
npmd3-array2.12.1indirect
npmd3-array3.2.4indirect
npmd3-axis3.0.0indirect
npmd3-brush3.0.0indirect
npmd3-chord3.0.1indirect
npmd3-color3.1.0indirect
npmd3-contour4.0.2indirect
npmd3-delaunay6.0.4indirect
npmd3-dispatch3.0.1indirect
npmd3-drag3.0.0indirect
npmd3-dsv3.0.1indirect
npmd3-ease3.0.1indirect
npmd3-fetch3.0.1indirect
npmd3-force3.0.0indirect
npmd3-format3.1.2indirect
npmd3-geo3.1.1indirect
npmd3-hierarchy3.1.2indirect
npmd3-interpolate3.0.1indirect
npmd3-path1.0.9indirect
npmd3-path3.1.0indirect
npmd3-polygon3.0.1indirect
npmd3-quadtree3.0.1indirect
npmd3-random3.0.1indirect
npmd3-sankey0.12.3indirect
npmd3-scale4.0.2indirect
npmd3-scale-chromatic3.1.0indirect
npmd3-selection3.0.0indirect
npmd3-shape1.3.7indirect
npmd3-shape3.2.0indirect
npmd3-time3.1.0indirect
npmd3-time-format4.1.0indirect
npmd3-timer3.0.1indirect
npmd3-transition3.0.1indirect
npmd3-zoom3.0.0indirect
npmdagre-d3-es7.0.13indirect
npmdayjs1.11.21indirect
npmdebug2.6.9indirect
npmdebug3.2.7indirect
npmdebug4.4.3indirect
npmdecode-named-character-reference1.3.0indirect
npmdecode-uri-component0.2.2indirect
npmdefine-property0.2.5indirect
npmdefine-property1.0.0indirect
npmdefine-property2.0.2indirect
npmdelaunator5.1.0indirect
npmdelayed-stream1.0.0indirect
npmdequal2.0.3indirect
npmdetect-libc2.1.2indirect
npmdiff5.2.2indirect
npmdir-glob2.2.2indirect
npmdom-serializer2.0.0indirect
npmdomelementtype2.3.0indirect
npmdomhandler5.0.3indirect
npmdomutils3.2.2indirect
npmdot-object2.1.5indirect
npmdunder-proto1.0.1indirect
npmelectron-to-chromium1.5.380indirect
npmelectron-to-chromium1.5.389indirect
npmelkjs0.9.3indirect
npmemoji-regex10.6.0indirect
npmengine.io-client6.6.6indirect
npmengine.io-parser5.2.3indirect
npmentities1.1.2indirect
npmentities2.1.0indirect
npmentities4.5.0indirect
npmentities7.0.1indirect
npmentities8.0.0indirect
npmenv-paths2.2.1indirect
npmenvironment1.1.0indirect
npmes-define-property1.0.1indirect
npmes-errors1.3.0indirect
npmes-object-atoms1.1.2indirect
npmes-set-tostringtag2.1.0indirect
npmesbuild0.28.1indirect
npmescalade3.2.0indirect
npmescape-html1.0.3indirect
npmescape-string-regexp1.0.5indirect
npmesprima4.0.1indirect
npmestree-walker2.0.2indirect
npmeventemitter35.0.4indirect
npmexpand-brackets2.1.4indirect
npmexponential-backoff3.1.3indirect
npmexsolve1.1.0indirect
npmextend-shallow2.0.1indirect
npmextend-shallow3.0.2indirect
npmextglob2.0.4indirect
npmfast-glob2.2.7indirect
npmfdir6.5.0indirect
npmfill-range4.0.0indirect
npmfollow-redirects1.16.0indirect
npmfor-in1.0.2indirect
npmform-data4.0.6indirect
npmfraction.js5.3.4indirect
npmfragment-cache0.2.1indirect
npmfs-extra7.0.1indirect
npmfs.realpath1.0.0indirect
npmfsevents2.3.3indirect
npmfunction-bind1.1.2indirect
npmgenerator-function2.0.1indirect
npmgensync1.0.0-beta.2indirect
npmget-east-asian-width1.6.0indirect
npmget-intrinsic1.3.1indirect
npmget-proto1.0.1indirect
npmget-value2.0.6indirect
npmgithub-markdown-css5.9.0indirect
npmglob7.2.3indirect
npmglob8.1.0indirect
npmglob-parent3.1.0indirect
npmglob-to-regexp0.3.0indirect
npmglobby9.2.0indirect
npmgopd1.2.0indirect
npmgraceful-fs4.2.11indirect
npmgray-matter4.0.3indirect
npmhas-flag3.0.0indirect
npmhas-symbols1.1.0indirect
npmhas-tostringtag1.0.2indirect
npmhas-value0.3.1indirect
npmhas-value1.0.0indirect
npmhas-values0.1.4indirect
npmhas-values1.0.0indirect
npmhash-sum1.0.2indirect
npmhasown2.0.4indirect
npmhookable5.5.3indirect
npmhttps-proxy-agent5.0.1indirect
npmhusky9.1.7indirect
npmiconv-lite0.6.3indirect
npmignore4.0.6indirect
npmimmutable5.1.8indirect
npminflight1.0.6indirect
npminherits2.0.4indirect
npminsert-text-at-cursor0.3.0indirect
npminternmap1.0.1indirect
npminternmap2.0.3indirect
npmis-accessor-descriptor1.0.2indirect
npmis-buffer1.1.6indirect
npmis-data-descriptor1.0.1indirect
npmis-descriptor0.1.8indirect
npmis-descriptor1.0.4indirect
npmis-extendable0.1.1indirect
npmis-extendable1.0.1indirect
npmis-extglob2.1.1indirect
npmis-fullwidth-code-point5.1.0indirect
npmis-glob3.1.0indirect
npmis-glob4.0.3indirect
npmis-number3.0.0indirect
npmis-plain-object2.0.4indirect
npmis-retry-allowed2.2.0indirect
npmis-valid-glob1.0.0indirect
npmis-windows1.0.2indirect
npmisarray1.0.0indirect
npmisexe4.0.0indirect
npmisobject2.1.0indirect
npmisobject3.0.1indirect
npmjavascript-stringify1.6.0indirect
npmjs-tokens4.0.0indirect
npmjsbn1.1.0indirect
npmjsesc3.1.0indirect
npmjson52.2.3indirect
npmjsonfile4.0.0indirect
npmkatex0.13.24indirect
npmkatex0.16.47indirect
npmkhroma2.1.0indirect
npmkind-of3.2.2indirect
npmkind-of4.0.0indirect
npmkind-of6.0.3indirect
npmkleur4.1.5indirect
npmlayout-base1.0.2indirect
npmlightningcss1.32.0indirect
npmlightningcss-android-arm641.32.0indirect
npmlightningcss-darwin-arm641.32.0indirect
npmlightningcss-darwin-x641.32.0indirect
npmlightningcss-freebsd-x641.32.0indirect
npmlightningcss-linux-arm-gnueabihf1.32.0indirect
npmlightningcss-linux-arm64-gnu1.32.0indirect
npmlightningcss-linux-arm64-musl1.32.0indirect
npmlightningcss-linux-x64-gnu1.32.0indirect
npmlightningcss-linux-x64-musl1.32.0indirect
npmlightningcss-win32-arm64-msvc1.32.0indirect
npmlightningcss-win32-x64-msvc1.32.0indirect
npmlinkify-it2.2.0indirect
npmlinkify-it3.0.3indirect
npmlinkify-it5.0.1indirect
npmlint-staged17.0.8indirect
npmlistr210.2.2indirect
npmlocal-pkg1.2.1indirect
npmlodash-es4.18.1indirect
npmlodash-unified1.0.3indirect
npmlog-update6.1.0indirect
npmlru-cache5.1.1indirect
npmluxon3.7.2indirect
npmmagic-string0.30.21indirect
npmmagic-string-ast1.0.3indirect
npmmap-cache0.2.2indirect
npmmap-visit1.0.0indirect
npmmarkdown-it-anchor5.3.0indirect
npmmarkdown-it-attrs4.5.0indirect
npmmarkdown-it-chain1.3.0indirect
npmmarkdown-it-container3.0.0indirect
npmmarkdown-it-emoji1.4.0indirect
npmmarkdown-it-table-of-contents0.4.4indirect
npmmath-intrinsics1.1.0indirect
npmmdast-util-from-markdown1.3.1indirect
npmmdast-util-to-string3.2.0indirect
npmmdn-data2.0.28indirect
npmmdn-data2.27.1indirect
npmmdurl1.0.1indirect
npmmdurl2.0.0indirect
npmmemoize-one6.0.0indirect
npmmerge21.4.1indirect
npmmermaid10.9.6indirect
npmmicromark3.2.0indirect
npmmicromark-core-commonmark1.1.0indirect
npmmicromark-factory-destination1.1.0indirect
npmmicromark-factory-label1.1.0indirect
npmmicromark-factory-space1.1.0indirect
npmmicromark-factory-title1.1.0indirect
npmmicromark-factory-whitespace1.1.0indirect
npmmicromark-util-character1.2.0indirect
npmmicromark-util-chunked1.1.0indirect
npmmicromark-util-classify-character1.1.0indirect
npmmicromark-util-combine-extensions1.1.0indirect
npmmicromark-util-decode-numeric-character-reference1.1.0indirect
npmmicromark-util-decode-string1.1.0indirect
npmmicromark-util-encode1.1.0indirect
npmmicromark-util-html-tag-name1.2.0indirect
npmmicromark-util-normalize-identifier1.1.0indirect
npmmicromark-util-resolve-all1.1.0indirect
npmmicromark-util-sanitize-uri1.2.0indirect
npmmicromark-util-subtokenize1.1.0indirect
npmmicromark-util-symbol1.1.0indirect
npmmicromark-util-types1.1.0indirect
npmmicromatch3.1.10indirect
npmmime-db1.52.0indirect
npmmime-types2.1.35indirect
npmmimic-function5.0.1indirect
npmminimatch3.1.5indirect
npmminimatch5.1.9indirect
npmminipass7.1.3indirect
npmminizlib3.1.0indirect
npmmixin-deep1.3.2indirect
npmmlly1.8.2indirect
npmmri1.2.0indirect
npmms2.0.0indirect
npmms2.1.3indirect
npmmuggle-string0.4.1indirect
npmnanoid3.3.15indirect
npmnanomatch1.2.13indirect
npmnode-addon-api7.1.1indirect
npmnode-gyp13.0.0indirect
npmnode-releases2.0.50indirect
npmnode-releases2.0.51indirect
npmnon-layered-tidy-tree-layout2.0.2indirect
npmnopt10.0.1indirect
npmnormalize-wheel-es1.2.0indirect
npmnth-check2.1.1indirect
npmobject-copy0.1.0indirect
npmobject-visit1.0.1indirect
npmobject.pick1.3.0indirect
npmonce1.4.0indirect
npmonetime7.0.0indirect
npmoxfmt0.55.0indirect
npmoxlint1.71.0indirect
npmpako1.0.11indirect
npmpascalcase0.1.1indirect
npmpath-dirname1.0.2indirect
npmpath-is-absolute1.0.1indirect
npmpath-type3.0.0indirect
npmpathe2.0.3indirect
npmperfect-debounce2.1.0indirect
npmpicocolors1.1.1indirect
npmpicomatch4.0.4indirect
npmpify3.0.0indirect
npmpify4.0.1indirect
npmpkg-types1.3.1indirect
npmpkg-types2.3.1indirect
npmposix-character-classes0.1.1indirect
npmpostcss8.5.16indirect
npmpostcss-value-parser4.2.0indirect
npmpretty-bytes7.1.0indirect
npmproc-log7.0.0indirect
npmproxy-from-env2.1.0indirect
npmpunycode.js2.3.1indirect
npmquansync0.2.11indirect
npmreaddirp5.0.0indirect
npmregex-not1.0.2indirect
npmrepeat-element1.1.4indirect
npmrepeat-string1.6.1indirect
npmresize-observer-polyfill1.5.1indirect
npmresolve-url0.2.1indirect
npmrestore-cursor5.1.0indirect
npmret0.1.15indirect
npmrfdc1.4.1indirect
npmrgb0.1.0indirect
npmrobust-predicates3.0.3indirect
npmrolldown1.1.3indirect
npmrw1.3.3indirect
npmsade1.8.1indirect
npmsafe-regex1.1.0indirect
npmsafer-buffer2.1.2indirect
npmsass1.101.0indirect
npmsax1.6.0indirect
npmscule1.3.0indirect
npmsection-matter1.0.0indirect
npmsemver6.3.1indirect
npmsemver7.8.5indirect
npmset-value2.0.1indirect
npmsignal-exit4.1.0indirect
npmslash2.0.0indirect
npmslice-ansi7.1.2indirect
npmslice-ansi8.0.0indirect
npmsnapdragon0.8.2indirect
npmsnapdragon-node2.1.1indirect
npmsnapdragon-util3.0.1indirect
npmsocket.io-parser4.2.6indirect
npmsource-map0.5.7indirect
npmsource-map-js1.2.1indirect
npmsource-map-resolve0.5.3indirect
npmsource-map-url0.4.1indirect
npmsplit-string3.1.0indirect
npmsprintf-js1.0.3indirect
npmstatic-extend0.1.2indirect
npmstring-argv0.3.2indirect
npmstring-width7.2.0indirect
npmstring-width8.2.1indirect
npmstrip-ansi7.2.0indirect
npmstrip-bom-string1.0.0indirect
npmstyle-mod4.1.3indirect
npmstylis4.4.0indirect
npmsupports-color5.5.0indirect
npmsvgo4.0.2indirect
npmtar7.5.19indirect
npmtext-segmentation1.0.3indirect
npmtinyexec1.2.4indirect
npmtinyglobby0.2.17indirect
npmtinypool2.1.0indirect
npmto-object-path0.3.0indirect
npmto-regex3.0.2indirect
npmto-regex-range2.1.1indirect
npmtoggle-selection1.0.6indirect
npmtoml3.0.0indirect
npmts-dedent2.3.0indirect
npmtslib1.14.1indirect
npmtslib2.3.0indirect
npmtslib2.8.1indirect
npmuc.micro1.0.6indirect
npmuc.micro2.1.0indirect
npmufo1.6.4indirect
npmundici6.27.0indirect
npmundici-types8.3.0indirect
npmunion-value1.0.1indirect
npmunist-util-stringify-position3.0.3indirect
npmuniversalify0.1.2indirect
npmunplugin3.2.0indirect
npmunplugin-utils0.3.1indirect
npmunset-value1.0.0indirect
npmupath1.2.0indirect
npmupdate-browserslist-db1.2.3indirect
npmurix0.1.0indirect
npmuse3.1.1indirect
npmutrie1.0.2indirect
npmuvu0.5.6indirect
npmvant3.6.16indirect
npmvite8.1.0indirect
npmvue-component-type-helpers3.3.5indirect
npmvue-i18n-extract2.0.7indirect
npmw3c-keyname2.2.8indirect
npmweb-worker1.5.0indirect
npmwebpack-chain4.12.1indirect
npmwebpack-virtual-modules0.6.2indirect
npmwhich7.0.0indirect
npmwrap-ansi10.0.0indirect
npmwrap-ansi9.0.2indirect
npmwrappy1.0.2indirect
npmws8.21.0indirect
npmxmlhttprequest-ssl2.1.2indirect
npmyallist3.1.1indirect
npmyallist5.0.0indirect
npmyaml2.9.0indirect
npmzrender6.1.0indirect
Dependency advisories 1

Installing npm:lina@0.0.1 pulls in 3 packages, direct and transitive: 1 carry known advisories, of which 0 are direct dependencies.

PackageVersionRelationSeverityAdvisoriesFixed in
minimist0.0.10indirectcritical21.2.6

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": [
        "vue",
        "element-ui",
        "jumpserver"
      ],
      "is_fork": false,
      "size_kb": 28105,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "CSS": 19362,
        "Vue": 2820293,
        "HTML": 2519,
        "SCSS": 51832,
        "Shell": 1054,
        "Python": 6512,
        "Dockerfile": 536,
        "JavaScript": 458921
      },
      "pushed_at": "2026-07-24T09:57:34Z",
      "created_at": "2020-03-19T16:44:39Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-26T00:41:26Z",
      "description": "Lina is the JumpServer Web UI",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "GPL-3.0",
      "default_branch": "dev",
      "license_spdx_raw": "GPL-3.0",
      "primary_language": "Vue",
      "significant_languages": [
        "Vue",
        "JavaScript"
      ]
    },
    "owner": {
      "blog": "https://jumpserver.com",
      "name": "JumpServer",
      "type": "Organization",
      "login": "jumpserver",
      "company": null,
      "location": null,
      "followers": 733,
      "avatar_url": "https://avatars.githubusercontent.com/u/6006570?v=4",
      "created_at": "2013-11-22T02:28:15Z",
      "is_verified": null,
      "public_repos": 46,
      "account_age_days": 4628
    },
    "license": {
      "state": "standard",
      "spdx_id": "GPL-3.0",
      "raw_spdx": "GPL-3.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v3.10.22",
          "kind": "patch",
          "published_at": "2026-07-24T06:43:19Z"
        },
        {
          "tag": "v4.10.17",
          "kind": "patch",
          "published_at": "2026-07-16T16:04:59Z"
        },
        {
          "tag": "v4.10.16",
          "kind": "patch",
          "published_at": "2026-03-05T05:54:29Z"
        },
        {
          "tag": "v4.10.15",
          "kind": "patch",
          "published_at": "2026-01-22T10:43:01Z"
        },
        {
          "tag": "v4.10.14",
          "kind": "patch",
          "published_at": "2025-12-18T11:12:43Z"
        },
        {
          "tag": "v4.10.13",
          "kind": "patch",
          "published_at": "2025-11-20T14:43:08Z"
        },
        {
          "tag": "v3.10.21",
          "kind": "patch",
          "published_at": "2025-10-27T09:58:07Z"
        },
        {
          "tag": "v3.10.20",
          "kind": "patch",
          "published_at": "2025-10-21T09:13:56Z"
        },
        {
          "tag": "v4.10.12",
          "kind": "patch",
          "published_at": "2025-10-27T06:08:22Z"
        },
        {
          "tag": "v4.10.11",
          "kind": "patch",
          "published_at": "2025-10-21T06:56:59Z"
        },
        {
          "tag": "v4.10.10",
          "kind": "patch",
          "published_at": "2025-10-16T11:05:08Z"
        },
        {
          "tag": "v4.10.9",
          "kind": "patch",
          "published_at": "2025-09-24T06:23:11Z"
        },
        {
          "tag": "v4.10.8",
          "kind": "patch",
          "published_at": "2025-09-18T10:40:05Z"
        },
        {
          "tag": "v4.10.7",
          "kind": "patch",
          "published_at": "2025-09-04T08:21:18Z"
        },
        {
          "tag": "v4.10.6",
          "kind": "patch",
          "published_at": "2025-08-29T04:13:21Z"
        },
        {
          "tag": "v3.10.19",
          "kind": "patch",
          "published_at": "2025-08-28T06:09:59Z"
        },
        {
          "tag": "v4.10.5",
          "kind": "patch",
          "published_at": "2025-08-21T14:50:04Z"
        },
        {
          "tag": "v4.10.4",
          "kind": "patch",
          "published_at": "2025-07-17T10:09:56Z"
        },
        {
          "tag": "v4.10.3",
          "kind": "patch",
          "published_at": "2025-06-30T06:28:41Z"
        },
        {
          "tag": "v4.10.2",
          "kind": "patch",
          "published_at": "2025-06-19T14:16:36Z"
        },
        {
          "tag": "v4.10.1",
          "kind": "patch",
          "published_at": "2025-05-19T07:05:21Z"
        },
        {
          "tag": "v4.10.0",
          "kind": "minor",
          "published_at": "2025-05-15T11:44:35Z"
        },
        {
          "tag": "v4.9.0",
          "kind": "minor",
          "published_at": "2025-04-17T15:00:30Z"
        },
        {
          "tag": "v4.8.1",
          "kind": "patch",
          "published_at": "2025-03-28T07:09:40Z"
        },
        {
          "tag": "v3.10.18",
          "kind": "patch",
          "published_at": "2025-03-27T09:47:56Z"
        },
        {
          "tag": "v4.8.0",
          "kind": "minor",
          "published_at": "2025-03-20T12:57:34Z"
        },
        {
          "tag": "v4.7.0",
          "kind": "minor",
          "published_at": "2025-02-20T08:01:02Z"
        },
        {
          "tag": "v4.6.0",
          "kind": "minor",
          "published_at": "2025-01-15T09:20:46Z"
        },
        {
          "tag": "v3.10.17",
          "kind": "patch",
          "published_at": "2025-01-02T10:20:38Z"
        },
        {
          "tag": "v4.5.0",
          "kind": "minor",
          "published_at": "2024-12-20T02:44:18Z"
        },
        {
          "tag": "v3.10.16",
          "kind": "patch",
          "published_at": "2024-11-27T06:03:59Z"
        },
        {
          "tag": "v4.4.1",
          "kind": "patch",
          "published_at": "2024-11-25T08:36:57Z"
        },
        {
          "tag": "v4.4.0",
          "kind": "minor",
          "published_at": "2024-12-19T09:52:15Z"
        },
        {
          "tag": "v3.10.15",
          "kind": "patch",
          "published_at": "2024-10-31T06:48:40Z"
        },
        {
          "tag": "v3.10.14",
          "kind": "patch",
          "published_at": "2024-10-24T06:02:50Z"
        },
        {
          "tag": "v4.3.1",
          "kind": "patch",
          "published_at": "2024-11-01T05:56:37Z"
        },
        {
          "tag": "v4.3.0",
          "kind": "minor",
          "published_at": "2024-10-17T09:27:22Z"
        },
        {
          "tag": "v4.2.0",
          "kind": "minor",
          "published_at": "2024-09-19T16:39:29Z"
        },
        {
          "tag": "v3.10.13",
          "kind": "patch",
          "published_at": "2024-08-21T09:28:39Z"
        },
        {
          "tag": "v4.1.0",
          "kind": "minor",
          "published_at": "2024-08-15T14:41:34Z"
        },
        {
          "tag": "v4.0.1",
          "kind": "patch",
          "published_at": "2024-08-13T08:50:31Z"
        },
        {
          "tag": "v4.0.2",
          "kind": "patch",
          "published_at": "2024-08-01T02:14:24Z"
        },
        {
          "tag": "v3.10.12",
          "kind": "patch",
          "published_at": "2024-07-11T07:46:30Z"
        },
        {
          "tag": "v4.0.0",
          "kind": "major",
          "published_at": "2024-07-04T02:18:14Z"
        },
        {
          "tag": "v3.10.11",
          "kind": "patch",
          "published_at": "2024-06-20T01:46:13Z"
        },
        {
          "tag": "v3.10.10",
          "kind": "patch",
          "published_at": "2024-05-16T09:53:08Z"
        },
        {
          "tag": "v3.10.9",
          "kind": "patch",
          "published_at": "2024-04-23T13:38:44Z"
        },
        {
          "tag": "v3.10.8",
          "kind": "patch",
          "published_at": "2024-04-18T15:32:34Z"
        },
        {
          "tag": "v3.10.7",
          "kind": "patch",
          "published_at": "2024-03-27T02:26:00Z"
        },
        {
          "tag": "v3.10.6",
          "kind": "patch",
          "published_at": "2024-03-19T09:17:19Z"
        },
        {
          "tag": "v3.10.5",
          "kind": "patch",
          "published_at": "2024-03-05T08:43:42Z"
        },
        {
          "tag": "v3.10.4",
          "kind": "patch",
          "published_at": "2024-02-29T10:57:35Z"
        },
        {
          "tag": "v3.10.3",
          "kind": "patch",
          "published_at": "2024-01-25T04:06:04Z"
        },
        {
          "tag": "v3.10.2",
          "kind": "patch",
          "published_at": "2024-01-17T14:56:19Z"
        },
        {
          "tag": "v3.10.1",
          "kind": "patch",
          "published_at": "2023-12-29T08:57:51Z"
        },
        {
          "tag": "v3.10.0",
          "kind": "minor",
          "published_at": "2023-12-21T12:16:55Z"
        },
        {
          "tag": "v3.9.3",
          "kind": "patch",
          "published_at": "2023-11-28T10:49:01Z"
        },
        {
          "tag": "v3.9.2",
          "kind": "patch",
          "published_at": "2023-11-21T09:13:26Z"
        },
        {
          "tag": "v3.9.1",
          "kind": "patch",
          "published_at": "2023-11-17T08:19:38Z"
        },
        {
          "tag": "v3.9.0",
          "kind": "minor",
          "published_at": "2023-11-16T13:14:00Z"
        },
        {
          "tag": "v3.8.2",
          "kind": "patch",
          "published_at": "2023-11-13T09:47:55Z"
        },
        {
          "tag": "v2.28.21",
          "kind": "patch",
          "published_at": "2023-10-26T10:27:46Z"
        },
        {
          "tag": "v3.8.1",
          "kind": "patch",
          "published_at": "2023-10-25T10:32:10Z"
        },
        {
          "tag": "v3.8.0",
          "kind": "minor",
          "published_at": "2023-10-19T13:34:23Z"
        },
        {
          "tag": "v3.7.2",
          "kind": "patch",
          "published_at": "2023-10-10T11:24:02Z"
        },
        {
          "tag": "v3.5.7",
          "kind": "patch",
          "published_at": "2023-09-26T14:22:25Z"
        },
        {
          "tag": "v3.6.6",
          "kind": "patch",
          "published_at": "2023-09-26T11:05:02Z"
        },
        {
          "tag": "v2.28.20",
          "kind": "patch",
          "published_at": "2023-09-26T07:58:32Z"
        },
        {
          "tag": "v3.7.1",
          "kind": "patch",
          "published_at": "2023-09-26T06:30:36Z"
        },
        {
          "tag": "v2.28.19",
          "kind": "patch",
          "published_at": "2023-09-22T04:35:52Z"
        },
        {
          "tag": "v3.6.5",
          "kind": "patch",
          "published_at": "2023-09-22T01:57:06Z"
        },
        {
          "tag": "v3.7.0",
          "kind": "minor",
          "published_at": "2023-09-21T13:29:49Z"
        },
        {
          "tag": "v3.5.6",
          "kind": "patch",
          "published_at": "2023-09-21T06:57:26Z"
        },
        {
          "tag": "v3.5.5",
          "kind": "patch",
          "published_at": "2023-09-11T10:02:02Z"
        },
        {
          "tag": "v3.6.4",
          "kind": "patch",
          "published_at": "2023-09-11T08:37:40Z"
        },
        {
          "tag": "v3.6.3",
          "kind": "patch",
          "published_at": "2023-09-04T07:54:25Z"
        },
        {
          "tag": "v3.6.2",
          "kind": "patch",
          "published_at": "2023-08-24T06:26:55Z"
        },
        {
          "tag": "v3.6.1",
          "kind": "patch",
          "published_at": "2023-08-18T14:56:01Z"
        },
        {
          "tag": "v3.6.0",
          "kind": "minor",
          "published_at": "2023-08-17T13:16:42Z"
        },
        {
          "tag": "v3.5.4",
          "kind": "patch",
          "published_at": "2023-08-15T07:36:04Z"
        },
        {
          "tag": "v2.28.18",
          "kind": "patch",
          "published_at": "2023-08-14T07:14:33Z"
        },
        {
          "tag": "v3.5.3",
          "kind": "patch",
          "published_at": "2023-08-08T06:54:39Z"
        },
        {
          "tag": "v3.5.2",
          "kind": "patch",
          "published_at": "2023-08-01T13:19:08Z"
        },
        {
          "tag": "v3.5.1",
          "kind": "patch",
          "published_at": "2023-07-27T10:04:34Z"
        },
        {
          "tag": "v2.28.17",
          "kind": "patch",
          "published_at": "2023-07-26T09:11:45Z"
        },
        {
          "tag": "v3.5.0",
          "kind": "minor",
          "published_at": "2023-07-21T07:15:09Z"
        },
        {
          "tag": "v3.4.3",
          "kind": "patch",
          "published_at": "2023-07-06T07:57:45Z"
        },
        {
          "tag": "v3.4.2",
          "kind": "patch",
          "published_at": "2023-06-30T09:08:22Z"
        },
        {
          "tag": "v3.4.1",
          "kind": "patch",
          "published_at": "2023-06-21T05:55:29Z"
        },
        {
          "tag": "v2.28.16",
          "kind": "patch",
          "published_at": "2023-06-20T03:33:21Z"
        },
        {
          "tag": "v3.4.0",
          "kind": "minor",
          "published_at": "2023-06-15T12:15:54Z"
        },
        {
          "tag": "v2.28.15",
          "kind": "patch",
          "published_at": "2023-06-08T11:18:12Z"
        },
        {
          "tag": "v3.3.1",
          "kind": "patch",
          "published_at": "2023-05-26T11:10:33Z"
        },
        {
          "tag": "v3.3.0",
          "kind": "minor",
          "published_at": "2023-05-18T13:47:45Z"
        },
        {
          "tag": "v3.2.2",
          "kind": "patch",
          "published_at": "2023-05-09T07:38:57Z"
        },
        {
          "tag": "v2.28.14",
          "kind": "patch",
          "published_at": "2023-05-09T06:33:00Z"
        },
        {
          "tag": "v2.28.13",
          "kind": "patch",
          "published_at": "2023-04-24T07:04:56Z"
        },
        {
          "tag": "v3.2.1",
          "kind": "patch",
          "published_at": "2023-04-21T11:44:17Z"
        },
        {
          "tag": "v3.2.0",
          "kind": "minor",
          "published_at": "2023-04-21T11:06:16Z"
        },
        {
          "tag": "v3.1.2",
          "kind": "patch",
          "published_at": "2023-04-11T02:46:33Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "4dd25b387f51a9ace5c5a6f564311c6dc6b10b39",
          "body": null,
          "is_bot": false,
          "headline": "feat: add SHA256 fingerprint display for SSH keys",
          "author_name": "w940853815",
          "author_login": "w940853815",
          "committed_at": "2026-07-24T09:57:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3fd17412a0133c8d13d527f27dc723c986965e4",
          "body": null,
          "is_bot": false,
          "headline": "perf: restore message template editor toolbar",
          "author_name": "w940853815",
          "author_login": "w940853815",
          "committed_at": "2026-07-24T08:07:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "63eb5b3ef7e3446e751447a1ab0c6ba333c1b27d",
          "body": "fix: show full bulk account error in tooltip",
          "is_bot": false,
          "headline": "Merge pull request #5512 from jumpserver/pr@dev@fix_account_tooltip",
          "author_name": "Crane.z",
          "author_login": "Zxc4wonder",
          "committed_at": "2026-07-24T03:21:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "27a6b6e1a1db4da6a0418b1e795df9d6c8e549f8",
          "body": null,
          "is_bot": false,
          "headline": "fix: show full bulk account error in tooltip",
          "author_name": "Crane.z",
          "author_login": "Zxc4wonder",
          "committed_at": "2026-07-24T03:18:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa37214ff6a387c2fed4fba3e5a5ce43505d2475",
          "body": "Bumps [svgo](https://github.com/svg/svgo) from 4.0.1 to 4.0.2.\n- [Release notes](https://github.com/svg/svgo/releases)\n- [Commits](https://github.com/svg/svgo/compare/v4.0.1...v4.0.2)\n\n---\nupdated-dependencies:\n- dependency-name: svgo\n  dependency-version: 4.0.2\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "build(deps-dev): bump svgo from 4.0.1 to 4.0.2",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-24T01:58:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f918cf5da73311e1d13e66b081769b9661d24bf",
          "body": null,
          "is_bot": false,
          "headline": "perf: unify drawer runtime context flow",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-23T11:16:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "527f70559dd32e5e1aef05974348c6540fa10276",
          "body": null,
          "is_bot": false,
          "headline": "perf: custom platform and applet",
          "author_name": "fit2bot",
          "author_login": "fit2bot",
          "committed_at": "2026-07-23T11:15:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12b533d9c4fa03d3f0c26e8b951e41f1908ab4ff",
          "body": "… (#5494)\n\n* perf: resource-select and tree-resource-select components for select2\n\n* feat: add resource exclude_spm param and without count of type-tree 2\n\n* feat: json-many-to-many-select moidify select2 components\n\n* feat: some select2 modify\n\n* feat: some select2 modify\n\n* feat: some select2 modify 2\n\n---------\n\nCo-authored-by: Bai <baijiangjie@gmail.com>",
          "is_bot": false,
          "headline": "perf: resource-select and tree-resource-select components for select2…",
          "author_name": "fit2bot",
          "author_login": "fit2bot",
          "committed_at": "2026-07-23T03:29:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "40034e0134bc3e521c2664b4ab9c6eb88f3efef8",
          "body": "更新说明:\n- 属性文本搜索改用后端支持的 __icontains 参数,例如 name__icontains。\n- 普通模糊搜索保持 search=a,b,不使用 search__in。\n- 保留布尔、枚举以及已带 __ 后缀字段的精确查询行为。\n- 修复选择搜索属性后输入框没有自动聚焦的问题。",
          "is_bot": false,
          "headline": "fix: update table search query behavior",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-23T03:09:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f5050313517e3387147dc381a11bfbb8d2740b3",
          "body": null,
          "is_bot": false,
          "headline": "fix: unify action button and message behavior",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-23T03:08:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43eb0d3c4306fef7219d583a8d953d917333a812",
          "body": null,
          "is_bot": false,
          "headline": "perf: cmdfilter acl cmdgroup-amount",
          "author_name": "Bai",
          "author_login": "baijiangjie",
          "committed_at": "2026-07-23T01:52:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98534262423e3353c872dc2194595b83ea668956",
          "body": null,
          "is_bot": false,
          "headline": "perf: to vault",
          "author_name": "feng",
          "author_login": "feng626",
          "committed_at": "2026-07-23T01:50:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e78d7db280194c20ba35f819bcdefdb0c0381e2e",
          "body": "Ensure dialogs and nested selectors propagate visibility and model changes correctly,\nrefresh asset protocol choices when platforms change, and read organization IDs from\nthe Vue Router 4 route reference.",
          "is_bot": false,
          "headline": "fix: stabilize Vue 3 form state synchronization",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-22T11:00:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4170a05340ffb81720ead4ab6134bb97f03930e",
          "body": null,
          "is_bot": false,
          "headline": "fix: Normalize asset and node IDs for account suggestions",
          "author_name": "w940853815",
          "author_login": "w940853815",
          "committed_at": "2026-07-22T03:06:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f61e2faa70ffe9754a122592a0d4b55c263da53",
          "body": null,
          "is_bot": false,
          "headline": "fix: account tree filter",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-21T09:25:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e62335ec604bdb47727578dbddf542d07163df60",
          "body": null,
          "is_bot": false,
          "headline": "fix: filter search",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-21T07:04:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0abfe243d6ebabac048e3aae58542b7f11b934bc",
          "body": "feat(assets): add last login time to asset list",
          "is_bot": false,
          "headline": "Merge pull request #5424 from jumpserver/pr@dev@feat_asset_last-login",
          "author_name": "Crane.z",
          "author_login": "Zxc4wonder",
          "committed_at": "2026-07-21T06:20:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "244c2ee87a7d70e1775df076203829d65c2d22df",
          "body": null,
          "is_bot": false,
          "headline": "fix: password style",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-21T05:58:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c48a7e9d6c37d5ef5ca63b050d07e0f179ffea3a",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'dev' of github.com:jumpserver/lina into dev",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-17T06:36:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74da3d385fea5d2d2d8bd08c1fd3f830d93f470e",
          "body": null,
          "is_bot": false,
          "headline": "fix: localstore error on vite",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-17T06:36:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06d3979ad46afd2fca222dc4e262428113a7e373",
          "body": null,
          "is_bot": false,
          "headline": "perf: table actions using icon only",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-17T06:33:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f06313bc3fd24aaf9515a0fcd0feea1354bd3b7",
          "body": null,
          "is_bot": false,
          "headline": "fix: chat",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-16T08:58:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3045d27c041d607890f27ba9d9b2c304687abafd",
          "body": null,
          "is_bot": false,
          "headline": "fix: chat insert",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-16T08:38:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f6d5be75068f110af19dbb66830e8a16baba8d0",
          "body": null,
          "is_bot": false,
          "headline": "fix: attr rules filter for acl",
          "author_name": "Bai",
          "author_login": "baijiangjie",
          "committed_at": "2026-07-16T07:47:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f17034fe5bcda294bdd431856c20f073afe027ce",
          "body": null,
          "is_bot": false,
          "headline": "fix: chat",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-16T07:06:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "beb50053fc3f09d4feb3eb3786d9d1a0db7ede19",
          "body": null,
          "is_bot": false,
          "headline": "perf: chat",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-16T06:51:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa34b83cfb2b2a3bf44e24dcf27c5982a7bff397",
          "body": null,
          "is_bot": false,
          "headline": "fix: chat box",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-16T05:47:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74c0eaaccf5928eb33b4528e39da72cac4996b08",
          "body": "* perf: update tree set node id\n\n* fix: select load error bug\n\n* perf: Update Dockerfile with new base image tag\n\n* perf: set node in url\n\n* perf: update Object.has\n\n---------\n\nCo-authored-by: ibuler <ibuler@qq.com>\nCo-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: select load error bug (#5484)",
          "author_name": "fit2bot",
          "author_login": "fit2bot",
          "committed_at": "2026-07-16T05:26:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5c91a8c280a1bb82c3176972602af2dd5912c76",
          "body": null,
          "is_bot": false,
          "headline": "fix: dialog",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-16T05:08:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7278d8f9fd5952b5f6112315edafe5c833481919",
          "body": null,
          "is_bot": false,
          "headline": "fix: fix some issues",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-16T03:30:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1cde4e4ce29c5130310b45759aee254cf231dd36",
          "body": null,
          "is_bot": false,
          "headline": "fix: claude style",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-15T12:09:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "365f8c286ce1dbc6f67907e7e07b5f6645d45160",
          "body": null,
          "is_bot": false,
          "headline": "fix: fix some issues",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-15T12:01:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df2e1871b653f74f848e517bde9bd060f7977c16",
          "body": null,
          "is_bot": false,
          "headline": "fix: card table",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-15T11:26:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5998f3cec7ff529d6e7bcf9b3cc1f14f8c08e13c",
          "body": null,
          "is_bot": false,
          "headline": "fix: sytyles",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-15T10:01:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f76ac121b7bcb14a37e5d5e3bb843a21b831509",
          "body": null,
          "is_bot": false,
          "headline": "fix: asset perms create actions tips",
          "author_name": "Bai",
          "author_login": "baijiangjie",
          "committed_at": "2026-07-15T09:46:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df24e0721a95025cffc40b25363fbf23a1a07e1b",
          "body": "fix:ldap always update user",
          "is_bot": false,
          "headline": "Merge pull request #5476 from jumpserver/pr@dev@fix_ldap_update",
          "author_name": "inmaginawwsadCrane.z",
          "author_login": "Zxc4wonder",
          "committed_at": "2026-07-15T09:34:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e506df89fb7cdb459bd2da1277c03e91054b16cc",
          "body": null,
          "is_bot": false,
          "headline": "fix:ldap always update user",
          "author_name": "Crane.z",
          "author_login": "Zxc4wonder",
          "committed_at": "2026-07-15T09:33:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e75528f2170791d72032352585a67fd3f88b49b6",
          "body": null,
          "is_bot": false,
          "headline": "fix: fix some issues",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-15T08:49:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dbf5c594ed26514be61e3b3462a6696a3652239c",
          "body": null,
          "is_bot": false,
          "headline": "fix: icon",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-15T08:01:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "369f4f27255947d4cee143ac5964c774becd2509",
          "body": null,
          "is_bot": false,
          "headline": "fix: announcement content eyes icon",
          "author_name": "Bai",
          "author_login": "baijiangjie",
          "committed_at": "2026-07-15T07:39:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c909cae5f3526dce0f88b9980f259cb89bd7278",
          "body": null,
          "is_bot": false,
          "headline": "perf: to ds",
          "author_name": "feng",
          "author_login": "feng626",
          "committed_at": "2026-07-15T07:03:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3fa11bfdfe83286704880252b6946029da8c6c20",
          "body": "Handle table URL changes independently, queue asset initialization requests,\nand refresh platform actions from reactive tab state. Preserve Markdown code\nblocks and ordinary lists when formatting site messages while keeping the\nmessage drawer independently scrollable.\n\nImprove empty card, upload dialog, quick job, and confirmation button layouts.\nAdd focused regression checks for platform initialization, site message\nformatting, and applet upload dialogs.",
          "is_bot": false,
          "headline": "Keep asynchronous view updates and responsive layouts consistent",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-15T05:50:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f92c6d4f6b864d8c6c1b391fc4f3bdffde2a323b",
          "body": null,
          "is_bot": false,
          "headline": "fix: auth ukey user detail",
          "author_name": "Bai",
          "author_login": "baijiangjie",
          "committed_at": "2026-07-15T03:41:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76d3331bfc3a4d5a8623017cc7494bed21621be3",
          "body": null,
          "is_bot": false,
          "headline": "fix: No login access /ui/#/profile/index 404",
          "author_name": "w940853815",
          "author_login": "w940853815",
          "committed_at": "2026-07-15T02:44:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96bddd1574ef1b660bf7869dadbc4147f56b6f56",
          "body": null,
          "is_bot": false,
          "headline": "perf: tag input style",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-15T02:19:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dac3efd9680b6abffa0d91bcbee681a5489b9cf2",
          "body": "Introduce a shared input-spacing contract for standard and compound controls,\nrepair Vue 3 model and reactivity edge cases, and make dynamic route cleanup\nremove only runtime-added routes. Improve message template editing, risk\nresolution actions, variable help content, and related dialog layouts.\n\nAdd regression harnesses for form-control spacing and the batch risk resolution\ndialog.",
          "is_bot": false,
          "headline": "Restore reliable interactions across forms, dialogs, and dynamic routes",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-14T10:29:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0493e016a6cc4c94af0331d76f85266d9ba533fe",
          "body": null,
          "is_bot": false,
          "headline": "fix: auth ukey enable",
          "author_name": "Bai",
          "author_login": "baijiangjie",
          "committed_at": "2026-07-14T06:20:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f718ff9cac25461f105c7fad831e45fac362a12",
          "body": null,
          "is_bot": false,
          "headline": "fix: Account list export failed",
          "author_name": "w940853815",
          "author_login": "w940853815",
          "committed_at": "2026-07-14T06:15:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8054d5fe07f53a8c3ad98c07fbb2cea38db746d",
          "body": "…gs views\n\nUpdate LDAP dialogs to use the current visible v-model contract and close\nafter successful submissions. Refine phone input focus borders, preserve\nalerts inside flex layouts, and correct localized titles, optional SSH key\ndetails, and session action alignment.",
          "is_bot": false,
          "headline": "Restore consistent form and dialog behavior across profile and settin…",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-14T04:24:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e58daa42bf28652e4512b243a036d8933c82480c",
          "body": null,
          "is_bot": false,
          "headline": "fix: Display newly added playbook variables",
          "author_name": "w940853815",
          "author_login": "w940853815",
          "committed_at": "2026-07-14T02:18:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc2eab113193e397ba332cc432f31d0e63ca98da",
          "body": null,
          "is_bot": false,
          "headline": "Complete SSH key creation without leaving the active drawer flow",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-13T11:08:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6525da9f877734a538fcf66cec98f44a2a98d76d",
          "body": null,
          "is_bot": false,
          "headline": "perf: translate",
          "author_name": "feng",
          "author_login": "feng626",
          "committed_at": "2026-07-13T11:00:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4cb75a8a9dbf9c767d4b5f507687d2b565dfab16",
          "body": "Normalize the Element Plus tab identifier before forwarding click events and\nkeep the tabs v-model as the single source of truth. Preserve the legacy name\nfield for existing event consumers without overwriting the active state from\nthe obsolete tab.name property.",
          "is_bot": false,
          "headline": "Prevent repeated tab clicks from clearing the active view",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-13T10:58:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3932cc06e1fbaeee764821307473c8a7fc59fc99",
          "body": "Allow navigation components and icons to inherit configured theme colors,\nalign active and hover states across menu surfaces, and retain compatibility\nwith legacy theme values. Keep structured site messages readable without\nrewriting existing Markdown lists.",
          "is_bot": false,
          "headline": "Restore coherent navigation styling for dark themes",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-13T10:44:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ef3db281795a76953a94c1a0895593debef43bb",
          "body": null,
          "is_bot": false,
          "headline": "perf: translate",
          "author_name": "feng",
          "author_login": "feng626",
          "committed_at": "2026-07-13T10:37:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fbff766b55e901cf13229c7c40a74f08f24131fb",
          "body": "Use shared theme variables for menu states, popovers, icons, dialogs, and\ndashboard controls while preserving backward-compatible hover colors.\nImprove site message formatting without altering existing Markdown lists.",
          "is_bot": false,
          "headline": "Honor configured theme colors throughout navigation surfaces",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-13T09:31:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a10c9ff53fffcbd4ae44d2d6698c2797f65a6730",
          "body": null,
          "is_bot": false,
          "headline": "perf: update tooltip style",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-13T09:21:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "740064139f01e8539d1e3e0156b8082ac8cfd7a0",
          "body": null,
          "is_bot": false,
          "headline": "perf: update card table style",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-13T09:09:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b1bfe03cda415b1a6b2aa2c43c88c9c3425fbabf",
          "body": null,
          "is_bot": false,
          "headline": "perf: update card table",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-13T09:00:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce718028c0a541882d173ec6580babc799eded50",
          "body": null,
          "is_bot": false,
          "headline": "fix: center card table icons vertically",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-13T08:58:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "306249e83b0863f35d8df6a58880a355854ef049",
          "body": null,
          "is_bot": false,
          "headline": "fix: restore card table icon sizing",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-13T08:48:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ef730a6422c80d4bd729f2d72d8e6204654cce6",
          "body": null,
          "is_bot": false,
          "headline": "fix: restore nav title top border",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-13T08:34:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eabbd8ac1f02d6b5dde5f1529eb741f3612669df",
          "body": null,
          "is_bot": false,
          "headline": "fix: restore OSM and applet settings behavior",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-13T08:31:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87c7828e20bdff2923fdbc8823e8e1484b28f0de",
          "body": "Apply theme-provided colors consistently across navigation menus, dialogs,\ndate controls, and SVG icons. Preserve dark menu themes instead of forcing\nlight fallbacks, and extract site message formatting to safely handle\nexisting Markdown lists.",
          "is_bot": false,
          "headline": "Keep navigation and message views consistent across themes",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-13T07:47:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e872dc95cd16d81ccbe5a4d548c6af7a32c1fbf4",
          "body": null,
          "is_bot": false,
          "headline": "merge: with remote",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-13T07:43:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87c96b737a0cb8488e69befe0624064894252946",
          "body": null,
          "is_bot": false,
          "headline": "perf: change theme style",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-13T07:41:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb6a42d5dd2f2b9429a55bb2b61795db090d0461",
          "body": null,
          "is_bot": false,
          "headline": "perf: playbook style",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-13T06:53:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75044f095161de3c2e3d50d527bbb587900910ac",
          "body": "Guard tag autocomplete selections against invalid values, preserve table\nconfiguration while components are deactivated, and allow the account view\nto use its internally resolved URL.",
          "is_bot": false,
          "headline": "Prevent invalid component state from disrupting account and table views",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-13T04:54:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6bc885814eed75f3194a652c2711ef5b817a2639",
          "body": "- BasicTree: expand the root node one level on init via a computed\n  default-expanded-keys; the previous mounted() push ran after el-tree\n  initialized (and mutated a prop), so it never took effect\n- RequestAssetPerm ticket detail: center the datetime picker prefix icon and\n  switch to label-width=\"\n[…]\ning\n- CronTab: open the expression dialog on click instead of focus (ignoring the\n  clear button) and tidy the result popup styles\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: ticket detail UI and form field refinements",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-13T04:25:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9774946d65e6f712b7bd46a038f6e3925f581030",
          "body": "- QuickFilter: give the active filter item bold + underline in addition to\n  the primary color, so the selected state stays visible under themes such as\n  Deep black where --color-primary is close to the body text color\n- Gateway create/update: resolve the zone id from the passed `zone` prop and\n  f\n[…]\nquery, so the drawer-based flow works; DrawerListTable\n  now forwards `component-props`, and GatewayList passes `{ zone: object }`\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: quick-filter highlight in deep black theme and gateway zone prop",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-13T02:51:53Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "33de95ce702dcd7a6190b435aa7e9f39951fac58",
          "body": "- CardTable/Panel: flex layout with text-placeholder icon fallback, name\n  ellipsis, image-error fallback and clamped description\n- CardTable: empty state fills full width (bypass 1600px grid cap)\n- BoolTextReadonly: translate Yes/No through i18n\n- ImportTable: flex layout with gap, 30px status tabs, footer-style 30px\n  buttons, and width-constrained cell overflow tooltip\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: refine card table and import dialog UI for Vue 3",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-13T02:31:54Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3514b6682149ad55a44b9c08c4fa6ac078950812",
          "body": null,
          "is_bot": false,
          "headline": "fix: Reports page prevent duplicate customize links",
          "author_name": "w940853815",
          "author_login": "w940853815",
          "committed_at": "2026-07-10T09:58:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3268e1b9b8899ace158dac6965622c30b0fd791e",
          "body": "…ents\n\nRestore payloads/behaviour broken by the Element UI -> Element Plus (Vue 3)\nmigration, and clean up several form-control layouts:\n\n- Chat AI settings: revert the CHAT_AI_PROVIDERS rewrite back to the flat\n  fields the backend expects (CHAT_AI_TYPE gpt/deep-seek, GPT_*/DEEPSEEK_*/\n  CUSTOM_* w\n[…]\n collapses.\n- Announcement: use the info alert type.\n- MsgTemplate / FlowRuleField / other form fields: alignment and width fixes.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: resolve Vue 3 migration issues across settings and shared compon…",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-10T09:48:43Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "832dfdcc922f2c95cbe9d9612c9c3146e31a3ecd",
          "body": null,
          "is_bot": false,
          "headline": "fix: Cloud sync failed",
          "author_name": "w940853815",
          "author_login": "w940853815",
          "committed_at": "2026-07-10T09:26:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc1b22fc543efbe65b96a9e3c31431f803fbeca7",
          "body": "Fix several two-way binding / value propagation issues in form-field\ncomponents after the Element UI to Element Plus migration:\n\n- NestedField: drop the lodash debounce on outputValue so the sub-form value\n  propagates to the parent immediately instead of being dropped/delayed.\n- AllOrSpec: el-radio\n[…]\nn the emit order.\n- sessions/BaseList: inline the actions column width instead of reading a\n  computed during data initialization.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: correct value sync for migrated Vue 3 form controls",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-10T07:27:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5bb8bbb8608a71ce3f84084a707e9b8a6cf78d14",
          "body": null,
          "is_bot": false,
          "headline": "perf: sftp logs",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-10T07:12:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9e762aef663c12de219458efc88d300376ced4a",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'dev' of github.com:jumpserver/lina into dev",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-10T07:03:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bccf3c740dca847f726c84d6ed2e12ace62a9995",
          "body": null,
          "is_bot": false,
          "headline": "perf: clean css",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-10T07:03:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "909edff226e1eac2dbba08d8c18a65df738950e5",
          "body": "…gination fill\n\nAdhoc toolbar (shared CodeEditor, also used by Playbook workspace):\n- Replace the gray el-dropdown pseudo-buttons for the runas-policy / module /\n  timeout selects with standard el-select (30px, native dropdown).\n- Unify the runas / running-path inputs to 30px and add left padding on\n[…]\nage\n  filled with the primary color (el-data-table pagination + Pagination.vue).\n\nAlso bump the export-dialog radio label to 13px.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "perf(ui): align adhoc quick-job toolbar with file-transfer and fix pa…",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-10T06:53:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d58a8b36ed1306f538b17c9deb146acec2b0e91c",
          "body": "The protocol selector emitted its empty internal state before hydrating backend values, replacing saved asset ports with platform defaults. Synchronize the external model and delay outbound updates until items are initialized.\\n\\nConstraint: Preserve the existing input event contract used by the for\n[…]\nScope-risk: narrow\\nDirective: Do not restore immediate emission on the items watcher; it overwrites hydrated protocols\\nTested: oxlint, oxfmt check, yarn build\\nNot-tested: Authenticated browser flow",
          "is_bot": false,
          "headline": "Preserve asset protocol ports during form initialization",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-10T06:53:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "74ad96c5a5e8534a2803d4c76350ab2230bb443f",
          "body": null,
          "is_bot": false,
          "headline": "merge: with remote",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-10T06:17:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0b27f4d511749d8ecdcd02293f5e57bbd62ac71",
          "body": null,
          "is_bot": false,
          "headline": "perf: remove old createVNode",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-10T06:15:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "95b8eff988e96d8341a4a3a6b65184a076b1fcd4",
          "body": "Vue 3's SFC compiler deprecated ::v-deep as a combinator. Replace every\n::v-deep usage across the codebase with :deep():\n\n- combinator/functional forms (::v-deep .x, .a ::v-deep .x, & ::v-deep .x)\n  become :deep(.x)\n- block forms (::v-deep { .a {} .b {} }) are unnested into individual\n  :deep(.a) {} :deep(.b) {} rules, preserving nested & / descendant rules\n\nNo visual change; this only removes the runtime deprecation warnings.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refactor(style): migrate deprecated ::v-deep combinator to :deep()",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-10T06:04:57Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "18672c62ef021c209bc1ffc70939b6d8bfe989fa",
          "body": "- PhoneInput: add left padding on the inner input so the phone placeholder is\n  not flush against the segment divider (the global .el-form ...\n  .el-input__wrapper{padding:0} rule out-specifies the wrapper padding, so the\n  padding is applied on .el-input__inner instead).\n- Select2 (multi-select): s\n[…]\nth.\n- i18n: add the FailedToSendVerificationCode message (en/zh/ja/zh_hant) since\n  the backend does not provide this translation.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: shared form control layouts and MFA send-code message",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-10T04:29:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0c348624dc62123403dbda775e8a5d4833b56d27",
          "body": "… an Element Plus input-group (#5441)",
          "is_bot": false,
          "headline": "fix: combine platform automation method select and params button into…",
          "author_name": "fit2bot",
          "author_login": "fit2bot",
          "committed_at": "2026-07-10T03:32:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d55625c3162ef58518124243afc92caba7260b8",
          "body": "- Bind value on the IP type select in the cloud account detail quick-update panel so it defaults to Private IP (previously only model was passed and never reached the component's value prop, so it always showed the placeholder)\n- Unify step4 result panel font size to 13px in the cloud sync create wizard\n- Adjust connect button size to 24px\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: cloud sync IP type default display and result panel font",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-10T02:53:12Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1fd7c95ea856d2a99cc8cc893ee527f265bc4563",
          "body": null,
          "is_bot": false,
          "headline": "Refine asset selector layout and theme-aware controls",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-09T10:55:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6abcf1cffa77ba3b9cbbceb6131e8c3dcbce3599",
          "body": null,
          "is_bot": false,
          "headline": "perf: change some style",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-09T10:47:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5fbb81cbdbeb1012d9e7443c06b49c225e4562ca",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'dev' of github.com:jumpserver/lina into dev",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-09T10:16:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f81b9ccb3a4817052616d6230d8c299b2cfd80f",
          "body": null,
          "is_bot": false,
          "headline": "perf: change some table",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-09T10:15:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b41bb818b32af87f29f6439b821ac059a1efdd8",
          "body": null,
          "is_bot": false,
          "headline": "fix: fix some issues",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-09T09:29:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec4bed8a2d0272929d23b272fa668214a57e7748",
          "body": null,
          "is_bot": false,
          "headline": "perf: update change cascad",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-09T07:51:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "889ce01aa5b5c11d6a97bd45f9e7db97c40b9717",
          "body": null,
          "is_bot": false,
          "headline": "perf: update some vue3",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-09T07:29:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9fc1ed022bd9152caa931707ecdf6f25e8760b55",
          "body": "Fixes same-page query navigation so drawer action metadata is not cleared when only query/hash changes occur.\n\nAlso standardizes several hard-coded colors to theme CSS variables, adjusts label search cascader height, and centers Element Plus dialogs using overlay-level styling.",
          "is_bot": false,
          "headline": "Fix drawer state cleanup on query navigation and theme hard-coded colors",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-09T06:48:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "48d4d54d0e330601770dbaf6f51bf311c7e10a7d",
          "body": null,
          "is_bot": false,
          "headline": "fix: labels view show",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-09T06:33:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23bfdf9a87fff224b14f7d7f6db69b40e112d656",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'dev' of github.com:jumpserver/lina into dev",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-09T05:07:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a7f01578c7806af09f007102eb21bc0f4c44b8e",
          "body": null,
          "is_bot": false,
          "headline": "perf: update el-tool open-delay",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-09T05:07:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a414fb4cb5d2c5171af854273f0eaa41f5b7ce55",
          "body": null,
          "is_bot": false,
          "headline": "Recover dynamic routes when initialized navigation hits NotFound",
          "author_name": "zhaojisen",
          "author_login": "ZhaoJiSen",
          "committed_at": "2026-07-09T04:26:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da4f6e6e0f27d10981c0e5cfd88918fee928def8",
          "body": null,
          "is_bot": false,
          "headline": "fix: tab view to url",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-09T03:30:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2b6f80456178b952a02478714a2e5b0e5641902",
          "body": null,
          "is_bot": false,
          "headline": "perf: goback switch view",
          "author_name": "ibuler",
          "author_login": "ibuler",
          "committed_at": "2026-07-09T03:09:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 546,
      "latest_release_at": "2026-07-24T06:43:19Z",
      "latest_release_tag": "v3.10.22",
      "releases_from_tags": false,
      "days_since_last_push": 1,
      "active_weeks_last_year": 48,
      "days_since_latest_release": 1,
      "mean_days_between_releases": 30.7
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "lina",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "lina"
          ],
          "ecosystem": "npm",
          "matches_repo": false,
          "registry_url": "https://www.npmjs.com/package/lina",
          "is_deprecated": false,
          "latest_version": "0.0.1",
          "repository_url": "https://github.com/JacksonTian/lina",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 17,
          "first_published_at": "2013-12-02T17:37:35.782000Z",
          "latest_published_at": "2013-12-02T17:37:46.057000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 4618
        }
      ]
    },
    "popularity": {
      "forks": 147,
      "stars": 233,
      "watchers": 13,
      "fork_history": {
        "days": [
          {
            "date": "2020-04-02",
            "count": 1
          },
          {
            "date": "2020-04-29",
            "count": 1
          },
          {
            "date": "2020-05-12",
            "count": 1
          },
          {
            "date": "2020-06-19",
            "count": 1
          },
          {
            "date": "2020-06-22",
            "count": 2
          },
          {
            "date": "2020-07-04",
            "count": 1
          },
          {
            "date": "2020-07-05",
            "count": 1
          },
          {
            "date": "2020-07-08",
            "count": 1
          },
          {
            "date": "2020-07-09",
            "count": 1
          },
          {
            "date": "2020-07-16",
            "count": 1
          },
          {
            "date": "2020-08-15",
            "count": 1
          },
          {
            "date": "2020-08-18",
            "count": 1
          },
          {
            "date": "2020-08-20",
            "count": 1
          },
          {
            "date": "2020-08-24",
            "count": 1
          },
          {
            "date": "2020-09-04",
            "count": 1
          },
          {
            "date": "2020-09-05",
            "count": 1
          },
          {
            "date": "2020-09-08",
            "count": 1
          },
          {
            "date": "2020-09-10",
            "count": 1
          },
          {
            "date": "2020-09-14",
            "count": 1
          },
          {
            "date": "2020-10-22",
            "count": 1
          },
          {
            "date": "2020-12-09",
            "count": 1
          },
          {
            "date": "2020-12-16",
            "count": 1
          },
          {
            "date": "2021-01-26",
            "count": 3
          },
          {
            "date": "2021-02-09",
            "count": 1
          },
          {
            "date": "2021-03-22",
            "count": 1
          },
          {
            "date": "2021-04-21",
            "count": 1
          },
          {
            "date": "2021-04-29",
            "count": 1
          },
          {
            "date": "2021-06-24",
            "count": 1
          },
          {
            "date": "2021-07-01",
            "count": 1
          },
          {
            "date": "2021-07-14",
            "count": 1
          },
          {
            "date": "2021-07-17",
            "count": 1
          },
          {
            "date": "2021-09-03",
            "count": 1
          },
          {
            "date": "2021-09-06",
            "count": 1
          },
          {
            "date": "2021-09-07",
            "count": 1
          },
          {
            "date": "2021-10-13",
            "count": 1
          },
          {
            "date": "2021-10-28",
            "count": 1
          },
          {
            "date": "2021-11-09",
            "count": 1
          },
          {
            "date": "2021-11-18",
            "count": 1
          },
          {
            "date": "2021-11-19",
            "count": 1
          },
          {
            "date": "2022-01-06",
            "count": 2
          },
          {
            "date": "2022-01-14",
            "count": 1
          },
          {
            "date": "2022-01-31",
            "count": 1
          },
          {
            "date": "2022-02-24",
            "count": 1
          },
          {
            "date": "2022-03-09",
            "count": 1
          },
          {
            "date": "2022-03-12",
            "count": 1
          },
          {
            "date": "2022-03-22",
            "count": 1
          },
          {
            "date": "2022-03-28",
            "count": 1
          },
          {
            "date": "2022-03-29",
            "count": 1
          },
          {
            "date": "2022-03-30",
            "count": 1
          },
          {
            "date": "2022-03-31",
            "count": 2
          },
          {
            "date": "2022-04-05",
            "count": 1
          },
          {
            "date": "2022-04-26",
            "count": 1
          },
          {
            "date": "2022-05-21",
            "count": 1
          },
          {
            "date": "2022-05-27",
            "count": 1
          },
          {
            "date": "2022-06-14",
            "count": 1
          },
          {
            "date": "2022-07-01",
            "count": 1
          },
          {
            "date": "2022-07-04",
            "count": 1
          },
          {
            "date": "2022-08-31",
            "count": 1
          },
          {
            "date": "2022-09-13",
            "count": 1
          },
          {
            "date": "2022-09-24",
            "count": 1
          },
          {
            "date": "2022-11-04",
            "count": 1
          },
          {
            "date": "2022-11-28",
            "count": 1
          },
          {
            "date": "2022-11-29",
            "count": 1
          },
          {
            "date": "2022-12-22",
            "count": 1
          },
          {
            "date": "2023-02-21",
            "count": 1
          },
          {
            "date": "2023-04-08",
            "count": 1
          },
          {
            "date": "2023-04-09",
            "count": 1
          },
          {
            "date": "2023-04-19",
            "count": 1
          },
          {
            "date": "2023-04-23",
            "count": 1
          },
          {
            "date": "2023-05-04",
            "count": 1
          },
          {
            "date": "2023-05-11",
            "count": 1
          },
          {
            "date": "2023-06-15",
            "count": 1
          },
          {
            "date": "2023-06-20",
            "count": 1
          },
          {
            "date": "2023-07-21",
            "count": 1
          },
          {
            "date": "2023-10-28",
            "count": 1
          },
          {
            "date": "2023-11-03",
            "count": 1
          },
          {
            "date": "2023-11-28",
            "count": 1
          },
          {
            "date": "2023-12-19",
            "count": 1
          },
          {
            "date": "2024-01-31",
            "count": 1
          },
          {
            "date": "2024-02-01",
            "count": 1
          },
          {
            "date": "2024-02-21",
            "count": 1
          },
          {
            "date": "2024-03-26",
            "count": 1
          },
          {
            "date": "2024-04-09",
            "count": 1
          },
          {
            "date": "2024-05-06",
            "count": 1
          },
          {
            "date": "2024-05-30",
            "count": 1
          },
          {
            "date": "2024-07-03",
            "count": 1
          },
          {
            "date": "2024-07-04",
            "count": 2
          },
          {
            "date": "2024-08-12",
            "count": 1
          },
          {
            "date": "2024-08-28",
            "count": 1
          },
          {
            "date": "2024-09-09",
            "count": 1
          },
          {
            "date": "2024-09-11",
            "count": 1
          },
          {
            "date": "2024-09-14",
            "count": 1
          },
          {
            "date": "2024-09-23",
            "count": 1
          },
          {
            "date": "2024-11-25",
            "count": 1
          },
          {
            "date": "2024-12-11",
            "count": 1
          },
          {
            "date": "2024-12-16",
            "count": 1
          },
          {
            "date": "2024-12-20",
            "count": 1
          },
          {
            "date": "2025-01-03",
            "count": 1
          },
          {
            "date": "2025-01-07",
            "count": 1
          },
          {
            "date": "2025-01-14",
            "count": 1
          },
          {
            "date": "2025-02-02",
            "count": 1
          },
          {
            "date": "2025-04-03",
            "count": 1
          },
          {
            "date": "2025-04-06",
            "count": 1
          },
          {
            "date": "2025-04-22",
            "count": 1
          },
          {
            "date": "2025-04-27",
            "count": 1
          },
          {
            "date": "2025-04-29",
            "count": 1
          },
          {
            "date": "2025-05-06",
            "count": 1
          },
          {
            "date": "2025-06-11",
            "count": 1
          },
          {
            "date": "2025-06-16",
            "count": 1
          },
          {
            "date": "2025-07-09",
            "count": 2
          },
          {
            "date": "2025-07-18",
            "count": 1
          },
          {
            "date": "2025-08-11",
            "count": 1
          },
          {
            "date": "2025-08-20",
            "count": 1
          },
          {
            "date": "2025-09-07",
            "count": 1
          },
          {
            "date": "2025-09-09",
            "count": 1
          },
          {
            "date": "2025-09-10",
            "count": 1
          },
          {
            "date": "2025-09-27",
            "count": 1
          },
          {
            "date": "2025-09-30",
            "count": 1
          },
          {
            "date": "2025-10-15",
            "count": 1
          },
          {
            "date": "2025-10-28",
            "count": 1
          },
          {
            "date": "2025-10-31",
            "count": 1
          },
          {
            "date": "2025-12-01",
            "count": 1
          },
          {
            "date": "2026-01-29",
            "count": 1
          },
          {
            "date": "2026-02-01",
            "count": 1
          },
          {
            "date": "2026-02-02",
            "count": 1
          },
          {
            "date": "2026-02-11",
            "count": 1
          },
          {
            "date": "2026-02-17",
            "count": 1
          },
          {
            "date": "2026-03-13",
            "count": 1
          },
          {
            "date": "2026-03-16",
            "count": 1
          },
          {
            "date": "2026-04-07",
            "count": 1
          },
          {
            "date": "2026-04-28",
            "count": 1
          },
          {
            "date": "2026-04-29",
            "count": 1
          },
          {
            "date": "2026-05-09",
            "count": 1
          },
          {
            "date": "2026-05-21",
            "count": 1
          },
          {
            "date": "2026-05-24",
            "count": 1
          },
          {
            "date": "2026-06-06",
            "count": 1
          },
          {
            "date": "2026-06-10",
            "count": 1
          },
          {
            "date": "2026-06-20",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          },
          {
            "date": "2026-07-25",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 147,
        "total_forks": 147
      },
      "star_history": null,
      "open_issues_and_prs": 9
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 18971,
      "source_files_sampled": 170,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "AGENTS.md",
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 6555
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "minimist",
            "direct": false,
            "version": "0.0.10",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-vh95-rmgr-6w4m",
              "GHSA-xvch-5gv4-984h"
            ],
            "fixed_version": "1.2.6",
            "advisory_count": 2,
            "oldest_advisory_days": 2304
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "critical": 1
        },
        "advisory_count": 2,
        "affected_count": 1,
        "assessed_count": 3,
        "malicious_count": 0,
        "assessed_package": "npm:lina@0.0.1",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@codemirror/language",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.11.3"
        },
        {
          "name": "@codemirror/legacy-modes",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^6"
        },
        {
          "name": "@element-plus/icons-vue",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.2"
        },
        {
          "name": "@fontsource/open-sans",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.2.7"
        },
        {
          "name": "@kangc/v-md-editor",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.18"
        },
        {
          "name": "@traptitech/markdown-it-katex",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.6.0"
        },
        {
          "name": "@ztree/ztree_v3",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "3.5.48"
        },
        {
          "name": "axios",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.16.1"
        },
        {
          "name": "axios-retry",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.5.0"
        },
        {
          "name": "codemirror",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^6"
        },
        {
          "name": "core-js",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.49.0"
        },
        {
          "name": "cron-parser",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.5.0"
        },
        {
          "name": "crypto-js",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.2.0"
        },
        {
          "name": "css-color-function",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.3.3"
        },
        {
          "name": "decimal.js",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^10.6.0"
        },
        {
          "name": "deepmerge",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.3.1"
        },
        {
          "name": "dompurify",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.4.7"
        },
        {
          "name": "echarts",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.1.0"
        },
        {
          "name": "element-plus",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.14.0"
        },
        {
          "name": "highlight.js",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.11.1"
        },
        {
          "name": "html2canvas",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.4.1"
        },
        {
          "name": "jquery",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.0"
        },
        {
          "name": "js-cookie",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.7"
        },
        {
          "name": "js-yaml",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.1.0"
        },
        {
          "name": "jsencrypt",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.5.4"
        },
        {
          "name": "lodash",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.18.1"
        },
        {
          "name": "markdown-it",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^14.2.0"
        },
        {
          "name": "markdown-it-link-attributes",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.1"
        },
        {
          "name": "mitt",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.1"
        },
        {
          "name": "moment",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.30.1"
        },
        {
          "name": "normalize.css",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.0.1"
        },
        {
          "name": "nprogress",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.2.0"
        },
        {
          "name": "path-browserify",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.1"
        },
        {
          "name": "path-to-regexp",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "8.4.2"
        },
        {
          "name": "pdf-lib",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.17.1"
        },
        {
          "name": "prismjs",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.30.0"
        },
        {
          "name": "sm-crypto",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.4.0"
        },
        {
          "name": "socket.io-client",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.8.3"
        },
        {
          "name": "sortablejs",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.15.7"
        },
        {
          "name": "uuid",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^14.0.0"
        },
        {
          "name": "vue",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.5.35"
        },
        {
          "name": "vue-codemirror",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "6.1.1"
        },
        {
          "name": "vue-cookie-next",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.3.0"
        },
        {
          "name": "vue-echarts",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.0.1"
        },
        {
          "name": "vue-i18n",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.4.4"
        },
        {
          "name": "vue-password-strength-meter",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.0"
        },
        {
          "name": "vue-router",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.1.0"
        },
        {
          "name": "vuex",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.1.0"
        },
        {
          "name": "watermark-js-plus",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.6.3"
        },
        {
          "name": "xss",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.15"
        },
        {
          "name": "xterm",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.3.0"
        },
        {
          "name": "xterm-addon-fit",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.8.0"
        },
        {
          "name": "zxcvbn",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.4.2"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@codemirror/language",
            "direct": true,
            "version": "6.12.4",
            "ecosystem": "npm"
          },
          {
            "name": "@codemirror/legacy-modes",
            "direct": true,
            "version": "6.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "@element-plus/icons-vue",
            "direct": true,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@fontsource/open-sans",
            "direct": true,
            "version": "5.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "@kangc/v-md-editor",
            "direct": true,
            "version": "2.3.18",
            "ecosystem": "npm"
          },
          {
            "name": "@traptitech/markdown-it-katex",
            "direct": true,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@ztree/ztree_v3",
            "direct": true,
            "version": "3.5.48",
            "ecosystem": "npm"
          },
          {
            "name": "axios",
            "direct": true,
            "version": "1.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "axios-retry",
            "direct": true,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "codemirror",
            "direct": true,
            "version": "5.65.21",
            "ecosystem": "npm"
          },
          {
            "name": "codemirror",
            "direct": true,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "core-js",
            "direct": true,
            "version": "3.49.0",
            "ecosystem": "npm"
          },
          {
            "name": "cron-parser",
            "direct": true,
            "version": "5.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "crypto-js",
            "direct": true,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "css-color-function",
            "direct": true,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "decimal.js",
            "direct": true,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "deepmerge",
            "direct": true,
            "version": "1.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "deepmerge",
            "direct": true,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "dompurify",
            "direct": true,
            "version": "3.4.11",
            "ecosystem": "npm"
          },
          {
            "name": "dompurify",
            "direct": true,
            "version": "3.4.12",
            "ecosystem": "npm"
          },
          {
            "name": "echarts",
            "direct": true,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "element-plus",
            "direct": true,
            "version": "2.14.2",
            "ecosystem": "npm"
          },
          {
            "name": "highlight.js",
            "direct": true,
            "version": "10.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "highlight.js",
            "direct": true,
            "version": "11.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "html2canvas",
            "direct": true,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "jquery",
            "direct": true,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-cookie",
            "direct": true,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": true,
            "version": "3.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": true,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsencrypt",
            "direct": true,
            "version": "3.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": true,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it",
            "direct": true,
            "version": "12.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it",
            "direct": true,
            "version": "14.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it",
            "direct": true,
            "version": "8.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-link-attributes",
            "direct": true,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mitt",
            "direct": true,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "moment",
            "direct": true,
            "version": "2.30.1",
            "ecosystem": "npm"
          },
          {
            "name": "normalize.css",
            "direct": true,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "nprogress",
            "direct": true,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-browserify",
            "direct": true,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": true,
            "version": "8.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "pdf-lib",
            "direct": true,
            "version": "1.17.1",
            "ecosystem": "npm"
          },
          {
            "name": "prismjs",
            "direct": true,
            "version": "1.30.0",
            "ecosystem": "npm"
          },
          {
            "name": "sm-crypto",
            "direct": true,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "socket.io-client",
            "direct": true,
            "version": "4.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "sortablejs",
            "direct": true,
            "version": "1.15.7",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": true,
            "version": "14.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": true,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "vue-codemirror",
            "direct": true,
            "version": "6.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "vue-cookie-next",
            "direct": true,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue-echarts",
            "direct": true,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "vue-i18n",
            "direct": true,
            "version": "11.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "vue-password-strength-meter",
            "direct": true,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue-router",
            "direct": true,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vuex",
            "direct": true,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "watermark-js-plus",
            "direct": true,
            "version": "1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "xss",
            "direct": true,
            "version": "1.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "xterm",
            "direct": true,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "xterm-addon-fit",
            "direct": true,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "zxcvbn",
            "direct": true,
            "version": "4.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-annotate-as-pure",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-create-class-features-plugin",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-member-expression-to-functions",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-optimise-call-expression",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-replace-supers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-skip-transparent-expression-wrappers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-jsx",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-typescript",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-typescript",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@braintree/sanitize-url",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@codemirror/autocomplete",
            "direct": false,
            "version": "6.20.3",
            "ecosystem": "npm"
          },
          {
            "name": "@codemirror/commands",
            "direct": false,
            "version": "6.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@codemirror/lint",
            "direct": false,
            "version": "6.9.7",
            "ecosystem": "npm"
          },
          {
            "name": "@codemirror/search",
            "direct": false,
            "version": "6.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "@codemirror/state",
            "direct": false,
            "version": "6.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@codemirror/view",
            "direct": false,
            "version": "6.43.4",
            "ecosystem": "npm"
          },
          {
            "name": "@ctrl/tinycolor",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/core",
            "direct": false,
            "version": "1.7.5",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/dom",
            "direct": false,
            "version": "1.7.6",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/utils",
            "direct": false,
            "version": "0.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "@intlify/core-base",
            "direct": false,
            "version": "11.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@intlify/devtools-types",
            "direct": false,
            "version": "11.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@intlify/message-compiler",
            "direct": false,
            "version": "11.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@intlify/shared",
            "direct": false,
            "version": "11.4.6",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/fs-minipass",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/remapping",
            "direct": false,
            "version": "2.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@lezer/common",
            "direct": false,
            "version": "1.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@lezer/highlight",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@lezer/lr",
            "direct": false,
            "version": "1.4.10",
            "ecosystem": "npm"
          },
          {
            "name": "@marijn/find-cluster-break",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@mrmlnc/readdir-enhanced",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.137.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-android-arm-eabi",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-android-arm64",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-darwin-arm64",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-darwin-x64",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-freebsd-x64",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-linux-arm-musleabihf",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-linux-arm64-gnu",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-linux-arm64-musl",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-linux-riscv64-gnu",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-linux-riscv64-musl",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-linux-s390x-gnu",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-linux-x64-gnu",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-linux-x64-musl",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-openharmony-arm64",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-win32-arm64-msvc",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-win32-ia32-msvc",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxfmt/binding-win32-x64-msvc",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-android-arm-eabi",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-android-arm64",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-darwin-arm64",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-darwin-x64",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-freebsd-x64",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-linux-arm-musleabihf",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-linux-riscv64-gnu",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-linux-riscv64-musl",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-linux-x64-musl",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-openharmony-arm64",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-win32-ia32-msvc",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@oxlint/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-android-arm64",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-darwin-arm64",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-darwin-x64",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-freebsd-x64",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-arm-glibc",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-arm-musl",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-arm64-glibc",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-arm64-musl",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-x64-glibc",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-linux-x64-musl",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-win32-arm64",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-win32-ia32",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher-win32-x64",
            "direct": false,
            "version": "2.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "@pdf-lib/standard-fonts",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pdf-lib/upng",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@popperjs/core",
            "direct": false,
            "version": "2.11.8",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@socket.io/component-emitter",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-scale",
            "direct": false,
            "version": "4.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-scale-chromatic",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/d3-time",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/debug",
            "direct": false,
            "version": "4.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "@types/glob",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsesc",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/lodash",
            "direct": false,
            "version": "4.17.24",
            "ecosystem": "npm"
          },
          {
            "name": "@types/lodash-es",
            "direct": false,
            "version": "4.17.12",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdast",
            "direct": false,
            "version": "3.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/minimatch",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ms",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "26.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/trusted-types",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "2.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@types/web-bluetooth",
            "direct": false,
            "version": "0.0.21",
            "ecosystem": "npm"
          },
          {
            "name": "@vant/icons",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vant/popperjs",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vant/use",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-vue",
            "direct": false,
            "version": "6.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-vue-jsx",
            "direct": false,
            "version": "5.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@vue-macros/common",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/babel-helper-vue-transform-on",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/babel-plugin-jsx",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/babel-plugin-resolve-type",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-core",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-dom",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-sfc",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/compiler-ssr",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "6.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-api",
            "direct": false,
            "version": "8.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-kit",
            "direct": false,
            "version": "8.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/devtools-shared",
            "direct": false,
            "version": "8.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/reactivity",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-core",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/runtime-dom",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/server-renderer",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/shared",
            "direct": false,
            "version": "3.5.39",
            "ecosystem": "npm"
          },
          {
            "name": "@vuepress/markdown",
            "direct": false,
            "version": "1.9.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vuepress/shared-utils",
            "direct": false,
            "version": "1.9.10",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/core",
            "direct": false,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/metadata",
            "direct": false,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vueuse/shared",
            "direct": false,
            "version": "14.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "abbrev",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "7.3.0",
            "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": "6.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "arr-diff",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "arr-flatten",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "arr-union",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "array-union",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "array-uniq",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "array-unique",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "assign-symbols",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ast-kit",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ast-walker-scope",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "async-function",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "async-generator-function",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "async-validator",
            "direct": false,
            "version": "4.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "asynckit",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "atob",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "autoprefixer",
            "direct": false,
            "version": "10.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "base",
            "direct": false,
            "version": "0.11.2",
            "ecosystem": "npm"
          },
          {
            "name": "base64-arraybuffer",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.40",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.42",
            "ecosystem": "npm"
          },
          {
            "name": "birpc",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "boolbase",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.4",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.5",
            "ecosystem": "npm"
          },
          {
            "name": "cac",
            "direct": false,
            "version": "6.7.14",
            "ecosystem": "npm"
          },
          {
            "name": "cache-base",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-me-maybe",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001799",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001803",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "5.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "class-utils",
            "direct": false,
            "version": "0.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "cli-cursor",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-truncate",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "clone",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "collection-visit",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "color",
            "direct": false,
            "version": "0.11.4",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "1.9.3",
            "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": "color-name",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "color-string",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "combined-stream",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "2.20.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "component-emitter",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "copy-descriptor",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "copy-to-clipboard",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "cose-base",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "crelt",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "css-line-break",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "css-select",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "css-tree",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "css-tree",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "css-what",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "cssfilter",
            "direct": false,
            "version": "0.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "csso",
            "direct": false,
            "version": "5.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape",
            "direct": false,
            "version": "3.34.0",
            "ecosystem": "npm"
          },
          {
            "name": "cytoscape-cose-bilkent",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3",
            "direct": false,
            "version": "7.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "2.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-axis",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-brush",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-chord",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-color",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-contour",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-delaunay",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dispatch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-drag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dsv",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-ease",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-fetch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-force",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-format",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-geo",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-hierarchy",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-interpolate",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-polygon",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-quadtree",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-random",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-sankey",
            "direct": false,
            "version": "0.12.3",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale-chromatic",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-selection",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "1.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time-format",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-timer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-transition",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-zoom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dagre-d3-es",
            "direct": false,
            "version": "7.0.13",
            "ecosystem": "npm"
          },
          {
            "name": "dayjs",
            "direct": false,
            "version": "1.11.21",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "2.6.9",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decode-named-character-reference",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "decode-uri-component",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "define-property",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "define-property",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "define-property",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "delaunator",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "delayed-stream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dequal",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "dir-glob",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "dom-serializer",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "domelementtype",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "domhandler",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "domutils",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "dot-object",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.380",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.389",
            "ecosystem": "npm"
          },
          {
            "name": "elkjs",
            "direct": false,
            "version": "0.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "engine.io-client",
            "direct": false,
            "version": "6.6.6",
            "ecosystem": "npm"
          },
          {
            "name": "engine.io-parser",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "8.0.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": "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.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.28.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": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "eventemitter3",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "expand-brackets",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "exponential-backoff",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "exsolve",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "extend-shallow",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "extend-shallow",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "extglob",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "fast-glob",
            "direct": false,
            "version": "2.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "follow-redirects",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "for-in",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fraction.js",
            "direct": false,
            "version": "5.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "fragment-cache",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "generator-function",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-east-asian-width",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-value",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "github-markdown-css",
            "direct": false,
            "version": "5.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob-to-regexp",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "globby",
            "direct": false,
            "version": "9.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "gray-matter",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-value",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "has-value",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-values",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "has-values",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hash-sum",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "hookable",
            "direct": false,
            "version": "5.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "husky",
            "direct": false,
            "version": "9.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "immutable",
            "direct": false,
            "version": "5.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "insert-text-at-cursor",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "internmap",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "internmap",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-accessor-descriptor",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-buffer",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "is-data-descriptor",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-descriptor",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "is-descriptor",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-extendable",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-extendable",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-object",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-retry-allowed",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-valid-glob",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-windows",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isobject",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "isobject",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "javascript-stringify",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsbn",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "katex",
            "direct": false,
            "version": "0.13.24",
            "ecosystem": "npm"
          },
          {
            "name": "katex",
            "direct": false,
            "version": "0.16.47",
            "ecosystem": "npm"
          },
          {
            "name": "khroma",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "kind-of",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "kind-of",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "kind-of",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "kleur",
            "direct": false,
            "version": "4.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "layout-base",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lint-staged",
            "direct": false,
            "version": "17.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "listr2",
            "direct": false,
            "version": "10.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "local-pkg",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash-es",
            "direct": false,
            "version": "4.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash-unified",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "log-update",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "luxon",
            "direct": false,
            "version": "3.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string-ast",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "map-cache",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "map-visit",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-anchor",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-attrs",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-chain",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-container",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-emoji",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it-table-of-contents",
            "direct": false,
            "version": "0.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-from-markdown",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-string",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdn-data",
            "direct": false,
            "version": "2.0.28",
            "ecosystem": "npm"
          },
          {
            "name": "mdn-data",
            "direct": false,
            "version": "2.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "memoize-one",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "mermaid",
            "direct": false,
            "version": "10.9.6",
            "ecosystem": "npm"
          },
          {
            "name": "micromark",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-core-commonmark",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-destination",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-label",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-space",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-title",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-whitespace",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-character",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-chunked",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-classify-character",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-combine-extensions",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-decode-numeric-character-reference",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-decode-string",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-encode",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-html-tag-name",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-normalize-identifier",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-resolve-all",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-sanitize-uri",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-subtokenize",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-symbol",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-types",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "3.1.10",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.35",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-function",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "5.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "minizlib",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mixin-deep",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "mlly",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "mri",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "muggle-string",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.15",
            "ecosystem": "npm"
          },
          {
            "name": "nanomatch",
            "direct": false,
            "version": "1.2.13",
            "ecosystem": "npm"
          },
          {
            "name": "node-addon-api",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp",
            "direct": false,
            "version": "13.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.50",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.51",
            "ecosystem": "npm"
          },
          {
            "name": "non-layered-tidy-tree-layout",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "nopt",
            "direct": false,
            "version": "10.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-wheel-es",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "nth-check",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-copy",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-visit",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "object.pick",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "oxfmt",
            "direct": false,
            "version": "0.55.0",
            "ecosystem": "npm"
          },
          {
            "name": "oxlint",
            "direct": false,
            "version": "1.71.0",
            "ecosystem": "npm"
          },
          {
            "name": "pako",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "pascalcase",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-dirname",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "perfect-debounce",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "posix-character-classes",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.16",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-value-parser",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pretty-bytes",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "proc-log",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-from-env",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode.js",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "quansync",
            "direct": false,
            "version": "0.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "regex-not",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "repeat-element",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "repeat-string",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "resize-observer-polyfill",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-url",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "restore-cursor",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ret",
            "direct": false,
            "version": "0.1.15",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "rgb",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "robust-predicates",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "rw",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "sade",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-regex",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "sass",
            "direct": false,
            "version": "1.101.0",
            "ecosystem": "npm"
          },
          {
            "name": "sax",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "scule",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "section-matter",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "set-value",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "snapdragon",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "snapdragon-node",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "snapdragon-util",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "socket.io-parser",
            "direct": false,
            "version": "4.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-resolve",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-url",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "split-string",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "static-extend",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-argv",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "8.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom-string",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "style-mod",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "stylis",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "svgo",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "tar",
            "direct": false,
            "version": "7.5.19",
            "ecosystem": "npm"
          },
          {
            "name": "text-segmentation",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinypool",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "to-object-path",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "toggle-selection",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "toml",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-dedent",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "uc.micro",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "uc.micro",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ufo",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "6.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "union-value",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-stringify-position",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "unplugin-utils",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "unset-value",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "upath",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "urix",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "use",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "utrie",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "uvu",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "vant",
            "direct": false,
            "version": "3.6.16",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vue-component-type-helpers",
            "direct": false,
            "version": "3.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "vue-i18n-extract",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "w3c-keyname",
            "direct": false,
            "version": "2.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "web-worker",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-chain",
            "direct": false,
            "version": "4.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-virtual-modules",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "9.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "8.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "xmlhttprequest-ssl",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "zrender",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 730,
        "direct_count": 60,
        "indirect_count": 670
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 9,
        "merged_prs": 4946,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 509
      },
      "bus_factor": 3,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "ibuler",
          "commits": 2155,
          "avatar_url": "https://avatars.githubusercontent.com/u/17382885?v=4"
        },
        {
          "type": "User",
          "login": "feng626",
          "commits": 1022,
          "avatar_url": "https://avatars.githubusercontent.com/u/57284900?v=4"
        },
        {
          "type": "User",
          "login": "huailei000",
          "commits": 777,
          "avatar_url": "https://avatars.githubusercontent.com/u/31801270?v=4"
        },
        {
          "type": "User",
          "login": "baijiangjie",
          "commits": 774,
          "avatar_url": "https://avatars.githubusercontent.com/u/32935519?v=4"
        },
        {
          "type": "User",
          "login": "ZhaoJiSen",
          "commits": 623,
          "avatar_url": "https://avatars.githubusercontent.com/u/97007455?v=4"
        },
        {
          "type": "User",
          "login": "w940853815",
          "commits": 446,
          "avatar_url": "https://avatars.githubusercontent.com/u/17764568?v=4"
        },
        {
          "type": "User",
          "login": "jym503558564",
          "commits": 276,
          "avatar_url": "https://avatars.githubusercontent.com/u/40739051?v=4"
        },
        {
          "type": "User",
          "login": "fit2bot",
          "commits": 254,
          "avatar_url": "https://avatars.githubusercontent.com/u/68588906?v=4"
        },
        {
          "type": "User",
          "login": "PanJiaChen",
          "commits": 208,
          "avatar_url": "https://avatars.githubusercontent.com/u/8121621?v=4"
        },
        {
          "type": "User",
          "login": "LeeEirc",
          "commits": 160,
          "avatar_url": "https://avatars.githubusercontent.com/u/32626707?v=4"
        }
      ],
      "contributors_sampled": 40,
      "top_contributor_share": 0.299
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": false,
      "ci_workflows": [
        "build-base-image.yml",
        "jms-generic-action-handler.yml",
        "llm-code-review.yml",
        "llm-code-review.yml",
        "release-drafter.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": true,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "yarn.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 9,
            "reason": "26 out of 27 merged PRs checked by a CI test -- score normalized to 9",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 9,
            "reason": "Found 26/28 approved changesets -- score normalized to 9",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 8 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 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": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 9,
            "reason": "SAST tool is not run on all commits -- score normalized to 9",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "17 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "4dd25b387f51a9ace5c5a6f564311c6dc6b10b39",
        "ran_at": "2026-07-26T01:46:03Z",
        "aggregate_score": 5.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-24T09:57:40Z",
      "oldest_open_prs": [
        {
          "number": 5176,
          "created_at": "2025-09-05T09:37:44Z",
          "last_comment_at": "2025-09-05T09:42:44Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 5361,
          "created_at": "2026-04-13T05:42:47Z",
          "last_comment_at": "2026-04-13T05:43:57Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 5399,
          "created_at": "2026-06-06T10:56:57Z",
          "last_comment_at": "2026-06-08T06:44:10Z",
          "last_comment_author": "ZhaoJiSen"
        },
        {
          "number": 5402,
          "created_at": "2026-06-15T03:35:18Z",
          "last_comment_at": "2026-06-15T03:36:32Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 5428,
          "created_at": "2026-07-07T10:17:13Z",
          "last_comment_at": "2026-07-07T10:17:50Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 5467,
          "created_at": "2026-07-14T15:39:35Z",
          "last_comment_at": "2026-07-16T16:03:20Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 5509,
          "created_at": "2026-07-24T01:59:27Z",
          "last_comment_at": "2026-07-24T08:10:17Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 5510,
          "created_at": "2026-07-24T01:59:40Z",
          "last_comment_at": "2026-07-24T02:00:24Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 5511,
          "created_at": "2026-07-24T01:59:48Z",
          "last_comment_at": "2026-07-24T02:00:19Z",
          "last_comment_author": "sonarqubecloud"
        }
      ],
      "last_merged_pr_at": "2026-07-24T09:57:27Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/jumpserver/lina",
    "host": "github.com",
    "name": "lina",
    "owner": "jumpserver"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 69,
      "inputs": {
        "security": 60,
        "vitality": 94,
        "community": 56,
        "governance": 80,
        "engineering": 49
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 94,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 97,
            "inputs": {
              "commits_last_year": 546,
              "human_commit_share": 0.99,
              "days_since_last_push": 1,
              "active_weeks_last_year": 48
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "48/52 weeks with commits",
                "points": 33.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 48
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "546 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 546
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 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": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v3.10.22",
              "releases_from_tags": false,
              "days_since_latest_release": 1,
              "mean_days_between_releases": 30.7
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~30.7 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 30.7
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 1,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 1 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 56,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 62,
            "inputs": {
              "forks": 147,
              "stars": 233,
              "watchers": 13,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "233 stars",
                "points": 38.4,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 233
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "147 forks",
                "points": 18,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 147
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "13 watchers",
                "points": 6,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 13
                    }
                  }
                ],
                "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 (GPL-3.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "GPL-3.0"
                    }
                  }
                ],
                "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
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 80,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "good",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "bus_factor": 3,
              "contributors_sampled": 40,
              "top_contributor_share": 0.299
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "3 contributor(s) cover half of all commits",
                "points": 36,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 30% of commits",
                "points": 15.8,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 30
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "40 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 40
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 8 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 91,
            "inputs": {
              "merged_prs": 4946,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 509
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "4946/5455 decided PRs merged",
                "points": 34.7,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 4946,
                      "decided": 5455
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 26/28 approved changesets -- score normalized to 9",
                "points": 13.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "followers": 733,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "jumpserver",
              "public_repos": 46,
              "account_age_days": 4628
            },
            "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": "733 followers of jumpserver",
                "points": 20.6,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 733,
                      "login": "jumpserver"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "46 public repos, account ~12 yr old",
                "points": 24.2,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 46
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 12
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "at_risk",
        "name": "Engineering Quality",
        "value": 49,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "at_risk",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 48,
            "inputs": {
              "has_ci": true,
              "has_tests": false,
              "has_editorconfig": true,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "5 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "26 out of 27 merged PRs checked by a CI test -- score normalized to 9",
                "points": 18,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "topics": [
                "vue",
                "element-ui",
                "jumpserver"
              ],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "3 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "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": 60,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 57,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 5.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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "26 out of 27 merged PRs checked by a CI test -- score normalized to 9",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 26/28 approved changesets -- score normalized to 9",
                "points": 6.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 8 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 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 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 9",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "17 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Matched the npm:lina@0.0.1 runtime dependency closure — what installing the published package pulls in — 3 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:lina@0.0.1",
                  "assessed": 3
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 72,
            "inputs": {
              "source": "osv",
              "advisories": 2,
              "affected_packages": 1,
              "assessed_packages": 3,
              "unassessed_packages": 0,
              "affected_by_severity": "critical 1",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "1 affected: minimist 0.0.10 (critical 9.8)",
                "points": 5.4,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "minimist 0.0.10 (critical 9.8)"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 2304 days ago",
                "points": 32.1,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 1,
                      "oldest": 2304
                    }
                  }
                ],
                "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": 3,
              "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": 7
            },
            "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": 53,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.919,
              "agent_instruction_files": [
                "AGENTS.md",
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 6555
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md, CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md, CLAUDE.md"
                    }
                  }
                ],
                "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": "91 of 99 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 91,
                      "sampled": 99
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "critical",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 28,
            "inputs": {
              "has_nix": false,
              "has_tests": false,
              "lockfiles": [
                "yarn.lock"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0.09,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.01
            },
            "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": 0,
                "status": "missed",
                "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "9 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 9,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "1 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "Vue",
              "largest_source_bytes": 18971,
              "source_files_sampled": 170,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Vue without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Vue"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/170 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 170,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "npm package 'lina' points at a different repository (https://github.com/JacksonTian/lina); excluded from ecosystem scoring"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-26T01:46:31.270851Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/j/jumpserver/lina.svg",
  "full_name": "jumpserver/lina",
  "license_state": "standard",
  "license_spdx": "GPL-3.0"
}

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

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

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