Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-24 06:04 UTC

MemTensor / MemOS

Self-evolving memory OS for LLM & AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with 35.24% token savings

TypeScript · PythonApache-2.0★ 10,355 stars⑂ 945 forkssince Jul 2025View on GitHub ↗

MemTensor/MemOS holds a health index of 81 out of 100, placing it in the Good band. It scores highest on Vitality (99/100) and lowest on Security (44/100). It was last updated today. 4 contributors account for most of its recent work.

81
overall / 100
Good

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.

81
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

OpenMemOrganization
204 followers24 public repossince May 2025

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

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publishTags
PyPIMemoryOS2.0.24-344 days agomemoryllmlanguage-modelmemoryosagentkv-cachelora

Metrics by category

Vitality

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

99Excellent · 22% of overall
How it's scored
36/36Push recency — last push 0 days ago
33.9/36Commit cadence — 49/52 weeks with commits
18/18Commit volume — 1,870 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 26 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year1,870
human_commit_share0.99
days_since_last_push0
active_weeks_last_year49

Release discipline

100Excellent
How it's scored
27/27Ships releases — 35 releases published
36/36Release recency — latest release 4 days ago
27/27Release cadence — a release every ~9.7 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count35
latest_release_tagv2.0.24
releases_from_tagsno
days_since_latest_release4
mean_days_between_releases9.7
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.

Community & Adoption

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

86Excellent · 18% of overall
How it's scored
60/60Stars — 10,355 stars
24.8/25Forks — 945 forks
9.1/15Watchers — 44 watchers
Inputs used
forks945
stars10,355
watchers44
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (Apache-2.0)
18/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
6.3/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingyes
has_issue_templateno
has_code_of_conductno
has_pull_request_templateyes

Sustainability & Governance

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

81Good · 24% of overall
How it's scored
43.2/54Bus factor — 4 contributor(s) cover half of all commits
19.3/22.5Commit distribution — top contributor authored 14% of commits
13.5/13.5Contributor breadth — 79 contributors
10/10OpenSSF Scorecard: Contributors — project has 12 contributing companies or organizations
Inputs used
bus_factor4
contributors_sampled79
top_contributor_share0.142
How it's scored
41.5/46.8Issue resolution — 89% of issues closed
29.3/38.3PR acceptance — 1,207/1,578 decided PRs merged
9/15OpenSSF Scorecard: Code-Review — Found 14/21 approved changesets -- score normalized to 6
Inputs used
merged_prs1,207
open_issues50
closed_issues391
issue_closed_ratio0.887
closed_unmerged_prs371
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
16.6/25Owner reach — 204 followers of MemTensor
12.6/25Track record — 24 public repos, account ~1 yr old
Inputs used
followers204
owner_typeOrganization
is_verified
owner_loginMemTensor
public_repos24
account_age_days446
How it's scored
25/25Published & resolvable — 1 package(s) on pypi
35/35Publish recency — latest publish 4 days ago
20/20Version history — 34 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesMemoryOS
ecosystemspypi
any_deprecatedno
min_days_since_publish4

Engineering Quality

Are baseline engineering and documentation practices in place?

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

Documentation

90Excellent
How it's scored
30/30README
25/25Documentation directory
15/15Documentation / homepage site — https://memos.openmem.net
10/10Repository description
10/10Topics — 20 topics
0/10Wiki
Inputs used
topicsagent, llm, memory, long-term-memory, memory-management, rag, skills, openclaw, agentic-ai, ai, ai-agents, chatgpt, claude, hermes, multi-agent, python, self-evolving, self-hosted, token-savings, mcp
has_wikino
homepagehttps://memos.openmem.net
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

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

44At risk · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
3.8/7.5Branch-Protection — branch protection is not maximal on development and all release branches
1.5/2.5CI-Tests — 12 out of 20 merged PRs checked by a CI test -- score normalized to 6
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
4.5/7.5Code-Review — Found 14/21 approved changesets -- score normalized to 6
2.5/2.5Contributors — project has 12 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 30 commit(s) and 26 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — no data
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 172 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate4.6
Excluded from scoring (no data or not applicable): signed_releases. Remaining weights renormalized.
How it's scored
5.6/35Direct dependencies free of known advisories — 2 affected: fastmcp 2.14.7 (critical 10.0), transformers 4.57.6 (critical 9.6)
8/25Indirect dependencies free of known advisories — 3 affected: mcp 1.27.2 (high), starlette 0.46.2 (high 7.5), diskcache 5.6.3 (moderate)
22.8/40No advisories left outstanding — 4 advisory-carrying package(s) unaddressed past 90 days; oldest published 367 days ago
Inputs used
sourceosv
advisories31
affected_packages5
assessed_packages127
unassessed_packages0
affected_by_severitycritical 2, high 2, moderate 1
direct_affected_packages2
Matched the pypi:MemoryOS@2.0.24 runtime dependency closure — what installing the published package pulls in — 127 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.

82Good · 0% of overall
How it's scored
45/45Agent instructions — AGENTS.md, CLAUDE.md, apps/openwork-memos-integration/CLAUDE.md
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 93 of 99 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.939
agent_instruction_filesAGENTS.md, CLAUDE.md, apps/openwork-memos-integration/CLAUDE.md
agent_instruction_max_bytes10,155
How it's scored
18/18One-command bootstrap — Makefile
22/22Automated tests
11/11Lint / format config — .eslintrc.json
11/11Static type checking — apps/memos-local-openclaw/tsconfig.json, apps/memos-local-plugin/tsconfig.json, apps/openwork-memos-integration/apps/desktop/skills/ask-user-question/tsconfig.json, apps/openwork-memos-integration/apps/desktop/skills/dev-browser/tsconfig.json, apps/openwork-memos-integration/apps/desktop/skills/file-permission/tsconfig.json, apps/openwork-memos-integration/apps/desktop/tsconfig.json, apps/openwork-memos-integration/packages/shared/tsconfig.json
10/10Reproducible environment — Dockerfile, lockfile
10/10Demonstrated agent practice — 8 of the last 100 commits agent-authored or agent-credited
0/8Automated maintenance — no automated dependency updates observed
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Inputs used
has_nixno
has_testsyes
lockfilespackage-lock.json, pnpm-lock.yaml, poetry.lock, uv.lock
has_dockerfileyes
typed_languageyes
bootstrap_filesMakefile
has_devcontainerno
has_linter_configyes
typecheck_configsapps/memos-local-openclaw/tsconfig.json, apps/memos-local-plugin/tsconfig.json, apps/openwork-memos-integration/apps/desktop/skills/ask-user-question/tsconfig.json, apps/openwork-memos-integration/apps/desktop/skills/dev-browser/tsconfig.json, apps/openwork-memos-integration/apps/desktop/skills/file-permission/tsconfig.json, apps/openwork-memos-integration/apps/desktop/tsconfig.json, apps/openwork-memos-integration/packages/shared/tsconfig.json
agent_commit_share0.08
toolchain_manifests
dependency_bot_commit_share0
How it's scored
45/45Type-checkable code — TypeScript (statically typed)
54.2/55Manageable file sizes — 21/1,404 source files over 60KB
Inputs used
primary_languageTypeScript
largest_source_bytes658,395
source_files_sampled1,404
oversized_source_files21
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
20/20MCP server
40/40Runnable examples — examples
Inputs used
example_dirsexamples
has_mcp_signalyes
api_schema_files

Key facts

10,355GitHub stars
79contributors
1,870commits, last 12 months
0days since last push
35releases
4bus factor
50open issues
PyPIpackage ecosystems

Data collection warnings

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

More detail

Star and fork history 0 ★ / 945 ⇿
0Stars
945Forks
35Releases

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.

02004006008001,000940302025-072026-012026-07
Major 2Minor 2Patch 30
OpenSSF Scorecard 4.6 / 10
4.6aggregate

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-24 06:03 UTC

10Binary-Artifactsno binaries found in the repo
5Branch-Protectionbranch protection is not maximal on development and all release branches
6CI-Tests12 out of 20 merged PRs checked by a CI test -- score normalized to 6
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
6Code-ReviewFound 14/21 approved changesets -- score normalized to 6
10Contributorsproject has 12 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 26 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities172 existing vulnerabilities detected
Direct dependencies 12
RegistryPackageVersion constraintManifest
PyPIopenai(>=1.77.0,<2.0.0)pyproject.toml
PyPIollama(>=0.5.0,<0.5.1)pyproject.toml
PyPItransformers(>=4.51.3,<5.0.0)pyproject.toml
PyPItenacity(>=9.1.2,<10.0.0)pyproject.toml
PyPIfastapi(>=0.115.12,<0.116.0)pyproject.toml
PyPIsqlalchemy(>=2.0.41,<3.0.0)pyproject.toml
PyPIpymysql(>=1.1.0,<2.0.0)pyproject.toml
PyPIscikit-learn(>=1.7.0,<2.0.0)pyproject.toml
PyPIfastmcp(>=2.10.5,<3.0.0)pyproject.toml
PyPIpython-dateutil(>=2.9.0.post0,<3.0.0)pyproject.toml
PyPIprometheus-client(>=0.23.1,<0.24.0)pyproject.toml
PyPIconcurrent-log-handler(>=0.9.28,<1.0.0)pyproject.toml
All dependencies 869

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

RegistryPackageVersionRelation
PyPIconcurrent-log-handler0.9.28direct
PyPIconcurrent-log-handler0.9.29direct
PyPIfastapi0.115.14direct
PyPIfastmcp2.10.5direct
PyPIfastmcp2.13.0.2direct
PyPIfastmcp2.14.7direct
PyPIollama0.5.0direct
PyPIopenai1.109.1direct
PyPIopenai1.97.0direct
PyPIprometheus-client0.23.1direct
PyPIpymysql1.1.2direct
PyPIpython-dateutil2.9.0.post0direct
PyPIscikit-learn1.7.0direct
PyPIscikit-learn1.7.2direct
PyPIscikit-learn1.8.0direct
PyPIsqlalchemy2.0.41direct
PyPIsqlalchemy2.0.44direct
PyPIsqlalchemy2.0.49direct
PyPItenacity9.1.2direct
PyPItenacity9.1.4direct
PyPItransformers4.53.2direct
PyPItransformers4.57.1direct
PyPItransformers4.57.6direct
npm@aws-sdk/client-bedrock^3.971.0indirect
npm@aws-sdk/credential-providers^3.971.0indirect
npm@babel/code-frame7.29.0indirect
npm@babel/compat-data7.29.0indirect
npm@babel/core7.29.0indirect
npm@babel/generator7.29.1indirect
npm@babel/helper-annotate-as-pure7.27.3indirect
npm@babel/helper-compilation-targets7.28.6indirect
npm@babel/helper-globals7.28.0indirect
npm@babel/helper-module-imports7.28.6indirect
npm@babel/helper-module-transforms7.28.6indirect
npm@babel/helper-plugin-utils7.28.6indirect
npm@babel/helper-string-parser7.27.1indirect
npm@babel/helper-validator-identifier7.28.5indirect
npm@babel/helper-validator-option7.27.1indirect
npm@babel/helpers7.29.2indirect
npm@babel/parser7.29.2indirect
npm@babel/plugin-syntax-jsx7.28.6indirect
npm@babel/plugin-transform-react-jsx7.28.6indirect
npm@babel/plugin-transform-react-jsx-development7.27.1indirect
npm@babel/template7.28.6indirect
npm@babel/traverse7.29.0indirect
npm@babel/types7.29.0indirect
npm@electron/rebuild^4.0.2indirect
npm@emnapi/runtime1.10.0indirect
npm@esbuild/aix-ppc640.21.5indirect
npm@esbuild/aix-ppc640.27.7indirect
npm@esbuild/android-arm0.21.5indirect
npm@esbuild/android-arm0.27.7indirect
npm@esbuild/android-arm640.21.5indirect
npm@esbuild/android-arm640.27.7indirect
npm@esbuild/android-x640.21.5indirect
npm@esbuild/android-x640.27.7indirect
npm@esbuild/darwin-arm640.21.5indirect
npm@esbuild/darwin-arm640.27.7indirect
npm@esbuild/darwin-x640.21.5indirect
npm@esbuild/darwin-x640.27.7indirect
npm@esbuild/freebsd-arm640.21.5indirect
npm@esbuild/freebsd-arm640.27.7indirect
npm@esbuild/freebsd-x640.21.5indirect
npm@esbuild/freebsd-x640.27.7indirect
npm@esbuild/linux-arm0.21.5indirect
npm@esbuild/linux-arm0.27.7indirect
npm@esbuild/linux-arm640.21.5indirect
npm@esbuild/linux-arm640.27.7indirect
npm@esbuild/linux-ia320.21.5indirect
npm@esbuild/linux-ia320.27.7indirect
npm@esbuild/linux-loong640.21.5indirect
npm@esbuild/linux-loong640.27.7indirect
npm@esbuild/linux-mips64el0.21.5indirect
npm@esbuild/linux-mips64el0.27.7indirect
npm@esbuild/linux-ppc640.21.5indirect
npm@esbuild/linux-ppc640.27.7indirect
npm@esbuild/linux-riscv640.21.5indirect
npm@esbuild/linux-riscv640.27.7indirect
npm@esbuild/linux-s390x0.21.5indirect
npm@esbuild/linux-s390x0.27.7indirect
npm@esbuild/linux-x640.21.5indirect
npm@esbuild/linux-x640.27.7indirect
npm@esbuild/netbsd-arm640.27.7indirect
npm@esbuild/netbsd-x640.21.5indirect
npm@esbuild/netbsd-x640.27.7indirect
npm@esbuild/openbsd-arm640.27.7indirect
npm@esbuild/openbsd-x640.21.5indirect
npm@esbuild/openbsd-x640.27.7indirect
npm@esbuild/openharmony-arm640.27.7indirect
npm@esbuild/sunos-x640.21.5indirect
npm@esbuild/sunos-x640.27.7indirect
npm@esbuild/win32-arm640.21.5indirect
npm@esbuild/win32-arm640.27.7indirect
npm@esbuild/win32-ia320.21.5indirect
npm@esbuild/win32-ia320.27.7indirect
npm@esbuild/win32-x640.21.5indirect
npm@esbuild/win32-x640.27.7indirect
npm@hono/node-server^1.19.7indirect
npm@hono/node-ws^1.2.0indirect
npm@huggingface/jinja0.5.7indirect
npm@huggingface/transformers3.8.1indirect
npm@huggingface/transformers^3.8.0indirect
npm@img/colour1.1.0indirect
npm@img/sharp-darwin-arm640.34.5indirect
npm@img/sharp-darwin-x640.34.5indirect
npm@img/sharp-libvips-darwin-arm641.2.4indirect
npm@img/sharp-libvips-darwin-x641.2.4indirect
npm@img/sharp-libvips-linux-arm1.2.4indirect
npm@img/sharp-libvips-linux-arm641.2.4indirect
npm@img/sharp-libvips-linux-ppc641.2.4indirect
npm@img/sharp-libvips-linux-riscv641.2.4indirect
npm@img/sharp-libvips-linux-s390x1.2.4indirect
npm@img/sharp-libvips-linux-x641.2.4indirect
npm@img/sharp-libvips-linuxmusl-arm641.2.4indirect
npm@img/sharp-libvips-linuxmusl-x641.2.4indirect
npm@img/sharp-linux-arm0.34.5indirect
npm@img/sharp-linux-arm640.34.5indirect
npm@img/sharp-linux-ppc640.34.5indirect
npm@img/sharp-linux-riscv640.34.5indirect
npm@img/sharp-linux-s390x0.34.5indirect
npm@img/sharp-linux-x640.34.5indirect
npm@img/sharp-linuxmusl-arm640.34.5indirect
npm@img/sharp-linuxmusl-x640.34.5indirect
npm@img/sharp-wasm320.34.5indirect
npm@img/sharp-win32-arm640.34.5indirect
npm@img/sharp-win32-ia320.34.5indirect
npm@img/sharp-win32-x640.34.5indirect
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@modelcontextprotocol/sdk^1.0.0indirect
npm@playwright/test^1.57.0indirect
npm@preact/preset-vite2.10.5indirect
npm@preact/signals2.9.0indirect
npm@preact/signals-core1.14.1indirect
npm@prefresh/babel-plugin0.5.3indirect
npm@prefresh/core1.5.9indirect
npm@prefresh/utils1.2.1indirect
npm@prefresh/vite2.4.12indirect
npm@protobufjs/aspromise1.1.2indirect
npm@protobufjs/base641.1.2indirect
npm@protobufjs/codegen2.0.4indirect
npm@protobufjs/eventemitter1.1.0indirect
npm@protobufjs/fetch1.1.0indirect
npm@protobufjs/float1.0.2indirect
npm@protobufjs/inquire1.1.0indirect
npm@protobufjs/path1.1.2indirect
npm@protobufjs/pool1.1.0indirect
npm@protobufjs/utf81.1.0indirect
npm@radix-ui/react-avatar^1.1.2indirect
npm@radix-ui/react-dialog^1.1.4indirect
npm@radix-ui/react-dropdown-menu^2.1.4indirect
npm@radix-ui/react-label^2.1.1indirect
npm@radix-ui/react-popover^1.1.4indirect
npm@radix-ui/react-select^2.1.4indirect
npm@radix-ui/react-separator^1.1.1indirect
npm@radix-ui/react-slot^1.1.1indirect
npm@radix-ui/react-tooltip^1.1.6indirect
npm@rollup/pluginutils4.2.1indirect
npm@rollup/pluginutils5.3.0indirect
npm@rollup/rollup-android-arm-eabi4.60.1indirect
npm@rollup/rollup-android-arm-eabi4.60.2indirect
npm@rollup/rollup-android-arm644.60.1indirect
npm@rollup/rollup-android-arm644.60.2indirect
npm@rollup/rollup-darwin-arm644.60.1indirect
npm@rollup/rollup-darwin-arm644.60.2indirect
npm@rollup/rollup-darwin-x644.60.1indirect
npm@rollup/rollup-darwin-x644.60.2indirect
npm@rollup/rollup-freebsd-arm644.60.1indirect
npm@rollup/rollup-freebsd-arm644.60.2indirect
npm@rollup/rollup-freebsd-x644.60.1indirect
npm@rollup/rollup-freebsd-x644.60.2indirect
npm@rollup/rollup-linux-arm-gnueabihf4.60.1indirect
npm@rollup/rollup-linux-arm-gnueabihf4.60.2indirect
npm@rollup/rollup-linux-arm-musleabihf4.60.1indirect
npm@rollup/rollup-linux-arm-musleabihf4.60.2indirect
npm@rollup/rollup-linux-arm64-gnu4.60.1indirect
npm@rollup/rollup-linux-arm64-gnu4.60.2indirect
npm@rollup/rollup-linux-arm64-musl4.60.1indirect
npm@rollup/rollup-linux-arm64-musl4.60.2indirect
npm@rollup/rollup-linux-loong64-gnu4.60.1indirect
npm@rollup/rollup-linux-loong64-gnu4.60.2indirect
npm@rollup/rollup-linux-loong64-musl4.60.1indirect
npm@rollup/rollup-linux-loong64-musl4.60.2indirect
npm@rollup/rollup-linux-ppc64-gnu4.60.1indirect
npm@rollup/rollup-linux-ppc64-gnu4.60.2indirect
npm@rollup/rollup-linux-ppc64-musl4.60.1indirect
npm@rollup/rollup-linux-ppc64-musl4.60.2indirect
npm@rollup/rollup-linux-riscv64-gnu4.60.1indirect
npm@rollup/rollup-linux-riscv64-gnu4.60.2indirect
npm@rollup/rollup-linux-riscv64-musl4.60.1indirect
npm@rollup/rollup-linux-riscv64-musl4.60.2indirect
npm@rollup/rollup-linux-s390x-gnu4.60.1indirect
npm@rollup/rollup-linux-s390x-gnu4.60.2indirect
npm@rollup/rollup-linux-x64-gnu4.60.1indirect
npm@rollup/rollup-linux-x64-gnu4.60.2indirect
npm@rollup/rollup-linux-x64-gnu^4.0.0indirect
npm@rollup/rollup-linux-x64-musl4.60.1indirect
npm@rollup/rollup-linux-x64-musl4.60.2indirect
npm@rollup/rollup-openbsd-x644.60.1indirect
npm@rollup/rollup-openbsd-x644.60.2indirect
npm@rollup/rollup-openharmony-arm644.60.1indirect
npm@rollup/rollup-openharmony-arm644.60.2indirect
npm@rollup/rollup-win32-arm64-msvc4.60.1indirect
npm@rollup/rollup-win32-arm64-msvc4.60.2indirect
npm@rollup/rollup-win32-ia32-msvc4.60.1indirect
npm@rollup/rollup-win32-ia32-msvc4.60.2indirect
npm@rollup/rollup-win32-x64-gnu4.60.1indirect
npm@rollup/rollup-win32-x64-gnu4.60.2indirect
npm@rollup/rollup-win32-x64-msvc4.60.1indirect
npm@rollup/rollup-win32-x64-msvc4.60.2indirect
npm@sinclair/typebox0.34.49indirect
npm@sinclair/typebox^0.34.48indirect
npm@tailwindcss/typography^0.5.15indirect
npm@testing-library/dom^10.4.1indirect
npm@testing-library/jest-dom6.6.3indirect
npm@testing-library/react^16.3.1indirect
npm@types/better-sqlite37.6.13indirect
npm@types/better-sqlite3^7.6.12indirect
npm@types/estree1.0.8indirect
npm@types/express^5.0.0indirect
npm@types/node22.19.17indirect
npm@types/node^22.10.0indirect
npm@types/node^22.10.2indirect
npm@types/react^19.0.2indirect
npm@types/react-dom^19.0.2indirect
npm@types/semver^7.7.1indirect
npm@types/uuid10.0.0indirect
npm@types/uuid^10.0.0indirect
npm@vitejs/plugin-react^4.3.4indirect
npm@vitest/coverage-v8^4.0.17indirect
npm@vitest/expect2.1.9indirect
npm@vitest/mocker2.1.9indirect
npm@vitest/pretty-format2.1.9indirect
npm@vitest/runner2.1.9indirect
npm@vitest/snapshot2.1.9indirect
npm@vitest/spy2.1.9indirect
npm@vitest/utils2.1.9indirect
npmassertion-error2.0.1indirect
npmautoprefixer^10.4.20indirect
npmbabel-plugin-transform-hook-names1.0.2indirect
npmbase64-js1.5.1indirect
npmbaseline-browser-mapping2.10.19indirect
npmbaseline-browser-mapping2.10.20indirect
npmbetter-sqlite312.10.0indirect
npmbetter-sqlite312.9.0indirect
npmbetter-sqlite3^12.10.0indirect
npmbindings1.5.0indirect
npmbl4.1.0indirect
npmboolbase1.0.0indirect
npmboolean3.2.0indirect
npmbrowserslist4.28.2indirect
npmbuffer5.7.1indirect
npmcac6.7.14indirect
npmcaniuse-lite1.0.30001788indirect
npmchai5.3.3indirect
npmcheck-error2.1.3indirect
npmchownr1.1.4indirect
npmchownr3.0.0indirect
npmclass-variance-authority^0.7.1indirect
npmclsx^2.1.1indirect
npmconvert-source-map2.0.0indirect
npmcss-select5.2.2indirect
npmcss-what6.2.2indirect
npmdebug4.4.3indirect
npmdecompress-response6.0.0indirect
npmdeep-eql5.0.2indirect
npmdeep-extend0.6.0indirect
npmdefine-data-property1.1.4indirect
npmdefine-properties1.2.1indirect
npmdetect-libc2.1.2indirect
npmdetect-node2.1.0indirect
npmdom-serializer2.0.0indirect
npmdomelementtype2.3.0indirect
npmdomhandler5.0.3indirect
npmdomutils3.2.2indirect
npmdotenv^17.2.3indirect
npmelectron^35.2.1indirect
npmelectron-builder^25.1.8indirect
npmelectron-store^8.2.0indirect
npmelectron-to-chromium1.5.340indirect
npmelectron-to-chromium1.5.343indirect
npmend-of-stream1.4.5indirect
npmentities4.5.0indirect
npmes-define-property1.0.1indirect
npmes-errors1.3.0indirect
npmes-module-lexer1.7.0indirect
npmes6-error4.1.1indirect
npmesbuild0.21.5indirect
npmesbuild0.27.7indirect
npmescalade3.2.0indirect
npmescape-string-regexp4.0.0indirect
npmestree-walker2.0.2indirect
npmestree-walker3.0.3indirect
npmexpand-template2.0.3indirect
npmexpect-type1.3.0indirect
npmexpress^4.21.0indirect
npmfile-uri-to-path1.0.0indirect
npmflatbuffers25.9.23indirect
npmframer-motion^12.26.2indirect
npmfs-constants1.0.0indirect
npmfsevents2.3.3indirect
npmgensync1.0.0-beta.2indirect
npmget-tsconfig4.14.0indirect
npmgithub-from-package0.0.0indirect
npmglobal-agent3.0.0indirect
npmglobalthis1.0.4indirect
npmgopd1.2.0indirect
npmguid-typescript1.0.9indirect
npmhappy-dom^20.1.0indirect
npmhas-property-descriptors1.0.2indirect
npmhe1.2.0indirect
npmhono^4.11.1indirect
npmieee7541.2.1indirect
npminherits2.0.4indirect
npmini1.3.8indirect
npmjs-tokens4.0.0indirect
npmjsdom^27.4.0indirect
npmjsesc3.1.0indirect
npmjson-stringify-safe5.0.1indirect
npmjson52.2.3indirect
npmkolorist1.8.0indirect
npmlong5.3.2indirect
npmloupe3.2.1indirect
npmlru-cache5.1.1indirect
npmlucide-react^0.454.0indirect
npmmagic-string0.30.21indirect
npmmatcher3.0.0indirect
npmmimic-response3.1.0indirect
npmminimist1.2.8indirect
npmminipass7.1.3indirect
npmminizlib3.1.0indirect
npmmkdirp-classic0.5.3indirect
npmms2.1.3indirect
npmnanoid3.3.11indirect
npmnapi-build-utils2.0.0indirect
npmnext^15.1.3indirect
npmnode-abi3.89.0indirect
npmnode-html-parser6.1.13indirect
npmnode-pty^1.1.0indirect
npmnode-releases2.0.37indirect
npmnode-releases2.0.38indirect
npmnth-check2.1.1indirect
npmobject-keys1.1.1indirect
npmonce1.4.0indirect
npmonnxruntime-common1.21.0indirect
npmonnxruntime-common1.22.0-dev.20250409-89f8206ba4indirect
npmonnxruntime-node1.21.0indirect
npmonnxruntime-web1.22.0-dev.20250409-89f8206ba4indirect
npmopencode-ai1.1.16indirect
npmpathe1.1.2indirect
npmpathval2.0.1indirect
npmpicocolors1.1.1indirect
npmpicomatch2.3.2indirect
npmpicomatch4.0.4indirect
npmplatform1.3.6indirect
npmpostcss8.5.10indirect
npmpostcss^8.4.49indirect
npmposthog-node^5.28.0indirect
npmpreact10.29.1indirect
npmprebuild-install7.1.3indirect
npmprotobufjs7.5.5indirect
npmpump3.0.4indirect
npmpuppeteer^24.38.0indirect
npmrc1.2.8indirect
npmreact^19.0.0indirect
npmreact-dom^19.0.0indirect
npmreact-markdown^9.0.1indirect
npmreact-router-dom^7.1.1indirect
npmreadable-stream3.6.2indirect
npmrebrowser-playwright^1.52.0indirect
npmresolve-pkg-maps1.0.0indirect
npmroarr2.15.4indirect
npmrollup4.60.1indirect
npmrollup4.60.2indirect
npmsafe-buffer5.2.1indirect
npmsemver6.3.1indirect
npmsemver7.7.4indirect
npmsemver^7.7.4indirect
npmsemver-compare1.0.0indirect
npmserialize-error7.0.1indirect
npmsharp0.34.5indirect
npmsiginfo2.0.0indirect
npmsimple-code-frame1.3.0indirect
npmsimple-concat1.0.1indirect
npmsimple-get4.0.1indirect
npmsource-map0.7.6indirect
npmsource-map-js1.2.1indirect
npmsprintf-js1.1.3indirect
npmstack-trace1.0.0-pre2indirect
npmstackback0.0.2indirect
npmstd-env3.10.0indirect
npmstring_decoder1.3.0indirect
npmstrip-json-comments2.0.1indirect
npmtailwind-merge^3.3.1indirect
npmtailwindcss^3.4.17indirect
npmtailwindcss-animate^1.0.7indirect
npmtar7.5.13indirect
npmtar-fs2.1.4indirect
npmtar-stream2.2.0indirect
npmtinybench2.9.0indirect
npmtinyexec0.3.2indirect
npmtinypool1.1.1indirect
npmtinyrainbow1.2.0indirect
npmtinyspy3.0.2indirect
npmtslib2.8.1indirect
npmtsx4.21.0indirect
npmtsx^4.21.0indirect
npmtunnel-agent0.6.0indirect
npmtype-fest0.13.1indirect
npmtypescript5.9.3indirect
npmtypescript^5.0.0indirect
npmtypescript^5.7.0indirect
npmtypescript^5.7.2indirect
npmundici-types6.21.0indirect
npmupdate-browserslist-db1.2.3indirect
npmutil-deprecate1.0.2indirect
npmuuid10.0.0indirect
npmuuid^10.0.0indirect
npmvite5.4.21indirect
npmvite^6.0.6indirect
npmvite-node2.1.9indirect
npmvite-plugin-electron^0.28.8indirect
npmvite-prerender-plugin0.5.13indirect
npmvitest2.1.9indirect
npmvitest^2.1.0indirect
npmvitest^4.0.17indirect
npmwhy-is-node-running2.3.0indirect
npmwrappy1.0.2indirect
npmyallist3.1.1indirect
npmyallist5.0.0indirect
npmyaml2.8.3indirect
npmzimmerframe1.1.4indirect
npmzod^3.24.1indirect
npmzustand^5.0.2indirect
PyPIabsl-py2.3.1indirect
PyPIalibabacloud-oss-v21.2.2indirect
PyPIannotated-doc0.0.4indirect
PyPIannotated-types0.7.0indirect
PyPIanyio4.11.0indirect
PyPIanyio4.13.0indirect
PyPIanyio4.9.0indirect
PyPIasync-timeout5.0.1indirect
PyPIattrs25.3.0indirect
PyPIattrs25.4.0indirect
PyPIattrs26.1.0indirect
PyPIauthlib1.6.0indirect
PyPIauthlib1.6.5indirect
PyPIauthlib1.7.0indirect
PyPIbackoff2.2.1indirect
PyPIbackports-tarfile1.2.0indirect
PyPIbeartype0.22.5indirect
PyPIbeartype0.22.9indirect
PyPIbeautifulsoup44.13.4indirect
PyPIbeautifulsoup44.14.3indirect
PyPIbert-score0.3.13indirect
PyPIcachetools6.2.1indirect
PyPIcachetools6.2.2indirect
PyPIcachetools7.0.6indirect
PyPIcertifi2025.11.12indirect
PyPIcertifi2025.7.14indirect
PyPIcertifi2026.2.25indirect
PyPIcffi1.17.1indirect
PyPIcffi2.0.0indirect
PyPIcfgv3.4.0indirect
PyPIcharset-normalizer3.4.2indirect
PyPIcharset-normalizer3.4.4indirect
PyPIcharset-normalizer3.4.7indirect
PyPIchonkie1.1.0indirect
PyPIchonkie1.1.1indirect
PyPIchonkie1.6.4indirect
PyPIchonkie-core0.10.1indirect
PyPIclick8.2.1indirect
PyPIclick8.3.0indirect
PyPIclick8.3.2indirect
PyPIcloudpickle3.1.2indirect
PyPIcobble0.1.4indirect
PyPIcolorama0.4.6indirect
PyPIcoloredlogs15.0.1indirect
PyPIcontourpy1.3.2indirect
PyPIcoverage7.13.5indirect
PyPIcrcmod-plus2.3.1indirect
PyPIcronsim2.7indirect
PyPIcryptography45.0.5indirect
PyPIcryptography46.0.3indirect
PyPIcryptography46.0.7indirect
PyPIcuda-bindings13.2.0indirect
PyPIcuda-pathfinder1.5.3indirect
PyPIcuda-toolkit13.0.2indirect
PyPIcycler0.12.1indirect
PyPIcyclopts3.22.2indirect
PyPIcyclopts4.10.2indirect
PyPIcyclopts4.2.3indirect
PyPIdatasketch1.10.0indirect
PyPIdatasketch1.6.5indirect
PyPIdefusedxml0.7.1indirect
PyPIdiskcache5.6.3indirect
PyPIdistlib0.4.0indirect
PyPIdistro1.9.0indirect
PyPIdnspython2.7.0indirect
PyPIdnspython2.8.0indirect
PyPIdocstring-parser0.16indirect
PyPIdocstring-parser0.17.0indirect
PyPIdocstring-parser0.18.0indirect
PyPIdocutils0.21.2indirect
PyPIdocutils0.22.3indirect
PyPIdocutils0.22.4indirect
PyPIdotenv0.9.9indirect
PyPIemail-validator2.2.0indirect
PyPIemail-validator2.3.0indirect
PyPIet-xmlfile2.0.0indirect
PyPIexceptiongroup1.3.0indirect
PyPIexceptiongroup1.3.1indirect
PyPIfakeredis2.34.1indirect
PyPIfastapi-cli0.0.16indirect
PyPIfastapi-cli0.0.24indirect
PyPIfastapi-cli0.0.8indirect
PyPIfastapi-cloud-cli0.1.4indirect
PyPIfastapi-cloud-cli0.17.0indirect
PyPIfastapi-cloud-cli0.3.1indirect
PyPIfastar0.11.0indirect
PyPIfilelock3.18.0indirect
PyPIfilelock3.20.0indirect
PyPIfilelock3.29.0indirect
PyPIflatbuffers25.12.19indirect
PyPIflatbuffers25.2.10indirect
PyPIfonttools4.59.0indirect
PyPIfsspec2025.10.0indirect
PyPIfsspec2025.7.0indirect
PyPIfsspec2026.3.0indirect
PyPIgreenlet3.2.3indirect
PyPIgreenlet3.4.0indirect
PyPIgrpcio1.73.1indirect
PyPIgrpcio1.76.0indirect
PyPIgrpcio1.80.0indirect
PyPIh110.16.0indirect
PyPIh24.2.0indirect
PyPIh24.3.0indirect
PyPIhf-xet1.1.5indirect
PyPIhf-xet1.2.0indirect
PyPIhf-xet1.4.3indirect
PyPIhpack4.1.0indirect
PyPIhttpcore1.0.9indirect
PyPIhttptools0.6.4indirect
PyPIhttptools0.7.1indirect
PyPIhttpx0.28.1indirect
PyPIhttpx-sse0.4.1indirect
PyPIhttpx-sse0.4.3indirect
PyPIhuggingface-hub0.33.4indirect
PyPIhuggingface-hub0.36.0indirect
PyPIhuggingface-hub0.36.2indirect
PyPIhumanfriendly10.0indirect
PyPIhyperframe6.1.0indirect
PyPIidentify2.6.12indirect
PyPIidna3.10indirect
PyPIidna3.11indirect
PyPIidna3.12indirect
PyPIimportlib-metadata8.7.1indirect
PyPIiniconfig2.1.0indirect
PyPIiniconfig2.3.0indirect
PyPIitsdangerous2.2.0indirect
PyPIjaraco-classes3.4.0indirect
PyPIjaraco-context6.0.1indirect
PyPIjaraco-context6.1.2indirect
PyPIjaraco-functools4.3.0indirect
PyPIjaraco-functools4.4.0indirect
PyPIjeepney0.9.0indirect
PyPIjieba0.42indirect
PyPIjinja23.1.6indirect
PyPIjiter0.10.0indirect
PyPIjiter0.12.0indirect
PyPIjiter0.14.0indirect
PyPIjoblib1.5.1indirect
PyPIjoblib1.5.2indirect
PyPIjoblib1.5.3indirect
PyPIjoserfc1.6.4indirect
PyPIjsonpatch1.33indirect
PyPIjsonpointer3.0.0indirect
PyPIjsonpointer3.1.1indirect
PyPIjsonref1.1.0indirect
PyPIjsonschema4.24.1indirect
PyPIjsonschema4.25.1indirect
PyPIjsonschema4.26.0indirect
PyPIjsonschema-path0.3.4indirect
PyPIjsonschema-path0.4.5indirect
PyPIjsonschema-specifications2025.4.1indirect
PyPIjsonschema-specifications2025.9.1indirect
PyPIkeyring25.6.0indirect
PyPIkeyring25.7.0indirect
PyPIkiwisolver1.4.8indirect
PyPIlangchain-core1.1.0indirect
PyPIlangchain-core1.3.0indirect
PyPIlangchain-text-splitters1.0.0indirect
PyPIlangchain-text-splitters1.1.2indirect
PyPIlanggraph0.5.3indirect
PyPIlanggraph-checkpoint2.1.1indirect
PyPIlanggraph-prebuilt0.5.2indirect
PyPIlanggraph-sdk0.1.73indirect
PyPIlangsmith0.4.7indirect
PyPIlangsmith0.7.33indirect
PyPIlupa2.8indirect
PyPIlxml6.0.0indirect
PyPIlxml6.1.0indirect
PyPImagika0.6.2indirect
PyPImagika0.6.3indirect
PyPImammoth1.11.0indirect
PyPImammoth1.9.1indirect
PyPImarkdown-it-py3.0.0indirect
PyPImarkdown-it-py4.0.0indirect
PyPImarkdownify1.1.0indirect
PyPImarkdownify1.2.2indirect
PyPImarkitdown0.1.2indirect
PyPImarkitdown0.1.5indirect
PyPImarkupsafe3.0.2indirect
PyPImarkupsafe3.0.3indirect
PyPImatplotlib3.10.3indirect
PyPImcp1.12.0indirect
PyPImcp1.21.1indirect
PyPImcp1.27.0indirect
PyPImdurl0.1.2indirect
PyPImem0ai0.1.114indirect
PyPImemoryos2.0.14indirect
PyPImore-itertools10.8.0indirect
PyPImore-itertools11.0.2indirect
PyPImpmath1.3.0indirect
PyPIneo4j5.28.1indirect
PyPIneo4j5.28.3indirect
PyPInetworkx3.4.2indirect
PyPInetworkx3.5indirect
PyPInetworkx3.6.1indirect
PyPInltk3.9.1indirect
PyPInltk3.9.4indirect
PyPInodeenv1.9.1indirect
PyPInumpy2.2.6indirect
PyPInumpy2.3.1indirect
PyPInumpy2.3.4indirect
PyPInumpy2.4.4indirect
PyPInvidia-cublas13.1.0.3indirect
PyPInvidia-cublas-cu1212.6.4.1indirect
PyPInvidia-cuda-cupti13.0.85indirect
PyPInvidia-cuda-cupti-cu1212.6.80indirect
PyPInvidia-cuda-nvrtc13.0.88indirect
PyPInvidia-cuda-nvrtc-cu1212.6.77indirect
PyPInvidia-cuda-runtime13.0.96indirect
PyPInvidia-cuda-runtime-cu1212.6.77indirect
PyPInvidia-cudnn-cu129.5.1.17indirect
PyPInvidia-cudnn-cu139.19.0.56indirect
PyPInvidia-cufft12.0.0.61indirect
PyPInvidia-cufft-cu1211.3.0.4indirect
PyPInvidia-cufile1.15.1.6indirect
PyPInvidia-cufile-cu121.11.1.6indirect
PyPInvidia-curand10.4.0.35indirect
PyPInvidia-curand-cu1210.3.7.77indirect
PyPInvidia-cusolver12.0.4.66indirect
PyPInvidia-cusolver-cu1211.7.1.2indirect
PyPInvidia-cusparse12.6.3.3indirect
PyPInvidia-cusparse-cu1212.5.4.2indirect
PyPInvidia-cusparselt-cu120.6.3indirect
PyPInvidia-cusparselt-cu130.8.0indirect
PyPInvidia-nccl-cu122.26.2indirect
PyPInvidia-nccl-cu132.28.9indirect
PyPInvidia-nvjitlink13.0.88indirect
PyPInvidia-nvjitlink-cu1212.6.85indirect
PyPInvidia-nvshmem-cu133.4.5indirect
PyPInvidia-nvtx13.0.85indirect
PyPInvidia-nvtx-cu1212.6.77indirect
PyPIonnxruntime1.20.1indirect
PyPIonnxruntime1.22.1indirect
PyPIopenapi-pydantic0.5.1indirect
PyPIopenpyxl3.1.5indirect
PyPIopentelemetry-api1.41.0indirect
PyPIorjson3.11.0indirect
PyPIorjson3.11.4indirect
PyPIorjson3.11.8indirect
PyPIormsgpack1.10.0indirect
PyPIpackaging25.0indirect
PyPIpackaging26.1indirect
PyPIpandas2.3.1indirect
PyPIpandas2.3.3indirect
PyPIpandas3.0.2indirect
PyPIpathable0.4.4indirect
PyPIpathable0.5.0indirect
PyPIpathvalidate3.3.1indirect
PyPIpdfminer-six20250506indirect
PyPIpdfminer-six20251230indirect
PyPIpdfplumber0.11.9indirect
PyPIpika1.3.2indirect
PyPIpillow11.3.0indirect
PyPIpillow12.2.0indirect
PyPIplatformdirs4.3.8indirect
PyPIplatformdirs4.5.0indirect
PyPIplatformdirs4.9.6indirect
PyPIpluggy1.6.0indirect
PyPIportalocker2.10.1indirect
PyPIportalocker2.8.0indirect
PyPIportalocker3.2.0indirect
PyPIposthog6.1.1indirect
PyPIpre-commit4.2.0indirect
PyPIprotobuf6.31.1indirect
PyPIprotobuf6.33.1indirect
PyPIprotobuf7.34.1indirect
PyPIpsycopg2-binary2.9.11indirect
PyPIpy-key-value-aio0.2.8indirect
PyPIpy-key-value-aio0.3.0indirect
PyPIpy-key-value-shared0.2.8indirect
PyPIpy-key-value-shared0.3.0indirect
PyPIpycparser2.22indirect
PyPIpycparser2.23indirect
PyPIpycparser3.0indirect
PyPIpycryptodome3.23.0indirect
PyPIpydantic2.11.7indirect
PyPIpydantic2.12.4indirect
PyPIpydantic2.13.3indirect
PyPIpydantic-core2.33.2indirect
PyPIpydantic-core2.41.5indirect
PyPIpydantic-core2.46.3indirect
PyPIpydantic-extra-types2.10.5indirect
PyPIpydantic-extra-types2.10.6indirect
PyPIpydantic-extra-types2.11.1indirect
PyPIpydantic-settings2.10.1indirect
PyPIpydantic-settings2.12.0indirect
PyPIpydantic-settings2.14.0indirect
PyPIpydocket0.18.2indirect
PyPIpygments2.19.2indirect
PyPIpygments2.20.0indirect
PyPIpyjwt2.10.1indirect
PyPIpyjwt2.12.1indirect
PyPIpymilvus2.6.12indirect
PyPIpymilvus2.6.2indirect
PyPIpymilvus2.6.5indirect
PyPIpyparsing3.2.3indirect
PyPIpypdfium25.7.1indirect
PyPIpyperclip1.11.0indirect
PyPIpyperclip1.9.0indirect
PyPIpyreadline33.5.4indirect
PyPIpytest8.4.1indirect
PyPIpytest9.0.2indirect
PyPIpytest-asyncio0.23.8indirect
PyPIpytest-cov6.3.0indirect
PyPIpytest-html4.2.0indirect
PyPIpytest-metadata3.1.1indirect
PyPIpython-dotenv1.1.1indirect
PyPIpython-dotenv1.2.1indirect
PyPIpython-dotenv1.2.2indirect
PyPIpython-json-logger4.1.0indirect
PyPIpython-multipart0.0.20indirect
PyPIpython-multipart0.0.26indirect
PyPIpython-pptx1.0.2indirect
PyPIpytz2025.2indirect
PyPIpytz2026.1.post1indirect
PyPIpywin32311indirect
PyPIpywin32-ctypes0.2.3indirect
PyPIpyyaml6.0.2indirect
PyPIpyyaml6.0.3indirect
PyPIqdrant-client1.14.3indirect
PyPIqdrant-client1.16.2indirect
PyPIqdrant-client1.17.1indirect
PyPIrake-nltk1.0.6indirect
PyPIrank-bm250.2.2indirect
PyPIredis6.2.0indirect
PyPIredis6.4.0indirect
PyPIreferencing0.36.2indirect
PyPIreferencing0.37.0indirect
PyPIregex2024.11.6indirect
PyPIregex2025.11.3indirect
PyPIregex2026.4.4indirect
PyPIrequests2.32.4indirect
PyPIrequests2.32.5indirect
PyPIrequests2.33.1indirect
PyPIrequests-toolbelt1.0.0indirect
PyPIrich14.0.0indirect
PyPIrich14.2.0indirect
PyPIrich15.0.0indirect
PyPIrich-rst1.3.1indirect
PyPIrich-rst1.3.2indirect
PyPIrich-toolkit0.14.8indirect
PyPIrich-toolkit0.15.1indirect
PyPIrich-toolkit0.19.7indirect
PyPIrignore0.6.2indirect
PyPIrignore0.7.6indirect
PyPIrouge-score0.1.2indirect
PyPIrpds-py0.26.0indirect
PyPIrpds-py0.28.0indirect
PyPIrpds-py0.30.0indirect
PyPIruff0.11.13indirect
PyPIsafetensors0.5.3indirect
PyPIsafetensors0.6.2indirect
PyPIsafetensors0.7.0indirect
PyPIschedule1.2.2indirect
PyPIscipy1.15.3indirect
PyPIscipy1.16.0indirect
PyPIscipy1.16.3indirect
PyPIscipy1.17.1indirect
PyPIsecretstorage3.5.0indirect
PyPIsentence-transformers4.1.0indirect
PyPIsentry-sdk2.33.0indirect
PyPIsentry-sdk2.44.0indirect
PyPIsentry-sdk2.58.0indirect
PyPIsetuptools80.9.0indirect
PyPIsetuptools81.0.0indirect
PyPIshellingham1.5.4indirect
PyPIsix1.17.0indirect
PyPIsniffio1.3.1indirect
PyPIsortedcontainers2.4.0indirect
PyPIsoupsieve2.7indirect
PyPIsoupsieve2.8.3indirect
PyPIsse-starlette2.4.1indirect
PyPIsse-starlette3.0.3indirect
PyPIstarlette0.46.2indirect
PyPIsympy1.14.0indirect
PyPItaskgroup0.2.2indirect
PyPItavily-python0.5.0indirect
PyPItavily-python0.7.23indirect
PyPIthreadpoolctl3.6.0indirect
PyPItiktoken0.12.0indirect
PyPItokenizers0.21.2indirect
PyPItokenizers0.22.1indirect
PyPItokenizers0.22.2indirect
PyPItomli2.2.1indirect
PyPItomli2.4.1indirect
PyPItorchindirect
PyPItorch2.11.0indirect
PyPItorch2.7.1indirect
PyPItqdm4.67.1indirect
PyPItqdm4.67.3indirect
PyPItriton3.3.1indirect
PyPItriton3.5.0indirect
PyPItriton3.6.0indirect
PyPItyper0.16.0indirect
PyPItyper0.20.0indirect
PyPItyper0.24.1indirect
PyPItyping-extensionsindirect
PyPItyping-extensions4.14.1indirect
PyPItyping-extensions4.15.0indirect
PyPItyping-inspection0.4.1indirect
PyPItyping-inspection0.4.2indirect
PyPItzdata2025.2indirect
PyPItzdata2026.1indirect
PyPIujson5.10.0indirect
PyPIujson5.11.0indirect
PyPIujson5.12.0indirect
PyPIuncalled-for0.3.1indirect
PyPIurllib32.5.0indirect
PyPIurllib32.6.3indirect
PyPIuuid-utils0.14.1indirect
PyPIuvicorn0.35.0indirect
PyPIuvicorn0.38.0indirect
PyPIuvicorn0.45.0indirect
PyPIuvloop0.21.0indirect
PyPIuvloop0.22.1indirect
PyPIvirtualenv20.31.2indirect
PyPIvolcengine-python-sdk4.0.45indirect
PyPIvolcengine-python-sdk4.0.6indirect
PyPIwatchfiles1.1.0indirect
PyPIwatchfiles1.1.1indirect
PyPIwebsockets15.0.1indirect
PyPIwebsockets16.0indirect
PyPIxlrd2.0.2indirect
PyPIxlsxwriter3.2.5indirect
PyPIxlsxwriter3.2.9indirect
PyPIxxhash3.5.0indirect
PyPIxxhash3.6.0indirect
PyPIzep-cloud2.19.0indirect
PyPIzipp3.23.1indirect
PyPIzstandard0.23.0indirect
PyPIzstandard0.25.0indirect
Dependency advisories 5

Installing pypi:MemoryOS@2.0.24 pulls in 127 packages, direct and transitive: 5 carry known advisories, of which 2 are direct dependencies.

PackageVersionRelationSeverityAdvisoriesFixed in
fastmcp2.14.7directcritical63.2.0
transformers4.57.6directcritical75.5.0
mcp1.27.2indirecthigh21.28.1
starlette0.46.2indirecthigh141.3.1
diskcache5.6.3indirectmoderate2

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": [
        "agent",
        "llm",
        "memory",
        "long-term-memory",
        "memory-management",
        "rag",
        "skills",
        "openclaw",
        "agentic-ai",
        "ai",
        "ai-agents",
        "chatgpt",
        "claude",
        "hermes",
        "multi-agent",
        "python",
        "self-evolving",
        "self-hosted",
        "token-savings",
        "mcp"
      ],
      "is_fork": false,
      "size_kb": 58230,
      "has_wiki": false,
      "homepage": "https://memos.openmem.net",
      "languages": {
        "CSS": 91646,
        "HTML": 617187,
        "Shell": 87427,
        "Python": 5275022,
        "Makefile": 832,
        "Dockerfile": 3200,
        "JavaScript": 222614,
        "PowerShell": 33146,
        "TypeScript": 8790694,
        "Go Template": 762
      },
      "pushed_at": "2026-07-24T03:49:41Z",
      "created_at": "2025-07-06T09:51:27Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-24T05:11:45Z",
      "description": "Self-evolving memory OS for LLM & AI Agents: ultra-persistent memory, hybrid-retrieval, and cross-task skill reuse, with 35.24% token savings",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript",
        "Python"
      ]
    },
    "owner": {
      "blog": null,
      "name": "OpenMem",
      "type": "Organization",
      "login": "MemTensor",
      "company": null,
      "location": null,
      "followers": 204,
      "avatar_url": "https://avatars.githubusercontent.com/u/210160027?v=4",
      "created_at": "2025-05-03T14:46:45Z",
      "is_verified": null,
      "public_repos": 24,
      "account_age_days": 446
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.0.24",
          "kind": "patch",
          "published_at": "2026-07-19T14:49:33Z"
        },
        {
          "tag": "memos-local-plugin-v2.0.10",
          "kind": "other",
          "published_at": "2026-07-15T10:48:24Z"
        },
        {
          "tag": "v2.0.23",
          "kind": "patch",
          "published_at": "2026-07-09T09:22:50Z"
        },
        {
          "tag": "v2.0.22",
          "kind": "patch",
          "published_at": "2026-07-03T08:30:43Z"
        },
        {
          "tag": "v2.0.20",
          "kind": "patch",
          "published_at": "2026-06-18T07:29:24Z"
        },
        {
          "tag": "v2.0.19",
          "kind": "patch",
          "published_at": "2026-06-12T07:55:01Z"
        },
        {
          "tag": "v2.0.17",
          "kind": "patch",
          "published_at": "2026-05-26T06:13:42Z"
        },
        {
          "tag": "v2.0.16",
          "kind": "patch",
          "published_at": "2026-05-19T02:45:17Z"
        },
        {
          "tag": "v2.0.15",
          "kind": "patch",
          "published_at": "2026-05-11T03:20:17Z"
        },
        {
          "tag": "v2.0.14",
          "kind": "patch",
          "published_at": "2026-04-23T11:54:16Z"
        },
        {
          "tag": "v2.0.13",
          "kind": "patch",
          "published_at": "2026-04-10T07:50:50Z"
        },
        {
          "tag": "v2.0.12",
          "kind": "patch",
          "published_at": "2026-04-07T03:28:30Z"
        },
        {
          "tag": "v2.0.11",
          "kind": "patch",
          "published_at": "2026-03-27T09:31:57Z"
        },
        {
          "tag": "v2.0.10",
          "kind": "patch",
          "published_at": "2026-03-20T09:48:31Z"
        },
        {
          "tag": "v2.0.9",
          "kind": "patch",
          "published_at": "2026-03-16T07:33:42Z"
        },
        {
          "tag": "v2.0.8",
          "kind": "patch",
          "published_at": "2026-03-09T10:01:54Z"
        },
        {
          "tag": "v2.0.7",
          "kind": "patch",
          "published_at": "2026-02-28T09:31:47Z"
        },
        {
          "tag": "v2.0.6",
          "kind": "patch",
          "published_at": "2026-02-12T11:52:32Z"
        },
        {
          "tag": "v2.0.5",
          "kind": "patch",
          "published_at": "2026-02-10T02:51:17Z"
        },
        {
          "tag": "v2.0.4",
          "kind": "patch",
          "published_at": "2026-01-30T09:09:21Z"
        },
        {
          "tag": "v2.0.3",
          "kind": "patch",
          "published_at": "2026-01-23T06:38:06Z"
        },
        {
          "tag": "v2.0.2",
          "kind": "patch",
          "published_at": "2026-01-16T08:56:28Z"
        },
        {
          "tag": "v2.0.1",
          "kind": "patch",
          "published_at": "2026-01-09T11:20:32Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2025-12-24T13:19:44Z"
        },
        {
          "tag": "v1.1.3",
          "kind": "patch",
          "published_at": "2025-11-07T03:24:45Z"
        },
        {
          "tag": "v1.1.2",
          "kind": "patch",
          "published_at": "2025-10-11T09:24:03Z"
        },
        {
          "tag": "v1.1.1",
          "kind": "patch",
          "published_at": "2025-09-24T17:15:36Z"
        },
        {
          "tag": "v1.1.0",
          "kind": "minor",
          "published_at": "2025-09-24T15:23:07Z"
        },
        {
          "tag": "v1.0.1",
          "kind": "patch",
          "published_at": "2025-09-10T08:31:49Z"
        },
        {
          "tag": "v1.0.0",
          "kind": "major",
          "published_at": "2025-08-07T13:32:25Z"
        },
        {
          "tag": "v0.2.2",
          "kind": "patch",
          "published_at": "2025-07-29T15:04:23Z"
        },
        {
          "tag": "v0.2.1",
          "kind": "patch",
          "published_at": "2025-07-21T15:05:31Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2025-07-11T12:35:26Z"
        },
        {
          "tag": "v0.1.13",
          "kind": "patch",
          "published_at": "2025-07-09T13:20:23Z"
        },
        {
          "tag": "v0.1.12",
          "kind": "patch",
          "published_at": "2025-07-08T15:22:51Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "6734a0ea8d01293b4dae3611fae0ab3834366e1b",
          "body": "This reverts commit 21a27ed19dcbbfcf830a3ce1253aed5b2ee66898.\n\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>",
          "is_bot": false,
          "headline": "Revert \"feat: chunk batch reflection scoring (#1957)\" (#2145)",
          "author_name": "zhaxi",
          "author_login": "syzsunshine219",
          "committed_at": "2026-07-23T09:50:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21a27ed19dcbbfcf830a3ce1253aed5b2ee66898",
          "body": "* Fix #1540: fix: (#1824)\n\ndocs(memos-local-plugin): clarify install path and stale dir names (#1540)\n\nThe README's 'Quick start' section told users to use install.sh instead\nof npm install, but the warning was buried and users still tried\n'npm install -g @memtensor/memos-local-plugin' first. The re\n[…]\n-by: Jiang <33757498+hijzy@users.noreply.github.com>\nCo-authored-by: GU TIANCHUN <96930846+TianchunGu@users.noreply.github.com>\nCo-authored-by: Dubberman <48425266+whipser030@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat: chunk batch reflection scoring (#1957)",
          "author_name": "Erick Wipprecht",
          "author_login": "chiefmojo",
          "committed_at": "2026-07-23T09:32:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "554bb98ee7c28307dbaeac569a0dea49ff0062fd",
          "body": null,
          "is_bot": false,
          "headline": "chore: update version to v2.0.24",
          "author_name": "harvey_xiang",
          "author_login": null,
          "committed_at": "2026-07-19T03:39:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bedc1875cc9d685868f43488a61211c495d3c238",
          "body": "* feat(api): align OpenMem v1 SDK with cloud API\n\n* feat(api): align OpenMem v1 SDK with cloud API\n\n* fix(memos-local): include json hint in user messages (#1756)\n\nCo-authored-by: shinetata <149466187+shinetata@users.noreply.github.com>\n\n* docs: fix scheduler API examples to match server endpoints (\n[…]\nshinetata <149466187+shinetata@users.noreply.github.com>\nCo-authored-by: sunqi <sunqi@memtensor.com>\nCo-authored-by: Cursor <cursoragent@cursor.com>\nCo-authored-by: Memtensor-AI <project@memtensor.cn>",
          "is_bot": false,
          "headline": "Merge 2.0.24 into main (#2119)",
          "author_name": "Qi Weng",
          "author_login": "bittergreen",
          "committed_at": "2026-07-19T03:20:59Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "13fbd43743b3b04b8c105a485f6c97729d26f776",
          "body": "…erformance table\n\nAligns the News section's LoCoMo/LongMemEval scores with the Performance table (88.83 / 89.20) in both README.md and README_ZH.md.\n\nFixes #2090",
          "is_bot": false,
          "headline": "Fix #2090: fix: README benchmark scores in News section don't match P…",
          "author_name": "shinetata",
          "author_login": "shinetata",
          "committed_at": "2026-07-09T11:05:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6af4aadc9622c39fea63bf736c9c2a6cca7b9dc",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into bugfix/autodev-2090-20260709093247057",
          "author_name": "shinetata",
          "author_login": "shinetata",
          "committed_at": "2026-07-09T10:50:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a12736958097d6d3f1b5d472f3b6c315cb989d3",
          "body": "Bumps apps/memos-local-plugin/package.json and package-lock.json for the\npublished npm release 2.0.10.\n\nPublished package:\nhttps://www.npmjs.com/package/@memtensor/memos-local-plugin/v/2.0.10\nRelease tag: memos-local-plugin-v2.0.10",
          "is_bot": false,
          "headline": "release: @memtensor/memos-local-plugin v2.0.10 (#2093)",
          "author_name": "zhaxi",
          "author_login": "syzsunshine219",
          "committed_at": "2026-07-09T09:51:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87d084345eeb5e33f7b29d128e90d39a00f391d1",
          "body": null,
          "is_bot": true,
          "headline": "release: @memtensor/memos-local-plugin v2.0.10",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-07-09T09:47:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "64cddbfb7d81d268e55dda05c6fdb804a449798e",
          "body": "…mance table\n\nThe News section for 2026-07-02 quoted LoCoMo=92.34 and LongMemEval=93.40\n(added in #2019), while the Performance table just below reports 88.83 and\n89.20 (added in #2078 with the 10-benchmark 2026-07-02 evaluation report).\nUpdate the News entry in both README.md and README_ZH.md to 88.83 / 89.20 so\nthe two sections agree; the Performance table remains the authoritative\nsource.\n\nCloses #2090",
          "is_bot": false,
          "headline": "fix(readme): align News section LoCoMo/LongMemEval scores with Perfor…",
          "author_name": "autodev-bot",
          "author_login": null,
          "committed_at": "2026-07-09T09:37:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8a7b3cb27e9cc6c83c45a1f278f2d11b34eb239",
          "body": "## Summary\n- avoid pushing release commits directly to protected main from plugin\npublish workflows\n- push version bump commits to release/<tag> branches and create PRs\ninstead\n- skip npm publish when the requested version already exists, so\npartially completed releases can be rerun safely\n- include package-lock.json in memos-local-plugin release metadata\ncommits\n\n## Verification\n- ruby YAML parse for both workflow files\n- bash -n for updated publish/release shell blocks\n- git diff --check",
          "is_bot": false,
          "headline": "fix(ci): avoid protected branch push in plugin releases (#2091)",
          "author_name": "zhaxi",
          "author_login": "syzsunshine219",
          "committed_at": "2026-07-09T09:36:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13b51e9ff27ea20cdcc95c4378ae68ab63b5a542",
          "body": null,
          "is_bot": false,
          "headline": "fix(ci): avoid protected branch push in plugin releases",
          "author_name": "jiachengzhen",
          "author_login": null,
          "committed_at": "2026-07-09T09:28:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "583b07b998afc4debb6c5078439b0b3896f5b097",
          "body": "## Description\n\nPlease include a summary of the change, the problem it solves, the\nimplementation approach, and relevant context. List any dependencies\nrequired for this change.\n\nRelated Issue (Required):  Fixes #issue_number\n\n## Type of change\n\nPlease delete options that are not relevant.\n\n- [ ] Bu\n[…]\nd the person who will review this PR | 我已提及将审查此 PR\n的人\n\n## Reviewer Checklist\n- [ ] closes #xxxx (Replace xxxx with the GitHub issue number)\n- [ ] Made sure Checks passed\n- [ ] Tests have been provided",
          "is_bot": false,
          "headline": "release: merge dev-v2.0.23 into main (#2085)",
          "author_name": "HarveyXiang",
          "author_login": "CarltonXiang",
          "committed_at": "2026-07-09T07:51:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "906b45bb796b506667137fc1a2fefc6649344f4d",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into dev-v2.0.23",
          "author_name": "HarveyXiang",
          "author_login": "CarltonXiang",
          "committed_at": "2026-07-09T07:15:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a17ce1b558b3c4ec4409366560e3e8a62baeba9",
          "body": null,
          "is_bot": false,
          "headline": "chore: update version to 2.0.23",
          "author_name": "harvey_xiang",
          "author_login": null,
          "committed_at": "2026-07-09T07:10:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "59c14746bd26716045c1a3ce622fd295c8988833",
          "body": "…able vector scan (scan (#2077)\n\n* fix(local-plugin): stop unbounded trace re-insertion + 100% CPU vector scan (#2076)\n\nTwo coupled root causes made the gateway Node process pin one CPU core\nat 100% with 4.2 GB RSS on startup for 40+ minutes on a 518k-row DB.\n\nBug #1 — synchronous full-table vector \n[…]\nerge conflict\n\n---------\n\nCo-authored-by: MemOS AutoDev <autodev@memtensor.local>\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>",
          "is_bot": false,
          "headline": "Fix #2076: local-plugin v2.0.8: gateway CPU 100% — synchronous full-t…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-09T06:31:11Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "142fad4f7ce6757e8cd23d8deea9de6027eabae2",
          "body": "fix: publish compiled openclaw plugin entry\n\nCo-authored-by: Ziyang Guo <121015044+RerankerGuo@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: publish compiled OpenClaw plugin entry (#2084)",
          "author_name": "zhaxi",
          "author_login": "syzsunshine219",
          "committed_at": "2026-07-09T06:29:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16dcbe638935f1dffaa059c9e6321d9ccff860ee",
          "body": "Reverts #2013 because it was merged into `main`, but the change should\nnot have landed on the main branch.\n\nThis PR was generated with `git revert -m 1\n9adfc7d5d24df372d168d579a9bfd69653ee045e` and only undoes the files\nchanged by #2013.",
          "is_bot": false,
          "headline": "Revert \"fix: publish compiled OpenClaw plugin entry (#2013)\" (#2082)",
          "author_name": "zhaxi",
          "author_login": "syzsunshine219",
          "committed_at": "2026-07-09T06:24:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9deb941e8f888faccad098180cc6197642954f67",
          "body": "* feat(l3): dedicated l3Llm config slot for abstraction pass\n\nL3 abstraction runs on the main `llm`, which on cheap models\n(gemini-2.5-flash-lite) over-extracts and truncates the JSON,\nproducing \"'constraints'/'inference' must be an array\" failures —\nViolet logged 180 such failures and produced only\n[…]\nt\n\n* fix: resolve l3 llm config conflict\n\n* fix: satisfy ruff for hermes bridge reconnect\n\n---------\n\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>\nCo-authored-by: zhaxi <syzsunshine219@gmail.com>",
          "is_bot": false,
          "headline": "feat(l3): dedicated l3Llm config slot for abstraction pass (#1959)",
          "author_name": "Erick Wipprecht",
          "author_login": "chiefmojo",
          "committed_at": "2026-07-09T06:16:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b5fd982a63f9820d73845e7eba9ab06c1d074574",
          "body": "This reverts commit 9adfc7d5d24df372d168d579a9bfd69653ee045e, reversing\nchanges made to 96b8bec6ef0317ca5b78976d0f407078c34cbbc0.",
          "is_bot": false,
          "headline": "Revert \"fix: publish compiled OpenClaw plugin entry (#2013)\"",
          "author_name": "jiachengzhen",
          "author_login": null,
          "committed_at": "2026-07-09T06:15:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9adfc7d5d24df372d168d579a9bfd69653ee045e",
          "body": "Fixes #1675.\n\nSummary\n- Point the npm package and OpenClaw manifests at the compiled\nentrypoint `./dist/index.js` instead of `index.ts`.\n- Include `dist` and `tsconfig.json` in the published package, and run\n`npm run build` during prepublish.\n- Compile from the package root so the root OpenClaw plug\n[…]\not installed in this worktree.\n- Attempted: npm run build; blocked because tsc is not installed in this\nworktree.\n- Attempted: make format; blocked because poetry is not installed in\nthis environment.",
          "is_bot": false,
          "headline": "fix: publish compiled OpenClaw plugin entry (#2013)",
          "author_name": "zhaxi",
          "author_login": "syzsunshine219",
          "committed_at": "2026-07-09T06:13:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ff1b1be8c7f014270fe0df96e958b68387068dec",
          "body": "Fixes #1380.\n\nSummary\n- Tighten the skill creation evaluator prompt so low-reuse tasks are\nrejected before skill generation.\n- Add explicit filters for simple tool installation plus basic config,\nexploratory revert/abandon outcomes, and discussion/comparison-only\noutputs.\n- Add the requested experie\n[…]\not installed in this worktree.\n- Attempted: npm run build; blocked because tsc is not installed in this\nworktree.\n- Attempted: make format; blocked because poetry is not installed in\nthis environment.",
          "is_bot": false,
          "headline": "fix: tighten skill generation policy prompts (#2014)",
          "author_name": "zhaxi",
          "author_login": "syzsunshine219",
          "committed_at": "2026-07-09T06:13:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fda8c2299169536630dda2b40cf3285e782258c2",
          "body": "* fix: quarantine stale sqlite native binding\n\n* fix(openclaw): report unlink failure (not rename) and dedupe quarantine paths\n\nOCR review on #2049 surfaced two real bugs in quarantineNativeBinding:\n\n1. The inner 'catch {}' block had no binding, so 'reason' reported the\n   outer rename failure inste\n[…]\n-AI <project@memtensor.cn>\nCo-authored-by: Ziyang Guo <121015044+RunMarshal@users.noreply.github.com>\nCo-authored-by: zhaxi <syzsunshine219@gmail.com>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>",
          "is_bot": false,
          "headline": "fix: quarantine stale sqlite native binding (#2049)",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-09T06:11:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "40f8e832a59bd9e56ac1b2ac338c764008a42b41",
          "body": "…DME_ZH (#2078)\n\n* docs: rewrite README around three usage scenarios with bilingual support\n\n- Rewrite README.md around three entry points: self-host, OpenClaw cloud plugin, local plugin\n- Add Performance block with 10 benchmark scores from 2026-07-02 evaluation report\n- Add \"What MemOS Is For\" sect\n[…]\nCo-authored-by: Cursor <cursoragent@cursor.com>\n\n---------\n\nCo-authored-by: sunqi <sunqi@memtensor.com>\nCo-authored-by: Cursor <cursoragent@cursor.com>\nCo-authored-by: zhaxi <syzsunshine219@gmail.com>",
          "is_bot": false,
          "headline": "docs: rewrite README around three usage scenarios + add bilingual REA…",
          "author_name": "shinetata",
          "author_login": "shinetata",
          "committed_at": "2026-07-09T06:10:45Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4053c253c00fe8ef654a5f788ee5191929130bd3",
          "body": "…rable (#1483)\n\n* feat(memos-local): make auto-recall Phase 1 parameters configurable\n\nAuto-recall Phase 1 was using hardcoded maxResults=10 and minScore=0.45\nfor the quick local search pass before LLM dedup. This makes those\nvalues configurable via the existing recall.* config namespace:\n\n  recall.\n[…]\necially for\nusers with large memory stores.\n\n* fix: align auto-recall config with base\n\n---------\n\nCo-authored-by: 庸人i <yong@yongrenideMac-mini.local>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>",
          "is_bot": false,
          "headline": "feat(memos-local): make auto-recall Phase 1 search parameters configu…",
          "author_name": "yongren-del",
          "author_login": "yongren-del",
          "committed_at": "2026-07-09T06:09:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8db255e4621eb7b0d5604ac36db75d382158592f",
          "body": null,
          "is_bot": false,
          "headline": "fix: tests for preference extractors (#2080)",
          "author_name": "Qi Weng",
          "author_login": "bittergreen",
          "committed_at": "2026-07-09T03:58:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bcb711ee3ceaa44c3393016186d632ae3f84cd87",
          "body": "## Description\n\nfix: Disable thinking for qwen3 preference extractor\n\n## Type of change\n\n- [x] Bug fix (non-breaking change which fixes an issue)\n\n## How Has This Been Tested?\n\n- Not applicable\n\n## Checklist\n\n- [x] I have performed a self-review of my own code | 我已自行检查了自己的代码\n- [x] I have commented m\n[…]\nd the person who will review this PR | 我已提及将审查此 PR\n的人\n\n## Reviewer Checklist\n- [ ] closes #xxxx (Replace xxxx with the GitHub issue number)\n- [ ] Made sure Checks passed\n- [ ] Tests have been provided",
          "is_bot": false,
          "headline": "fix: Disable thinking for qwen3 preference extractor (#2079)",
          "author_name": "Qi Weng",
          "author_login": "bittergreen",
          "committed_at": "2026-07-09T03:50:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c739e9f264bbd8f78a6322cf677d2c409f31e138",
          "body": null,
          "is_bot": false,
          "headline": "fix: ruff",
          "author_name": "bittergreen",
          "author_login": "bittergreen",
          "committed_at": "2026-07-09T03:48:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8436e3f85ddd39e51c33d97c0a8f9d0d15a56279",
          "body": "# Conflicts:\n#\tsrc/memos/api/config.py",
          "is_bot": false,
          "headline": "fix: Disable thinking for qwen3 preference extractor",
          "author_name": "bittergreen",
          "author_login": "bittergreen",
          "committed_at": "2026-07-09T03:36:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11758c95fc961d4c6d7cf8447176b1149be0d4e6",
          "body": "…ist (#1669)\n\nCo-authored-by: zhaxi <syzsunshine219@gmail.com>",
          "is_bot": false,
          "headline": "fix: add missing contracts.tools declaration for OpenClaw tool allowl…",
          "author_name": "saraphine001",
          "author_login": "saraphine001",
          "committed_at": "2026-07-09T03:28:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f4d2863c53a719ab5052d2f71c485f27e2c2daf",
          "body": "…ble probe (#1663)\n\n## Problem\n\nWhen configuring `openai_compatible` provider with an endpoint that\nalready includes the full API path (e.g. Zhipu AI / GLM models):\n\n```yaml\nendpoint: https://open.bigmodel.cn/api/paas/v4/chat/completions\n```\n\nThe probe function would append another `/v1/chat/complet\n[…]\nutes/models.ts`\n\n## Backward Compatibility\n\nFully backward compatible — existing endpoint formats (`/v1` or base\nURL) continue to work as before. This only adds support for the\nalready-full-path case.",
          "is_bot": false,
          "headline": "fix(memos-local-plugin): handle full endpoint paths in openai_compati…",
          "author_name": "zhaxi",
          "author_login": "syzsunshine219",
          "committed_at": "2026-07-09T03:10:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "347ce82ba938744de863f187b880a03bee5e9400",
          "body": "…uplication",
          "is_bot": false,
          "headline": "Merge branch 'dev-v2.0.23' into fix/openai-compatible-endpoint-path-d…",
          "author_name": "zhaxi",
          "author_login": "syzsunshine219",
          "committed_at": "2026-07-09T03:08:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "365bd8b569ede3aefb524da913644fe12165e361",
          "body": "…475)\n\nfeat(memos-local): add data export endpoint and UI (#1474)\n\n- SqliteStore.exportAll(): dump all memories/tasks/skills as JSON\n- SqliteStore.exportMemoriesAsCsv(): memories-only CSV with ISO timestamps\n- GET /api/export?format=json|csv endpoint in ViewerServer\n- Export buttons in Settings → General tab (i18n: en + zh)\n- exportData() JS helper triggers file download via <a> click\n\nCloses #1474\n\nCo-authored-by: zhaxi <syzsunshine219@gmail.com>",
          "is_bot": false,
          "headline": "feat(memos-local): add data export endpoint and UI (closes #1474) (#1…",
          "author_name": "owensun6",
          "author_login": "owensun6",
          "committed_at": "2026-07-09T03:01:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43b8f2e1a89494870962e9f356f43e97244dfed1",
          "body": "Summary\n- Fixes #1421.\n- Add optional `inputType`, `queryInputType`, and `documentInputType`\nembedding config fields.\n- Route document embeddings through `documentInputType` and query\nembeddings through `queryInputType`, falling back to `inputType` when a\nspecific value is absent.\n- Forward `input_t\n[…]\ntests/embedding-input-type.test.ts (blocked: vitest:\nnot found)\n- npm run build (blocked: tsc: not found)\n- npm run lint (blocked: eslint: not found)\n- make format (blocked: poetry: Command not found)",
          "is_bot": false,
          "headline": "feat: route embedding input types by usage (#2024)",
          "author_name": "zhaxi",
          "author_login": "syzsunshine219",
          "committed_at": "2026-07-09T02:46:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a9338d8ad7c2f78b86af810fcc932ca6b48cf177",
          "body": "* docs(cn): translate remaining English text in dream.md\n\n* chore: update github workflow stale.yaml\n\n* feat: add configurable CJK keyword tokenization\n\n---------\n\nCo-authored-by: harvey_xiang <harvey_xiang22@163.com>\nCo-authored-by: sonimwang <17816198144@163.com>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>",
          "is_bot": false,
          "headline": "feat: add configurable CJK keyword tokenization (#2040)",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-09T02:45:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de03ab29b10fcc70425d3d1b8a94f95b9556df17",
          "body": "…y skip evolution pipel (#2074)\n\n* fix(memos-local-plugin): actually skip evolution pipeline when lightweightMemory is enabled (#2063)\n\n`buildPipelineSubscribers` used to attach reward / L2 / L3 / skill /\nfeedback subscribers unconditionally, so `algorithm.lightweightMemory.enabled: true`\nonly affec\n[…]\natching\n   the existing recoveryReason=\"lightweight_startup_close_backfill\"\n   distinction so downstream analytics can tell the two apart.\n\n---------\n\nCo-authored-by: autodev <autodev@memtensor.local>",
          "is_bot": false,
          "headline": "Fix #2063: algorithm.lightweightMemory.enabled: true does not actuall…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-09T02:40:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "edcd7c84d493bed12d629012e10ab2295396e3cc",
          "body": "…th (#1817)\n\n## Summary\n\nThree targeted fixes from companion infrastructure stabilization:\n\n### 1. Skip orphan trace insert during dirty-reward recovery\n(`fc7252fc`)\nWhen `dirtyFlag` triggers a rescore on episodes with no matching turns,\nthe capture path inserts a trace with `r_reward=0` but no vali\n[…]\n/ `::1`).\n\n## Testing\n\nAll three fixes have been running on three companion instances\n(neuromancer, wintermute, case) for 48+ hours with zero bridge failures,\nno new orphan traces, and clean RPC auth.",
          "is_bot": false,
          "headline": "fix: bridge startup race, dirty-reward orphan traces, RPC loopback au…",
          "author_name": "zhaxi",
          "author_login": "syzsunshine219",
          "committed_at": "2026-07-09T02:39:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "598b674516f3e8deef7727a6af1ee7a512ca9e29",
          "body": "* docs(cn): translate remaining English text in dream.md\n\n* chore: update github workflow stale.yaml\n\n* fix: avoid blocking OpenClaw registration rebuild\n\n* fix(openclaw): alias pluginDir to moduleDir after detectPluginDir removal\n\nOCR review on #2044 flagged that after removing detectPluginDir(modu\n[…]\ng <harvey_xiang22@163.com>\nCo-authored-by: sonimwang <17816198144@163.com>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>\nCo-authored-by: Ziyang Guo <121015044+RunMarshal@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: avoid blocking OpenClaw plugin registration (#2044)",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-09T02:34:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2c48b496861d7bea6ca1ff963ba180d7c7209c87",
          "body": "…ponse (#2064)\n\n* fix(skill-crystallize): retry with context when LLM returns empty response\n\n* chore: add retry_succeeded log so successful rescues are visible\nWhen the correction retry rescues a previously-failed crystallization,\nlog a warning with policyId and the original error so operators can\n\n[…]\nn\nthe LLM returns blank output the correction retry was never triggered.\nChanged to  so empty responses also get a retry.\n\n---------\n\nCo-authored-by: 34262315716 <34262315716@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(skill-crystallize): retry with context when LLM returns empty res…",
          "author_name": "Critical Natural",
          "author_login": "34262315716",
          "committed_at": "2026-07-09T02:33:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "46dff5b94164353a0eeb479f65aa783ce2dfd422",
          "body": "* docs(cn): translate remaining English text in dream.md\n\n* chore: update github workflow stale.yaml\n\n* fix: log llm error response bodies\n\n---------\n\nCo-authored-by: harvey_xiang <harvey_xiang22@163.com>\nCo-authored-by: sonimwang <17816198144@163.com>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>",
          "is_bot": false,
          "headline": "fix: log LLM error response bodies (#2012)",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-09T02:32:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98b037253c35f3493ed92b4627ae329d9b7b12b2",
          "body": "* docs(cn): translate remaining English text in dream.md\n\n* chore: update github workflow stale.yaml\n\n* fix: load bridge package version without require\n\n---------\n\nCo-authored-by: harvey_xiang <harvey_xiang22@163.com>\nCo-authored-by: sonimwang <17816198144@163.com>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>",
          "is_bot": false,
          "headline": "fix: load bridge package version without require (#1992)",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-09T02:32:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5080657562d535f6c9479c237d3570468ff2706",
          "body": "* docs(cn): translate remaining English text in dream.md\n\n* chore: update github workflow stale.yaml\n\n* fix: delimit memory context with XML boundary\n\n---------\n\nCo-authored-by: harvey_xiang <harvey_xiang22@163.com>\nCo-authored-by: sonimwang <17816198144@163.com>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>",
          "is_bot": false,
          "headline": "fix: delimit memory context with XML boundary (#2052)",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-09T02:30:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4ed7a255c726ea3c2e43f9650be45a614aeb86d",
          "body": "* docs(cn): translate remaining English text in dream.md\n\n* chore: update github workflow stale.yaml\n\n* fix: add durable Hermes provider link\n\n* fix(plugin): harden Hermes provider-link installers (9 OCR findings)\n\nOCR review on #2051 surfaced 9 robustness issues across the PowerShell\nand Unix Herme\n[…]\ng <harvey_xiang22@163.com>\nCo-authored-by: sonimwang <17816198144@163.com>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>\nCo-authored-by: Ziyang Guo <121015044+RunMarshal@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: add durable Hermes provider link (#2051)",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-09T02:30:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d7f15b07b6424aa4268c87708ce12f831fb921d4",
          "body": "* docs(cn): translate remaining English text in dream.md\n\n* chore: update github workflow stale.yaml\n\n* fix: align Gemini viewer embedding test\n\n* fix(openclaw): don't leak Gemini API key to user-supplied endpoints\n\nOCR review on #2050 surfaced a security regression: the viewer Gemini\nembedding prob\n[…]\ng <harvey_xiang22@163.com>\nCo-authored-by: sonimwang <17816198144@163.com>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>\nCo-authored-by: Ziyang Guo <121015044+RunMarshal@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: align Gemini viewer embedding test (#2050)",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-09T02:24:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "10014cf071176464b5d109a8809ed593b12153da",
          "body": "* docs(cn): translate remaining English text in dream.md\n\n* chore: update github workflow stale.yaml\n\n* docs: translate API reference pages\n\n---------\n\nCo-authored-by: harvey_xiang <harvey_xiang22@163.com>\nCo-authored-by: sonimwang <17816198144@163.com>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>",
          "is_bot": false,
          "headline": "docs: translate API reference pages (#2053)",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-09T02:13:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2adf17b88e2e07c9f7d058821020afa236e90f9",
          "body": "…mOSClient signatures (#1919)\n\n* docs(cn): translate remaining English text in dream.md\n\n* docs: align Quick Start examples with MemOSClient signatures and add EN translations\n\nFix the Chat and Message API reference docs where Quick Start code\nexamples used parameters not present in the actual MemOS\n[…]\nCo-authored-by: sonimwang <17816198144@163.com>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>\nCo-authored-by: Memtensor-AI <project@memtensor.cn>",
          "is_bot": false,
          "headline": "docs: fix Quick Start examples in Chat & Message API docs to match Me…",
          "author_name": "Anky",
          "author_login": "hiasky",
          "committed_at": "2026-07-08T12:34:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d9046d6ddf69b6bcaca849126ca0600bb529cbc1",
          "body": "* docs(cn): translate remaining English text in dream.md\n\n* chore: update github workflow stale.yaml\n\n* fix: quote OpenClaw FTS query terms\n\n---------\n\nCo-authored-by: harvey_xiang <harvey_xiang22@163.com>\nCo-authored-by: sonimwang <17816198144@163.com>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>",
          "is_bot": false,
          "headline": "fix: quote OpenClaw FTS query terms (#2043)",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-08T11:23:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "713ed0258818336c8cd9e294fdde20813225e3c7",
          "body": "Fixes two occurrences of \"monitering\" → \"monitoring\" in\nAPIADDRequest and APIFeedbackRequest task_id field descriptions\nin src/memos/api/product_models.py.\n\nCo-authored-by: Memtensor-AI <project@memtensor.cn>",
          "is_bot": false,
          "headline": "fix: correct \"monitering\" typo in task_id field descriptions (#1931)",
          "author_name": "nuthalapativarun",
          "author_login": "nuthalapativarun",
          "committed_at": "2026-07-08T11:21:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afada8c52f57b4f4faefaff57cc9e9d604a457e8",
          "body": "* docs: clarify API product model descriptions\n\n* docs: normalize product model descriptions\n\n---------\n\nCo-authored-by: Lucas-FManager <luong.nguyen188@gmail.com>\nCo-authored-by: Lucas-FManager <265058144+Lucas-FManager@users.noreply.github.com>\nCo-authored-by: Memtensor-AI <project@memtensor.cn>",
          "is_bot": false,
          "headline": "docs: clarify API product model descriptions (#1810)",
          "author_name": "Nguyen Cat Luong",
          "author_login": "Lucas-FManager",
          "committed_at": "2026-07-08T11:21:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e67ae8a6f1fb7cee38ae7b64751c5dbefc49c3b",
          "body": "…ategyStructMemReader (#1794)\n\nCo-authored-by: Memtensor-AI <project@memtensor.cn>",
          "is_bot": false,
          "headline": "refactor(mem-reader): remove dead remove_prompt_example branch in Str…",
          "author_name": "nuthalapativarun",
          "author_login": "nuthalapativarun",
          "committed_at": "2026-07-08T11:19:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0016bcd0f78e9f5a3f2b446904ea6360d2138793",
          "body": null,
          "is_bot": false,
          "headline": "fix: publish compiled openclaw plugin entry",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-08T06:02:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23b39ddd453e7a93e9ebbc419268a849327467a3",
          "body": null,
          "is_bot": false,
          "headline": "fix: tighten skill generation policy prompts",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-08T06:02:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "257b2be801ec76304136b67b41998a7d501a530f",
          "body": null,
          "is_bot": false,
          "headline": "feat: route embedding input types by usage",
          "author_name": "Ziyang Guo",
          "author_login": "RerankerGuo",
          "committed_at": "2026-07-08T06:02:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96b8bec6ef0317ca5b78976d0f407078c34cbbc0",
          "body": "Translated an untranslated JSON `description` field in\n`docs/cn/open_source/modules/dream.md` from English to Chinese.",
          "is_bot": false,
          "headline": "docs(cn): translate remaining English text in dream.md (#1893)",
          "author_name": "HarveyXiang",
          "author_login": "CarltonXiang",
          "committed_at": "2026-07-08T02:21:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "044f9fa75a3e1bd091791ef05640d7cf6a498bb4",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into translate-module-docs",
          "author_name": "HarveyXiang",
          "author_login": "CarltonXiang",
          "committed_at": "2026-07-08T02:20:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85dd9cd03bab4667a83fa0c018d7c79c854defb1",
          "body": "## Description\n\nPlease include a summary of the change, the problem it solves, the\nimplementation approach, and relevant context. List any dependencies\nrequired for this change.\n\nRelated Issue (Required):  Fixes #issue_number\n\n## Type of change\n\nPlease delete options that are not relevant.\n\n- [ ] Bu\n[…]\nd the person who will review this PR | 我已提及将审查此 PR\n的人\n\n## Reviewer Checklist\n- [ ] closes #xxxx (Replace xxxx with the GitHub issue number)\n- [ ] Made sure Checks passed\n- [ ] Tests have been provided",
          "is_bot": false,
          "headline": "Chore/update workflow stale (#2065)",
          "author_name": "HarveyXiang",
          "author_login": "CarltonXiang",
          "committed_at": "2026-07-07T09:29:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cc0fb714ef7fea53955973f7f04f8ffb659c5b76",
          "body": null,
          "is_bot": false,
          "headline": "chore: update github workflow stale.yaml",
          "author_name": "harvey_xiang",
          "author_login": null,
          "committed_at": "2026-07-07T09:17:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0398e0ed23422d44fb20a740f9637e12735ee256",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into pr/may27-fixes",
          "author_name": "Erick Wipprecht",
          "author_login": "chiefmojo",
          "committed_at": "2026-07-04T14:25:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98154ec84f16ceaf2e55bf2018535ecd18d5435d",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' of github.com:MemTensor/MemOS",
          "author_name": "harvey_xiang",
          "author_login": null,
          "committed_at": "2026-07-03T08:34:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b051e6384d8c667ae7d521baa679f542f4488d19",
          "body": "## Description\n\nPlease include a summary of the change, the problem it solves, the\nimplementation approach, and relevant context. List any dependencies\nrequired for this change.\n\nRelated Issue (Required):  Fixes #issue_number\n\n## Type of change\n\nPlease delete options that are not relevant.\n\n- [ ] Bu\n[…]\nd the person who will review this PR | 我已提及将审查此 PR\n的人\n\n## Reviewer Checklist\n- [ ] closes #xxxx (Replace xxxx with the GitHub issue number)\n- [ ] Made sure Checks passed\n- [ ] Tests have been provided",
          "is_bot": false,
          "headline": "Dev v2.0.22 (#2058)",
          "author_name": "HarveyXiang",
          "author_login": "CarltonXiang",
          "committed_at": "2026-07-03T07:25:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "783c545aa19a61553eeacab54ad9d95dacc95971",
          "body": null,
          "is_bot": false,
          "headline": "chore: change version number to v2.0.22",
          "author_name": "jiachengzhen",
          "author_login": null,
          "committed_at": "2026-07-03T07:03:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53546fff273867b6ab6d1633dd849c7e104869d9",
          "body": "…new sessions (#1869)\n\nfix: prevent agent from acting on cross-session memories unprompted\n\n- Add session tracking to detect when memories are from previous sessions\n- Tag cross-session memories with [from previous session] marker\n- Inject passive instructions for cross-session memories (background \n[…]\ne memory usage within same session\n\nFixes #1532\n\nCo-authored-by: AutoDev Agent <autodev@memtensor.cn>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>\nCo-authored-by: zhaxi <syzsunshine219@gmail.com>",
          "is_bot": false,
          "headline": "Fix #1532: Agent incorrectly acts on cross-session memory context in …",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T13:18:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a612fe99534d970e7570593680575b06c68a49e8",
          "body": "…g model/provider chang (#1975)\n\nfeat(memos-local-openclaw): detect embedding model change and add re-embed CLI\n\nTags every cached embedding row with (provider, model) so the plugin can\ndetect when stored vectors were produced by a different embedding model\nthan the live config. On plugin init, when\n[…]\nmbedding-shaped tables; all upsert call sites pass producer info.\n\nResolves #1333.\n\nCo-authored-by: autodev <autodev@memtensor.bot>\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix #1333: [Feature Request] Re-embed existing memories when embeddin…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T13:15:38Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b50246b79bcede196540964c03681dce6fb98db1",
          "body": "fix(memos-local-openclaw): parse openclaw.json as JSON5 (#1543)\n\nOpenClaw stores its host config as JSON5 (// comments, single quotes,\ntrailing commas, unquoted identifier keys). The plugin previously read\nthe file via strict JSON.parse in 6 places, including the tools.allow\npatcher that runs on eve\n[…]\n empty; no throw on malformed).\n\nvitest: 21 new tests + 84 regression tests pass; tsc --noEmit clean.\n\nCo-authored-by: autodev <autodev@memtensor.dev>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>",
          "is_bot": false,
          "headline": "Fix #1543: fix: MEMOS不支持JSON5格式的openclaw.json (#1990)",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T13:15:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "17715689bc0002dcd0a732ab1e36bf23f5882094",
          "body": "fix(memos-local-plugin): recover memory_search + turn.end after hung bridge\n\nPorts the archived #1722 fix onto dev-20260624-v2.0.22, which never\nreceived it. Three cooperating defects in the Hermes MemOS Python\nadapter turn \"Node bridge subprocess dies quietly\" into \"every memory\ntool times out for \n[…]\niters). Ruff check + format\nclean. No wire-protocol change, no new dependencies.\n\nFixes #2028\n\nCo-authored-by: MemOS AutoDev <autodev@memtensor.local>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>",
          "is_bot": false,
          "headline": "Fix #2028: fix: memory error (#2036)",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T13:14:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c9f270f076e95868b826f797a36161b92ec318d0",
          "body": "…26.3.31 (#2037)\n\n* fix(memos-local-openclaw): migrate to OpenClaw 2026.3.31 memory API\n\nOpenClaw 2026.3.31 replaced the umbrella `registerMemoryCapability`\nwith three focused registrars (`registerMemoryPromptSection`,\n`registerMemoryFlushPlan`, `registerMemoryRuntime`), so the plugin's\ncall at inde\n[…]\ny after a successful postinstall\"\n\n---------\n\nCo-authored-by: MemOS AutoDev <autodev@memtensor.local>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>\nCo-authored-by: zhaxi <syzsunshine219@gmail.com>",
          "is_bot": false,
          "headline": "Fix #1559: fix: registerMemoryCapability API not found in OpenClaw 20…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T13:13:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "62af341281954535e92854ee68f02e5418b4c437",
          "body": "test(memos-local-plugin): guard bridge startStdioServer→core.init ordering (#1747)\n\nAdd regression coverage for #1747: the Hermes stdio bridge must call\nstartStdioServer() BEFORE awaiting core.init(). Otherwise orphan-episode\nrecovery (LLM-heavy, 10-60+s) inside init() blocks the stdio read loop,\nan\n[…]\ndio available within ms,\n  not after the init-block delay)\n\nUses a stub MemoryCore with a delayed init to simulate orphan recovery.\nFull bridge suite: 17/17 tests pass. Type-check clean.\n\nCloses #1747",
          "is_bot": false,
          "headline": "Fix #1747: bridge.cts 启动竞态: startStdioServer 应在 core.init 之前启动 (#2046)",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T13:13:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "227051097081c872e839bb3e675d672877ce6d15",
          "body": "…o load: ReferenceError (#2047)\n\nfix(memos-local-openclaw): align tsconfig with package.json \"type\": \"module\"\n\nIssue #1733 reported that the legacy @memtensor/memos-lite-openclaw-plugin\nv0.2.3 failed to load on Node 22 / OpenClaw 2026.5.7 with\n\"ReferenceError: exports is not defined in ES module sco\n[…]\nbuild -> dist/*.js emit ESM (import/export), no exports./module.exports\n- Sanity: chunker/config/storage/plugin-openclaw-wiring/plugin-impl-access\n  tests (32 total) still pass unchanged.\n\nRefs: #1733",
          "is_bot": false,
          "headline": "Fix #1733: [Bug] @memtensor/memos-lite-openclaw-plugin v0.2.3 fails t…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T13:12:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ca6ca9c9513d13ba047649cf9b0d462ed5ee8f19",
          "body": "… on MiniMax & Anthropi (#1868)\n\nfix: split system-only messages into system+user for MiniMax/Anthropic compatibility\n\nFixes #1527\n\nChanges:\n- suggestion_handler.py: Split system-only messages in _get_further_suggestion() and handle_get_suggestion_queries()\n- chat_handler.py: Split system-only messa\n[…]\nsuring compatibility with MiniMax and Anthropic APIs while maintaining OpenAI compatibility.\n\nCo-authored-by: AutoDev Bot <autodev-bot@memtensor.com>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>",
          "is_bot": false,
          "headline": "Fix #1527: [Bug] suggestion_handler sends system-only message — fails…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T12:20:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e3f4e51ed812dc0ead496f282609775f07918433",
          "body": "… direct call differenc (#1982)\n\nfix(scheduler): surface live local-queue counts in /scheduler/allstatus\n\nhandle_scheduler_allstatus only aggregated per-stream entries whose key\nstarts with \"scheduler:\" — these only exist for the Redis-backed message\nqueue. Under DEFAULT_USE_REDIS_QUEUE=false (Docke\n[…]\ns so\nin_progress / waiting / pending reflect the live state of the local\nqueue and dispatcher. Redis-queue aggregation is unchanged.\n\nFixes #1395\n\nCo-authored-by: autodev-bot <autodev@memtensor.local>",
          "is_bot": false,
          "headline": "Fix #1395: Scheduler initialized but not processing tasks (uvicorn vs…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T11:59:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "44bec71d651d83d7f393109bde0f807af3136f77",
          "body": "…o load: ReferenceError (#1996)\n\n* fix(memos-local-openclaw): emit ESM from tsc to match package type:module\n\nThe package declared \"type\": \"module\" but the tsconfig used\n\"module\": \"CommonJS\", so any `npm run build` produced dist/*.js files\ncontaining `Object.defineProperty(exports, ...)` and `export\n[…]\nhey are not.\n\n---------\n\nCo-authored-by: MemTensor AutoDev <autodev@memtensor.local>\nCo-authored-by: Claude Code (AutoDev) <claude-code@autodev.local>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>",
          "is_bot": false,
          "headline": "Fix #1733: [Bug] @memtensor/memos-lite-openclaw-plugin v0.2.3 fails t…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T11:54:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "11d9258cae512d9e5d8ec8820ebe7e146f619dda",
          "body": "…… (#2042)\n\n* Fix #1518: (capture) Internal \"Review the conversation above\" prompts stored as user chunks (#1828)\n\nfix(memos-local-openclaw): skip \"Review the conversation above\" injected prompts in capture\n\nHermes Agent (and similar agent frameworks) inject \"Review the conversation\nabove, consider \n[…]\noDev <autodev@memtensor.local>\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\nCo-authored-by: Jiang <33757498+hijzy@users.noreply.github.com>\nCo-authored-by: jiang <fdjzy@qq.com>",
          "is_bot": false,
          "headline": "Fix #1518: (capture) Internal \"Review the conversation above\" prompts…",
          "author_name": "HarveyXiang",
          "author_login": "CarltonXiang",
          "committed_at": "2026-07-02T11:51:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "18e90e7d9b00a30e92ede89f1514efeb5d6b52de",
          "body": "fix: ci ruff",
          "is_bot": false,
          "headline": "fix: ci ruff check (#2045)",
          "author_name": "Qi Weng",
          "author_login": "bittergreen",
          "committed_at": "2026-07-02T11:50:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e28b2a1912e7e29d3c545e20079d249ab46e638",
          "body": "…o4j (#1977)\n\nfix(mem_reader): use \"memory list\" key in LLM-unparseable fallback (#1355)\n\nWhen the LLM response could not be parsed as JSON,\nSimpleStructMemReader._get_llm_response returned a salvage dict whose\nsole memory item was keyed by \"memory_list\" (with an underscore).\nDownstream consumers in\n[…]\nion tests covering the\nunit-level fallback shape and the reader-stage end-to-end path.\n\nCloses #1355\n\nCo-authored-by: autodev <autodev@memtensor.bot>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>",
          "is_bot": false,
          "headline": "Fix #1355: [Bug] /product/add returns 200 but memory not stored in Ne…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T11:33:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "290fbf1b1bb60133bbe6d3a67d1bd3e5a62f4500",
          "body": "test(memos-local-plugin): pin bridge.cts startup ordering invariant (#1747)\n\nIssue #1747 reported that the Hermes Python adapter's first `session.open`\nRPC times out (30s default) when MemOS bridge starts with dirty orphan\nepisodes from a previous chat — `core.init()` was running orphan-episode\nreco\n[…]\n2/82). The 2 pre-existing storage-layer failures on the base\nbranch are unrelated (confirmed via `git stash`). `tsc --noEmit` clean.\n\nRefs: #1747\n\nCo-authored-by: autodev-bot <autodev@memtensor.local>",
          "is_bot": false,
          "headline": "Fix #1747: bridge.cts 启动竞态: startStdioServer 应在 core.init 之前启动 (#1999)",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T11:28:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c507b044ce696e20c3a18ff60e20959750a9d775",
          "body": "…r after transient star (#2001)\n\nfix(hermes): expire _bridge_ok cache so MemTensorProvider self-heals\n\nThe module-level _bridge_ok cache in daemon_manager.py had no expiry, so a\nsingle transient _node_available() failure during Hermes gateway startup\n(subprocess race, .env loaded after the first pro\n[…]\nng cache hit, TTL expiry recovery, running-\nbridge fallback, shutdown reset, and full-call revalidation. 48/48 python\ntests pass.\n\nCloses #1797\n\nCo-authored-by: MemOS AutoDev <autodev@memtensor.local>",
          "is_bot": false,
          "headline": "Fix #1797: bug(hermes): _bridge_ok cache permanently disables provide…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T11:28:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4e16c6858da756309f7201782193f8bdf1579c11",
          "body": "…tarves Gateway event l (#2002)\n\nfix(memos-local-plugin): defer dreaming pipeline off Gateway event loop + backoff failed dirty rescores (#1808)\n\n`core.init()` in memos-local-plugin used to synchronously await the\nentire reflect → reward → L2-induction chain for every orphan and\ndirty closed episode\n[…]\n7 (the 2 unrelated `storage/traces-count` +\n`storage/migrator` failures reproduce on the base branch).\n\nCo-authored-by: Claude <noreply@anthropic.com>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>",
          "is_bot": false,
          "headline": "Fix #1808: fix: [memos-local-plugin] Dreaming background processing s…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T11:27:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f1f31e556194c53bdf30391b6943723871c28f7a",
          "body": "…ent loop starvation on (#2038)\n\n* fix(memos-local-plugin): SQL-only embedding maintenance stats (#1929)\n\n`GET /api/v1/embeddings/maintenance` used to paginate every trace / policy /\nworld_model / skill row through `repos.*.list()`, which reads full BLOB\nvector columns and decodes them into Float32A\n[…]\nexport tidy-up.\n\n---------\n\nCo-authored-by: autodev-bot <autodev@memtensor.local>\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>",
          "is_bot": false,
          "headline": "Fix #1929: Bug: /api/v1/embeddings/maintenance causes 100% CPU and ev…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T11:11:11Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f75fc6d0b073cb6af86b6ae3f37435d0a52935af",
          "body": "Fix: bridge.cts hardcoded profileId: \"default\", causing all profile-specific\ndata to be invisible in the memOS web viewer for non-default profiles.\n\nThe Python adapter already derives profileId correctly from HERMES_HOME.\nThis change mirrors that logic in the Node.js bridge.\n\n- Add deriveProfileId()\n[…]\n\"default\" if MEMOS_HOME is not set or path does not match\n- Impact: zero for single-profile/default setups (still resolves to \"default\")\n\nFixes profile resolution issue reported by nova profile users.",
          "is_bot": false,
          "headline": "fix(bridge): derive profileId dynamically from MEMOS_HOME (#1949)",
          "author_name": "redashes1984",
          "author_login": "redashes1984",
          "committed_at": "2026-07-02T09:51:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "53df4581f5258fbe9ba47381578aa7c6da19f96f",
          "body": "* fix(memos-local): L2 candidate policy stuck in candidate — add Step 5 recheck\n\nA candidate policy whose support/gain already satisfy the promotion\nthresholds (support >= minSupport && gain >= minGain) but is no longer\ncosine-matched by any trace in subsequent episodes will never enter\n'touched' an\n[…]\nlling shutdown).\n\nBoth are required: weakref enables GC collection, __del__ ensures\ncleanup happens when collection occurs.\n\n---------\n\nCo-authored-by: a844810597 <a844810597@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(memos-local): L2 candidate stuck + bridge subprocess leak (#1933)",
          "author_name": "a844810597",
          "author_login": "a844810597",
          "committed_at": "2026-07-02T09:50:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f314f47029b71d4ffae115d89b297d820fa4496b",
          "body": "* fix(memos-local): L2 candidate policy stuck in candidate — add Step 5 recheck\n\nA candidate policy whose support/gain already satisfy the promotion\nthresholds (support >= minSupport && gain >= minGain) but is no longer\ncosine-matched by any trace in subsequent episodes will never enter\n'touched' an\n[…]\nfecycle integration\n\n---------\n\nCo-authored-by: a844810597 <a844810597@users.noreply.github.com>\nCo-authored-by: Ubuntu <ubuntu@localhost.localdomain>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>",
          "is_bot": false,
          "headline": "feat(memos-local): auto-promote candidate skills without trial (#1943)",
          "author_name": "a844810597",
          "author_login": "a844810597",
          "committed_at": "2026-07-02T09:50:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7dd42dd584410c7d43812211940fe1f25e5a780d",
          "body": "… per call; old-space f (#1864)\n\n* fix: prevent ONNX memory leak in embedLocal by disposing tensors\n\n- Add explicit tensor disposal after each embedding call to free native ONNX memory\n- Implement periodic pipeline reset (default: every 50 calls) as safety net\n- Add MEMOS_EMBED_RESET_AFTER_CALLS env var for tuning (set to 0 to disable)\n- Add comprehensive tests for memory leak fix\n- Reduces leak rate from ~24 MB/s to ~0.25 MB/s\n\nFixes #1863\n\n* test: mock local embedding model in leak regression",
          "is_bot": false,
          "headline": "Fix #1863: [memos-local-openclaw] embedLocal leaks native ONNX memory…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T09:49:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c353fbe9e74365263ba70469ac0d529d42e09a97",
          "body": null,
          "is_bot": false,
          "headline": "chore: update poetry.lock",
          "author_name": "harvey_xiang",
          "author_login": null,
          "committed_at": "2026-07-02T09:09:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca75756be1ce3031aead74574799f923d6c91293",
          "body": "…ions and returns None (#1885)\n\n* fix: re-raise exceptions in timed_with_status when no fallback configured\n\nFixes #1523\n\nThe timed_with_status decorator was catching all exceptions but\nsilently swallowing them when no fallback was provided, causing\ndecorated functions to return None instead of prop\n[…]\n@users.noreply.github.com>\nCo-authored-by: Dubberman <48425266+whipser030@users.noreply.github.com>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>\nCo-authored-by: jiachengzhen <jiacz@memtensor.cn>",
          "is_bot": false,
          "headline": "Fix #1523: [Bug] timed_with_status decorator silently swallows except…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T08:19:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "38ee5c2ceaaa52927847de1d3854234eb21991d2",
          "body": "fix: raise scipy floor to ^1.13.0 for numpy 2.x / chonkie 1.6 compatibility\n\nThe [tool.poetry.group.eval] block declared `scipy = \"^1.10.1\"`, but\nscipy 1.10.x pins `numpy<1.27.0` while chonkie>=1.6 requires\n`numpy>=2.0.0`. The two constraints cannot be jointly satisfied, so\nusers hitting both packag\n[…]\nnumpy 2.2.6 / 2.3.1), all of\nwhich satisfy the new floor, so no re-lock is needed.\n\nFixes #1342\n\nCo-authored-by: MemOS AutoDev <autodev@memtensor.cn>\nCo-authored-by: HarveyXiang <harvey_xiang@163.com>",
          "is_bot": false,
          "headline": "Fix #1342: [Bug] v2.0.10 依赖冲突: numpy/scipy/chonkie 版本不兼容 (#1971)",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T08:17:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "06836ef32611e9dcfedff13b78c41dd24248d028",
          "body": "… (No add/update items  (#1989)\n\n* fix: mem_reader fallback dict key matches consumer in simple_struct (#1493)\n\n`SimpleStructMemReader._get_llm_response` returned its salvage dict under\nthe key `memory_list` (underscore) while every downstream consumer reads\n`memory list` (space). The fallback was t\n[…]\nruff lint + format clean.\n\n* chore: re-trigger test-engine (auto-gen tests now advisory/non-gating; prior FAILED was a false positive)\n\n---------\n\nCo-authored-by: MemOS AutoDev <autodev@memtensor.com>",
          "is_bot": false,
          "headline": "Fix #1493: fix: /product/add returns 200 success but stores no memory…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T08:12:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cc427ae2e5744f0edcb6680c06ee579dd75a2c72",
          "body": "## Description\n\nfix: default-disable dream plugin\ndocs: add readme for dream\ndocs: add readme for plugins\n\n## Type of change\n\n- [x] New feature (non-breaking change which adds functionality)\n- [x] Documentation update\n\n## How Has This Been Tested?\n\n- [x] Unit Test - tests/plugins/\n\n## Checklist\n\n- [\n[…]\nd the person who will review this PR | 我已提及将审查此 PR\n的人\n\n## Reviewer Checklist\n- [ ] closes #xxxx (Replace xxxx with the GitHub issue number)\n- [ ] Made sure Checks passed\n- [ ] Tests have been provided",
          "is_bot": false,
          "headline": "default-disable dream plugin & add READMEs (#1851)",
          "author_name": "Qi Weng",
          "author_login": "bittergreen",
          "committed_at": "2026-07-02T08:04:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ab7029b0dbe32baf62ab880b9cd559ddc6c4b50b",
          "body": null,
          "is_bot": false,
          "headline": "feat: Support independent model config for preference memory. (#2039)",
          "author_name": "Qi Weng",
          "author_login": "bittergreen",
          "committed_at": "2026-07-02T07:57:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0ce7131a6ad2910c137caced09dad44f4a415ab",
          "body": "…#1609)\n\nfix(memos-local-plugin): recognize 'memos' agent prefix in viewer SPA and server\n\ndetectAgentPrefix() only recognized openclaw/hermes, so when the viewer\nwas accessed through a /memos/ reverse-proxy prefix the SPA made API\ncalls without the prefix — hitting 404. Add 'memos' to both the\nfrontend prefix detector and the server-side AGENT_NAMES allowlist.",
          "is_bot": false,
          "headline": "fix(memos-local-plugin): support /memos/ proxy prefix in viewer SPA (…",
          "author_name": "Xinyu Du",
          "author_login": "Starfie1d1272",
          "committed_at": "2026-07-02T07:34:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b745665d5c39ec1bb0a07469636f96497e8ce515",
          "body": "* fix: make memos startup recovery non-blocking\n\n* test: wait for async startup recovery",
          "is_bot": false,
          "headline": "fix: make MemOS startup recovery non-blocking (#1758)",
          "author_name": "leavrcn",
          "author_login": "leavrcn",
          "committed_at": "2026-07-02T07:34:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eca8e468479a3a369ff05d4fb33fd17fb242e2b4",
          "body": "* fix(memos-local-plugin): detect Hermes chat with global flags\n\n* test: align Hermes bridge status test with helper module",
          "is_bot": false,
          "headline": "fix(memos-local-plugin): detect Hermes chat with global flags (#1951)",
          "author_name": "Kral",
          "author_login": "dashitongzhi",
          "committed_at": "2026-07-02T07:32:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b65daef47df8070b3cafd11c1b9ee722d0d8b7d",
          "body": "…ith prior meta-discuss (#1970)\n\nfix(openclaw-plugin): skip auto-recall for cron sessions (#1311)\n\nOpenClaw cron jobs reuse a stable session-key namespace\n(agent:<id>:cron:<jobId>) and the before_prompt_build hook used the cron\nprompt itself as the recall query. Prior meta-discussion about the cron\n\n[…]\ndefaulted in resolveConfig\n- Hook in apps/memos-local-openclaw/index.ts gains the early-return gate\n- Unit + integration tests cover cron / non-cron / opt-out / custom\n  patterns / invalid-regex paths",
          "is_bot": false,
          "headline": "Fix #1311: bug(openclaw-plugin): auto-recall contaminates cron runs w…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T07:29:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9176e380174cc76e7360512ff4fa82b3b3a348ef",
          "body": "feat(memos-local-openclaw): add recall.autoRecallMinQueryLength config\n\nAuto-recall previously fired on every prompt down to 2 characters,\ninjecting unrelated history when users typed one-word confirmations\nlike \"好的\", \"可以\", \"运行\", \"继续\", \"?\", \"👍\". Reporter (#1347)\ndocumented the noise injection, token\n[…]\nple phrase while keeping legitimate short queries\n(\"fix bug\" / \"what is X\") usable. Users wanting the more aggressive\nsuggestion (10) can opt in; setting 0 restores pre-feature behaviour.\n\nRefs: #1347",
          "is_bot": false,
          "headline": "Fix #1347: 建议:增加自动召回的短查询过滤参数(min_query_length) (#1976)",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T07:29:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b54554bd7ae7ec27bbf1db0e2af2a7ccdc49b12e",
          "body": "Refresh README benchmark highlights and FAQ with the latest Agent Memory and User Memory evaluation results.",
          "is_bot": false,
          "headline": "docs: update benchmark PR messaging (#2019)",
          "author_name": "Matthew",
          "author_login": "MatthewZhuang",
          "committed_at": "2026-07-02T07:28:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9997751e094b667c195f2e0123c2fdb4ee1335f",
          "body": null,
          "is_bot": false,
          "headline": "fix(memos-local): align trace list pagination cap (#2026)",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T07:27:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c092077df3bb54ba60649787e35b14d4a60aee4c",
          "body": null,
          "is_bot": false,
          "headline": "feat: Support independent model config for preference memory.",
          "author_name": "bittergreen",
          "author_login": "bittergreen",
          "committed_at": "2026-07-02T07:19:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b43c933ecf2f360d0efb3f617d02c00bb4df7c0",
          "body": null,
          "is_bot": false,
          "headline": "fix(openclaw): restart promptly after update install (#2032)",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T06:28:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bfd14843d865753a78354f73efbe052e7eff66f",
          "body": "…Key relaxation (#1921)\n\nfix(memos-local-plugin): ensure system messages are always first in chat messages\n\nFixes HTTP 400 errors with Qwen3.6/vLLM which enforces 'system message must\nbe at the beginning' in its Jinja2 chat template.\n\nWhen skill crystallization or reward scoring constructs messages \n[…]\ntem message\n3. Appends all non-system messages in original order\n\nIncludes a fast path: if there's exactly one system already at position 0\nwith no later systems, returns the original array unchanged.",
          "is_bot": false,
          "headline": "fix(memos-local-plugin): system message ordering + local endpoint api…",
          "author_name": "redashes1984",
          "author_login": "redashes1984",
          "committed_at": "2026-07-02T06:26:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5646c1369a05baf0800aec528a4bc7dafedf04d8",
          "body": "…ent loop starvation on (#1935)\n\n* fix(memos-local-plugin): stop blocking event loop in /api/v1/embeddings/maintenance\n\nThe maintenance stats endpoint used to paginate every row of `traces`,\n`policies`, `world_model`, and `skills` and hydrate the BLOB vector\ncolumns into JS just to inspect each vect\n[…]\n rename failed) is a server-side fault,\nso `PATCH /api/v1/config` must return 500 `internal`, not 400. The\nschema-validation (`config_invalid`) → 400 case is covered by the\nadjacent test.\n\nRefs: #1929",
          "is_bot": false,
          "headline": "Fix #1929: Bug: /api/v1/embeddings/maintenance causes 100% CPU and ev…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T06:24:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "082425625ad29bf574d1d3a4d5b5765cf4f0f2ae",
          "body": "…d output (dist/) (#1820)\n\nfix(plugin): compile TypeScript to dist/ for npm package\n\n- Updated package.json to point main entry to dist/index.js\n- Changed files field to include dist/ instead of raw src/\n- Updated openclaw.extensions to use compiled output\n- Changed prepublishOnly to prepack with np\n[…]\nile both index.ts and src/\n- Changed module to ES2022 to match package.json type: module\n- Added type declarations for openclaw/plugin-sdk external module\n- Added verification test script\n\nFixes #1619",
          "is_bot": false,
          "headline": "Fix #1619: Bug: npm package ships TypeScript source only — no compile…",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T06:21:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c99d6392a9c680dd71d0c32e4ed7d47a6c4f87c2",
          "body": "fix(memos-local-plugin): extend memory.search/turn.end RPC timeout to 75s\n\nThe Hermes memtensor provider used the JSON-RPC 30s default for\nmemory.search, turn.start, and turn.end. After 1-2 hours of Hermes\nuse the V7 retrieval / capture / reflection pipeline legitimately runs\npast 30s once memory ac\n[…]\nmit and sync_turn's\n_ensure_bridge already opt into. Short-latency calls (session.open,\ncore.health, memory.get_*, skill.*) stay on the 30s fast-path so\nregressions there remain visible.\n\nFixes #2028.",
          "is_bot": false,
          "headline": "Fix #2028: fix: memory error (#2031)",
          "author_name": "Memtensor-AI",
          "author_login": "Memtensor-AI",
          "committed_at": "2026-07-02T06:21:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        }
      ],
      "releases_count": 35,
      "commits_last_year": 1870,
      "latest_release_at": "2026-07-19T14:49:33Z",
      "latest_release_tag": "v2.0.24",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 49,
      "days_since_latest_release": 4,
      "mean_days_between_releases": 9.7
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "MemoryOS",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "memory",
            "llm",
            "language model",
            "memoryOS",
            "agent",
            "kv cache",
            "lora",
            "Intended Audience :: Developers",
            "License :: OSI Approved :: Apache Software License",
            "Natural Language :: Chinese (Simplified)",
            "Natural Language :: English",
            "Operating System :: OS Independent",
            "Programming Language :: Python :: 3 :: Only",
            "Programming Language :: Python :: 3.10",
            "Programming Language :: Python :: 3.11",
            "Programming Language :: Python :: 3.12",
            "Programming Language :: Python :: 3.13",
            "Topic :: Software Development :: Libraries",
            "Topic :: Software Development :: Libraries :: Python Modules"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/MemoryOS/",
          "is_deprecated": false,
          "latest_version": "2.0.24",
          "repository_url": "https://github.com/MemTensor/MemOS",
          "versions_count": 34,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2025-05-19T11:41:56.131340Z",
          "latest_published_at": "2026-07-19T14:50:34.106897Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 4
        }
      ]
    },
    "popularity": {
      "forks": 945,
      "stars": 10355,
      "watchers": 44,
      "fork_history": {
        "days": [
          {
            "date": "2025-07-06",
            "count": 2
          },
          {
            "date": "2025-07-07",
            "count": 24
          },
          {
            "date": "2025-07-08",
            "count": 14
          },
          {
            "date": "2025-07-09",
            "count": 23
          },
          {
            "date": "2025-07-10",
            "count": 24
          },
          {
            "date": "2025-07-11",
            "count": 8
          },
          {
            "date": "2025-07-12",
            "count": 7
          },
          {
            "date": "2025-07-13",
            "count": 2
          },
          {
            "date": "2025-07-14",
            "count": 7
          },
          {
            "date": "2025-07-15",
            "count": 4
          },
          {
            "date": "2025-07-16",
            "count": 7
          },
          {
            "date": "2025-07-17",
            "count": 5
          },
          {
            "date": "2025-07-18",
            "count": 4
          },
          {
            "date": "2025-07-19",
            "count": 2
          },
          {
            "date": "2025-07-20",
            "count": 2
          },
          {
            "date": "2025-07-21",
            "count": 1
          },
          {
            "date": "2025-07-22",
            "count": 1
          },
          {
            "date": "2025-07-23",
            "count": 1
          },
          {
            "date": "2025-07-25",
            "count": 5
          },
          {
            "date": "2025-07-26",
            "count": 3
          },
          {
            "date": "2025-07-27",
            "count": 1
          },
          {
            "date": "2025-07-28",
            "count": 2
          },
          {
            "date": "2025-07-30",
            "count": 1
          },
          {
            "date": "2025-08-01",
            "count": 1
          },
          {
            "date": "2025-08-03",
            "count": 3
          },
          {
            "date": "2025-08-04",
            "count": 1
          },
          {
            "date": "2025-08-05",
            "count": 2
          },
          {
            "date": "2025-08-06",
            "count": 2
          },
          {
            "date": "2025-08-07",
            "count": 2
          },
          {
            "date": "2025-08-08",
            "count": 2
          },
          {
            "date": "2025-08-09",
            "count": 2
          },
          {
            "date": "2025-08-10",
            "count": 2
          },
          {
            "date": "2025-08-11",
            "count": 3
          },
          {
            "date": "2025-08-13",
            "count": 1
          },
          {
            "date": "2025-08-14",
            "count": 1
          },
          {
            "date": "2025-08-16",
            "count": 1
          },
          {
            "date": "2025-08-17",
            "count": 2
          },
          {
            "date": "2025-08-18",
            "count": 1
          },
          {
            "date": "2025-08-19",
            "count": 2
          },
          {
            "date": "2025-08-20",
            "count": 2
          },
          {
            "date": "2025-08-25",
            "count": 1
          },
          {
            "date": "2025-08-29",
            "count": 1
          },
          {
            "date": "2025-09-01",
            "count": 1
          },
          {
            "date": "2025-09-02",
            "count": 1
          },
          {
            "date": "2025-09-03",
            "count": 1
          },
          {
            "date": "2025-09-04",
            "count": 1
          },
          {
            "date": "2025-09-08",
            "count": 1
          },
          {
            "date": "2025-09-09",
            "count": 3
          },
          {
            "date": "2025-09-10",
            "count": 3
          },
          {
            "date": "2025-09-11",
            "count": 1
          },
          {
            "date": "2025-09-15",
            "count": 1
          },
          {
            "date": "2025-09-16",
            "count": 2
          },
          {
            "date": "2025-09-17",
            "count": 1
          },
          {
            "date": "2025-09-22",
            "count": 3
          },
          {
            "date": "2025-09-23",
            "count": 1
          },
          {
            "date": "2025-09-24",
            "count": 1
          },
          {
            "date": "2025-09-25",
            "count": 2
          },
          {
            "date": "2025-09-26",
            "count": 1
          },
          {
            "date": "2025-09-27",
            "count": 1
          },
          {
            "date": "2025-09-28",
            "count": 2
          },
          {
            "date": "2025-10-01",
            "count": 1
          },
          {
            "date": "2025-10-02",
            "count": 1
          },
          {
            "date": "2025-10-03",
            "count": 1
          },
          {
            "date": "2025-10-04",
            "count": 1
          },
          {
            "date": "2025-10-06",
            "count": 1
          },
          {
            "date": "2025-10-10",
            "count": 1
          },
          {
            "date": "2025-10-13",
            "count": 1
          },
          {
            "date": "2025-10-15",
            "count": 1
          },
          {
            "date": "2025-10-16",
            "count": 3
          },
          {
            "date": "2025-10-18",
            "count": 1
          },
          {
            "date": "2025-10-20",
            "count": 1
          },
          {
            "date": "2025-10-24",
            "count": 2
          },
          {
            "date": "2025-10-25",
            "count": 1
          },
          {
            "date": "2025-10-28",
            "count": 1
          },
          {
            "date": "2025-10-29",
            "count": 1
          },
          {
            "date": "2025-10-30",
            "count": 1
          },
          {
            "date": "2025-10-31",
            "count": 2
          },
          {
            "date": "2025-11-03",
            "count": 2
          },
          {
            "date": "2025-11-04",
            "count": 3
          },
          {
            "date": "2025-11-06",
            "count": 2
          },
          {
            "date": "2025-11-07",
            "count": 1
          },
          {
            "date": "2025-11-10",
            "count": 1
          },
          {
            "date": "2025-11-11",
            "count": 1
          },
          {
            "date": "2025-11-12",
            "count": 3
          },
          {
            "date": "2025-11-13",
            "count": 2
          },
          {
            "date": "2025-11-14",
            "count": 1
          },
          {
            "date": "2025-11-16",
            "count": 1
          },
          {
            "date": "2025-11-17",
            "count": 2
          },
          {
            "date": "2025-11-18",
            "count": 1
          },
          {
            "date": "2025-11-19",
            "count": 2
          },
          {
            "date": "2025-11-20",
            "count": 4
          },
          {
            "date": "2025-11-21",
            "count": 1
          },
          {
            "date": "2025-11-24",
            "count": 3
          },
          {
            "date": "2025-11-26",
            "count": 1
          },
          {
            "date": "2025-11-27",
            "count": 1
          },
          {
            "date": "2025-11-28",
            "count": 1
          },
          {
            "date": "2025-12-01",
            "count": 3
          },
          {
            "date": "2025-12-02",
            "count": 1
          },
          {
            "date": "2025-12-03",
            "count": 3
          },
          {
            "date": "2025-12-04",
            "count": 10
          },
          {
            "date": "2025-12-05",
            "count": 2
          },
          {
            "date": "2025-12-06",
            "count": 1
          },
          {
            "date": "2025-12-07",
            "count": 1
          },
          {
            "date": "2025-12-08",
            "count": 2
          },
          {
            "date": "2025-12-09",
            "count": 2
          },
          {
            "date": "2025-12-10",
            "count": 4
          },
          {
            "date": "2025-12-11",
            "count": 3
          },
          {
            "date": "2025-12-12",
            "count": 1
          },
          {
            "date": "2025-12-17",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 3
          },
          {
            "date": "2025-12-23",
            "count": 3
          },
          {
            "date": "2025-12-25",
            "count": 3
          },
          {
            "date": "2025-12-26",
            "count": 1
          },
          {
            "date": "2025-12-27",
            "count": 2
          },
          {
            "date": "2025-12-28",
            "count": 1
          },
          {
            "date": "2025-12-29",
            "count": 3
          },
          {
            "date": "2025-12-30",
            "count": 1
          },
          {
            "date": "2025-12-31",
            "count": 1
          },
          {
            "date": "2026-01-06",
            "count": 3
          },
          {
            "date": "2026-01-08",
            "count": 1
          },
          {
            "date": "2026-01-09",
            "count": 2
          },
          {
            "date": "2026-01-10",
            "count": 1
          },
          {
            "date": "2026-01-12",
            "count": 2
          },
          {
            "date": "2026-01-14",
            "count": 2
          },
          {
            "date": "2026-01-16",
            "count": 1
          },
          {
            "date": "2026-01-17",
            "count": 2
          },
          {
            "date": "2026-01-18",
            "count": 1
          },
          {
            "date": "2026-01-19",
            "count": 3
          },
          {
            "date": "2026-01-20",
            "count": 27
          },
          {
            "date": "2026-01-21",
            "count": 30
          },
          {
            "date": "2026-01-22",
            "count": 3
          },
          {
            "date": "2026-01-23",
            "count": 8
          },
          {
            "date": "2026-01-24",
            "count": 4
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-01-27",
            "count": 1
          },
          {
            "date": "2026-01-28",
            "count": 3
          },
          {
            "date": "2026-01-29",
            "count": 1
          },
          {
            "date": "2026-01-31",
            "count": 1
          },
          {
            "date": "2026-02-01",
            "count": 1
          },
          {
            "date": "2026-02-03",
            "count": 4
          },
          {
            "date": "2026-02-04",
            "count": 3
          },
          {
            "date": "2026-02-05",
            "count": 2
          },
          {
            "date": "2026-02-06",
            "count": 4
          },
          {
            "date": "2026-02-07",
            "count": 1
          },
          {
            "date": "2026-02-08",
            "count": 2
          },
          {
            "date": "2026-02-09",
            "count": 6
          },
          {
            "date": "2026-02-10",
            "count": 6
          },
          {
            "date": "2026-02-11",
            "count": 5
          },
          {
            "date": "2026-02-12",
            "count": 6
          },
          {
            "date": "2026-02-13",
            "count": 5
          },
          {
            "date": "2026-02-14",
            "count": 9
          },
          {
            "date": "2026-02-15",
            "count": 9
          },
          {
            "date": "2026-02-16",
            "count": 2
          },
          {
            "date": "2026-02-17",
            "count": 6
          },
          {
            "date": "2026-02-18",
            "count": 3
          },
          {
            "date": "2026-02-19",
            "count": 4
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-21",
            "count": 3
          },
          {
            "date": "2026-02-22",
            "count": 2
          },
          {
            "date": "2026-02-23",
            "count": 4
          },
          {
            "date": "2026-02-25",
            "count": 5
          },
          {
            "date": "2026-02-26",
            "count": 5
          },
          {
            "date": "2026-02-27",
            "count": 4
          },
          {
            "date": "2026-02-28",
            "count": 2
          },
          {
            "date": "2026-03-01",
            "count": 1
          },
          {
            "date": "2026-03-02",
            "count": 8
          },
          {
            "date": "2026-03-03",
            "count": 5
          },
          {
            "date": "2026-03-04",
            "count": 2
          },
          {
            "date": "2026-03-05",
            "count": 4
          },
          {
            "date": "2026-03-06",
            "count": 4
          },
          {
            "date": "2026-03-08",
            "count": 3
          },
          {
            "date": "2026-03-09",
            "count": 5
          },
          {
            "date": "2026-03-10",
            "count": 5
          },
          {
            "date": "2026-03-11",
            "count": 13
          },
          {
            "date": "2026-03-12",
            "count": 6
          },
          {
            "date": "2026-03-13",
            "count": 5
          },
          {
            "date": "2026-03-14",
            "count": 4
          },
          {
            "date": "2026-03-15",
            "count": 4
          },
          {
            "date": "2026-03-16",
            "count": 11
          },
          {
            "date": "2026-03-17",
            "count": 8
          },
          {
            "date": "2026-03-18",
            "count": 6
          },
          {
            "date": "2026-03-19",
            "count": 5
          },
          {
            "date": "2026-03-20",
            "count": 2
          },
          {
            "date": "2026-03-21",
            "count": 5
          },
          {
            "date": "2026-03-22",
            "count": 4
          },
          {
            "date": "2026-03-23",
            "count": 8
          },
          {
            "date": "2026-03-24",
            "count": 6
          },
          {
            "date": "2026-03-25",
            "count": 7
          },
          {
            "date": "2026-03-26",
            "count": 5
          },
          {
            "date": "2026-03-27",
            "count": 1
          },
          {
            "date": "2026-03-28",
            "count": 4
          },
          {
            "date": "2026-03-29",
            "count": 2
          },
          {
            "date": "2026-03-30",
            "count": 3
          },
          {
            "date": "2026-03-31",
            "count": 4
          },
          {
            "date": "2026-04-01",
            "count": 4
          },
          {
            "date": "2026-04-02",
            "count": 7
          },
          {
            "date": "2026-04-03",
            "count": 3
          },
          {
            "date": "2026-04-05",
            "count": 3
          },
          {
            "date": "2026-04-06",
            "count": 4
          },
          {
            "date": "2026-04-07",
            "count": 4
          },
          {
            "date": "2026-04-08",
            "count": 1
          },
          {
            "date": "2026-04-09",
            "count": 1
          },
          {
            "date": "2026-04-10",
            "count": 7
          },
          {
            "date": "2026-04-11",
            "count": 4
          },
          {
            "date": "2026-04-12",
            "count": 1
          },
          {
            "date": "2026-04-13",
            "count": 4
          },
          {
            "date": "2026-04-14",
            "count": 3
          },
          {
            "date": "2026-04-16",
            "count": 2
          },
          {
            "date": "2026-04-17",
            "count": 2
          },
          {
            "date": "2026-04-18",
            "count": 1
          },
          {
            "date": "2026-04-19",
            "count": 5
          },
          {
            "date": "2026-04-20",
            "count": 2
          },
          {
            "date": "2026-04-21",
            "count": 3
          },
          {
            "date": "2026-04-22",
            "count": 2
          },
          {
            "date": "2026-04-23",
            "count": 11
          },
          {
            "date": "2026-04-24",
            "count": 2
          },
          {
            "date": "2026-04-25",
            "count": 4
          },
          {
            "date": "2026-04-26",
            "count": 6
          },
          {
            "date": "2026-04-27",
            "count": 3
          },
          {
            "date": "2026-04-28",
            "count": 6
          },
          {
            "date": "2026-04-29",
            "count": 2
          },
          {
            "date": "2026-05-01",
            "count": 2
          },
          {
            "date": "2026-05-03",
            "count": 2
          },
          {
            "date": "2026-05-04",
            "count": 1
          },
          {
            "date": "2026-05-05",
            "count": 1
          },
          {
            "date": "2026-05-06",
            "count": 3
          },
          {
            "date": "2026-05-07",
            "count": 1
          },
          {
            "date": "2026-05-08",
            "count": 4
          },
          {
            "date": "2026-05-09",
            "count": 3
          },
          {
            "date": "2026-05-10",
            "count": 1
          },
          {
            "date": "2026-05-11",
            "count": 2
          },
          {
            "date": "2026-05-12",
            "count": 4
          },
          {
            "date": "2026-05-14",
            "count": 4
          },
          {
            "date": "2026-05-15",
            "count": 2
          },
          {
            "date": "2026-05-16",
            "count": 2
          },
          {
            "date": "2026-05-17",
            "count": 4
          },
          {
            "date": "2026-05-18",
            "count": 8
          },
          {
            "date": "2026-05-19",
            "count": 2
          },
          {
            "date": "2026-05-20",
            "count": 4
          },
          {
            "date": "2026-05-21",
            "count": 6
          },
          {
            "date": "2026-05-22",
            "count": 6
          },
          {
            "date": "2026-05-23",
            "count": 1
          },
          {
            "date": "2026-05-24",
            "count": 1
          },
          {
            "date": "2026-05-25",
            "count": 3
          },
          {
            "date": "2026-05-26",
            "count": 3
          },
          {
            "date": "2026-05-27",
            "count": 3
          },
          {
            "date": "2026-05-28",
            "count": 4
          },
          {
            "date": "2026-05-29",
            "count": 1
          },
          {
            "date": "2026-06-01",
            "count": 1
          },
          {
            "date": "2026-06-02",
            "count": 4
          },
          {
            "date": "2026-06-04",
            "count": 4
          },
          {
            "date": "2026-06-05",
            "count": 4
          },
          {
            "date": "2026-06-06",
            "count": 5
          },
          {
            "date": "2026-06-08",
            "count": 6
          },
          {
            "date": "2026-06-09",
            "count": 1
          },
          {
            "date": "2026-06-10",
            "count": 5
          },
          {
            "date": "2026-06-11",
            "count": 6
          },
          {
            "date": "2026-06-12",
            "count": 6
          },
          {
            "date": "2026-06-14",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 2
          },
          {
            "date": "2026-06-17",
            "count": 2
          },
          {
            "date": "2026-06-18",
            "count": 2
          },
          {
            "date": "2026-06-20",
            "count": 1
          },
          {
            "date": "2026-06-21",
            "count": 1
          },
          {
            "date": "2026-06-23",
            "count": 2
          },
          {
            "date": "2026-06-24",
            "count": 1
          },
          {
            "date": "2026-06-25",
            "count": 1
          },
          {
            "date": "2026-06-26",
            "count": 1
          },
          {
            "date": "2026-06-29",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 3
          },
          {
            "date": "2026-07-01",
            "count": 2
          },
          {
            "date": "2026-07-02",
            "count": 1
          },
          {
            "date": "2026-07-05",
            "count": 3
          },
          {
            "date": "2026-07-06",
            "count": 1
          },
          {
            "date": "2026-07-07",
            "count": 2
          },
          {
            "date": "2026-07-08",
            "count": 4
          },
          {
            "date": "2026-07-11",
            "count": 5
          },
          {
            "date": "2026-07-14",
            "count": 2
          },
          {
            "date": "2026-07-15",
            "count": 4
          },
          {
            "date": "2026-07-17",
            "count": 2
          },
          {
            "date": "2026-07-18",
            "count": 1
          },
          {
            "date": "2026-07-19",
            "count": 2
          },
          {
            "date": "2026-07-20",
            "count": 2
          },
          {
            "date": "2026-07-21",
            "count": 5
          },
          {
            "date": "2026-07-22",
            "count": 1
          },
          {
            "date": "2026-07-23",
            "count": 2
          }
        ],
        "complete": true,
        "collected": 940,
        "total_forks": 945
      },
      "star_history": null,
      "open_issues_and_prs": 80
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": true,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "apps/memos-local-openclaw/tsconfig.json",
        "apps/memos-local-plugin/tsconfig.json",
        "apps/openwork-memos-integration/apps/desktop/skills/ask-user-question/tsconfig.json",
        "apps/openwork-memos-integration/apps/desktop/skills/dev-browser/tsconfig.json",
        "apps/openwork-memos-integration/apps/desktop/skills/file-permission/tsconfig.json",
        "apps/openwork-memos-integration/apps/desktop/tsconfig.json",
        "apps/openwork-memos-integration/packages/shared/tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 658395,
      "source_files_sampled": 1404,
      "oversized_source_files": 21,
      "agent_instruction_files": [
        "AGENTS.md",
        "CLAUDE.md",
        "apps/openwork-memos-integration/CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 10155
    },
    "dependencies": {
      "manifests": [
        "docker/requirements-full.txt",
        "docker/requirements.txt",
        "pyproject.toml"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "fastmcp",
            "direct": true,
            "version": "2.14.7",
            "severity": "critical",
            "ecosystem": "pypi",
            "cvss_score": 10,
            "advisory_ids": [
              "GHSA-m8x7-r2rg-vh5g",
              "GHSA-rww4-4w9c-7733",
              "GHSA-vv7q-7jx5-f767",
              "PYSEC-2026-2475",
              "PYSEC-2026-2476",
              "PYSEC-2026-338"
            ],
            "fixed_version": "3.2.0",
            "advisory_count": 6,
            "oldest_advisory_days": 114
          },
          {
            "name": "transformers",
            "direct": true,
            "version": "4.57.6",
            "severity": "critical",
            "ecosystem": "pypi",
            "cvss_score": 9.6,
            "advisory_ids": [
              "GHSA-29pf-2h5f-8g72",
              "GHSA-69w3-r845-3855",
              "GHSA-fgcw-684q-jj6r",
              "PYSEC-2025-217",
              "PYSEC-2026-2288",
              "PYSEC-2026-2289",
              "PYSEC-2026-2290"
            ],
            "fixed_version": "5.5.0",
            "advisory_count": 7,
            "oldest_advisory_days": 212
          },
          {
            "name": "mcp",
            "direct": false,
            "version": "1.27.2",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-vj7q-gjh5-988w",
              "PYSEC-2026-3483"
            ],
            "fixed_version": "1.28.1",
            "advisory_count": 2,
            "oldest_advisory_days": 7
          },
          {
            "name": "starlette",
            "direct": false,
            "version": "0.46.2",
            "severity": "high",
            "ecosystem": "pypi",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-2c2j-9gv5-cj73",
              "GHSA-7f5h-v6xp-fcq8",
              "GHSA-82w8-qh3p-5jfq",
              "GHSA-86qp-5c8j-p5mr",
              "GHSA-jp82-jpqv-5vv3",
              "GHSA-wqp7-x3pw-xc5r",
              "GHSA-x746-7m8f-x49c",
              "PYSEC-2026-161",
              "PYSEC-2026-1941",
              "PYSEC-2026-1942"
            ],
            "fixed_version": "1.3.1",
            "advisory_count": 14,
            "oldest_advisory_days": 367
          },
          {
            "name": "diskcache",
            "direct": false,
            "version": "5.6.3",
            "severity": "moderate",
            "ecosystem": "pypi",
            "cvss_score": null,
            "advisory_ids": [
              "GHSA-w8v5-vhqr-4h9v",
              "PYSEC-2026-2447"
            ],
            "fixed_version": null,
            "advisory_count": 2,
            "oldest_advisory_days": 162
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 2,
          "critical": 2,
          "moderate": 1
        },
        "advisory_count": 31,
        "affected_count": 5,
        "assessed_count": 127,
        "malicious_count": 0,
        "assessed_package": "pypi:MemoryOS@2.0.24",
        "unassessed_count": 0,
        "direct_affected_count": 2
      },
      "ecosystems": [
        "pypi"
      ],
      "dependencies": [
        {
          "name": "openai",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "(>=1.77.0,<2.0.0)"
        },
        {
          "name": "ollama",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "(>=0.5.0,<0.5.1)"
        },
        {
          "name": "transformers",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "(>=4.51.3,<5.0.0)"
        },
        {
          "name": "tenacity",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "(>=9.1.2,<10.0.0)"
        },
        {
          "name": "fastapi",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "(>=0.115.12,<0.116.0)"
        },
        {
          "name": "sqlalchemy",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "(>=2.0.41,<3.0.0)"
        },
        {
          "name": "pymysql",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "(>=1.1.0,<2.0.0)"
        },
        {
          "name": "scikit-learn",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "(>=1.7.0,<2.0.0)"
        },
        {
          "name": "fastmcp",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "(>=2.10.5,<3.0.0)"
        },
        {
          "name": "python-dateutil",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "(>=2.9.0.post0,<3.0.0)"
        },
        {
          "name": "prometheus-client",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "(>=0.23.1,<0.24.0)"
        },
        {
          "name": "concurrent-log-handler",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "(>=0.9.28,<1.0.0)"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "concurrent-log-handler",
            "direct": true,
            "version": "0.9.28",
            "ecosystem": "pypi"
          },
          {
            "name": "concurrent-log-handler",
            "direct": true,
            "version": "0.9.29",
            "ecosystem": "pypi"
          },
          {
            "name": "fastapi",
            "direct": true,
            "version": "0.115.14",
            "ecosystem": "pypi"
          },
          {
            "name": "fastmcp",
            "direct": true,
            "version": "2.10.5",
            "ecosystem": "pypi"
          },
          {
            "name": "fastmcp",
            "direct": true,
            "version": "2.13.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "fastmcp",
            "direct": true,
            "version": "2.14.7",
            "ecosystem": "pypi"
          },
          {
            "name": "ollama",
            "direct": true,
            "version": "0.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "openai",
            "direct": true,
            "version": "1.109.1",
            "ecosystem": "pypi"
          },
          {
            "name": "openai",
            "direct": true,
            "version": "1.97.0",
            "ecosystem": "pypi"
          },
          {
            "name": "prometheus-client",
            "direct": true,
            "version": "0.23.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pymysql",
            "direct": true,
            "version": "1.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dateutil",
            "direct": true,
            "version": "2.9.0.post0",
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-learn",
            "direct": true,
            "version": "1.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-learn",
            "direct": true,
            "version": "1.7.2",
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-learn",
            "direct": true,
            "version": "1.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": true,
            "version": "2.0.41",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": true,
            "version": "2.0.44",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": true,
            "version": "2.0.49",
            "ecosystem": "pypi"
          },
          {
            "name": "tenacity",
            "direct": true,
            "version": "9.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tenacity",
            "direct": true,
            "version": "9.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "transformers",
            "direct": true,
            "version": "4.53.2",
            "ecosystem": "pypi"
          },
          {
            "name": "transformers",
            "direct": true,
            "version": "4.57.1",
            "ecosystem": "pypi"
          },
          {
            "name": "transformers",
            "direct": true,
            "version": "4.57.6",
            "ecosystem": "pypi"
          },
          {
            "name": "@aws-sdk/client-bedrock",
            "direct": false,
            "version": "^3.971.0",
            "ecosystem": "npm"
          },
          {
            "name": "@aws-sdk/credential-providers",
            "direct": false,
            "version": "^3.971.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.29.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-annotate-as-pure",
            "direct": false,
            "version": "7.27.3",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-globals",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.28.5",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.29.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-jsx",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-react-jsx",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-react-jsx-development",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.28.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.0",
            "ecosystem": "npm"
          },
          {
            "name": "@electron/rebuild",
            "direct": false,
            "version": "^4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@hono/node-server",
            "direct": false,
            "version": "^1.19.7",
            "ecosystem": "npm"
          },
          {
            "name": "@hono/node-ws",
            "direct": false,
            "version": "^1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@huggingface/jinja",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "npm"
          },
          {
            "name": "@huggingface/transformers",
            "direct": false,
            "version": "3.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "@huggingface/transformers",
            "direct": false,
            "version": "^3.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@img/colour",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-darwin-arm64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-darwin-x64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-darwin-arm64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-darwin-x64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-arm",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-arm64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-ppc64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-riscv64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-s390x",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linux-x64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linuxmusl-arm64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-libvips-linuxmusl-x64",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-arm",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-arm64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-ppc64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-riscv64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-s390x",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linux-x64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linuxmusl-arm64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-linuxmusl-x64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-wasm32",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-win32-arm64",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-win32-ia32",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "@img/sharp-win32-x64",
            "direct": false,
            "version": "0.34.5",
            "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": "@modelcontextprotocol/sdk",
            "direct": false,
            "version": "^1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@playwright/test",
            "direct": false,
            "version": "^1.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "@preact/preset-vite",
            "direct": false,
            "version": "2.10.5",
            "ecosystem": "npm"
          },
          {
            "name": "@preact/signals",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@preact/signals-core",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "@prefresh/babel-plugin",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "@prefresh/core",
            "direct": false,
            "version": "1.5.9",
            "ecosystem": "npm"
          },
          {
            "name": "@prefresh/utils",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@prefresh/vite",
            "direct": false,
            "version": "2.4.12",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/aspromise",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/base64",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/codegen",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/eventemitter",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/fetch",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/float",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/inquire",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/path",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/pool",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@protobufjs/utf8",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-avatar",
            "direct": false,
            "version": "^1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-dialog",
            "direct": false,
            "version": "^1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-dropdown-menu",
            "direct": false,
            "version": "^2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-label",
            "direct": false,
            "version": "^2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-popover",
            "direct": false,
            "version": "^1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-select",
            "direct": false,
            "version": "^2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-separator",
            "direct": false,
            "version": "^1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-slot",
            "direct": false,
            "version": "^1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@radix-ui/react-tooltip",
            "direct": false,
            "version": "^1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/pluginutils",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/pluginutils",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "^4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "@sinclair/typebox",
            "direct": false,
            "version": "0.34.49",
            "ecosystem": "npm"
          },
          {
            "name": "@sinclair/typebox",
            "direct": false,
            "version": "^0.34.48",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/typography",
            "direct": false,
            "version": "^0.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/dom",
            "direct": false,
            "version": "^10.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/jest-dom",
            "direct": false,
            "version": "6.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/react",
            "direct": false,
            "version": "^16.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/better-sqlite3",
            "direct": false,
            "version": "7.6.13",
            "ecosystem": "npm"
          },
          {
            "name": "@types/better-sqlite3",
            "direct": false,
            "version": "^7.6.12",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/express",
            "direct": false,
            "version": "^5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "22.19.17",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "^22.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "^22.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react",
            "direct": false,
            "version": "^19.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react-dom",
            "direct": false,
            "version": "^19.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/semver",
            "direct": false,
            "version": "^7.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/uuid",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/uuid",
            "direct": false,
            "version": "^10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vitejs/plugin-react",
            "direct": false,
            "version": "^4.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/coverage-v8",
            "direct": false,
            "version": "^4.0.17",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "autoprefixer",
            "direct": false,
            "version": "^10.4.20",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-transform-hook-names",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.19",
            "ecosystem": "npm"
          },
          {
            "name": "baseline-browser-mapping",
            "direct": false,
            "version": "2.10.20",
            "ecosystem": "npm"
          },
          {
            "name": "better-sqlite3",
            "direct": false,
            "version": "12.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "better-sqlite3",
            "direct": false,
            "version": "12.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "better-sqlite3",
            "direct": false,
            "version": "^12.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "bindings",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "bl",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "boolbase",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "boolean",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.28.2",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "cac",
            "direct": false,
            "version": "6.7.14",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001788",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "5.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "check-error",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "class-variance-authority",
            "direct": false,
            "version": "^0.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "clsx",
            "direct": false,
            "version": "^2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "css-select",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "css-what",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decompress-response",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-eql",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "deep-extend",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "define-data-property",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "define-properties",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "detect-node",
            "direct": false,
            "version": "2.1.0",
            "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": "dotenv",
            "direct": false,
            "version": "^17.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "electron",
            "direct": false,
            "version": "^35.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "electron-builder",
            "direct": false,
            "version": "^25.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "electron-store",
            "direct": false,
            "version": "^8.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.340",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.343",
            "ecosystem": "npm"
          },
          {
            "name": "end-of-stream",
            "direct": false,
            "version": "1.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "4.5.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-module-lexer",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "es6-error",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.21.5",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "expand-template",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "express",
            "direct": false,
            "version": "^4.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-uri-to-path",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flatbuffers",
            "direct": false,
            "version": "25.9.23",
            "ecosystem": "npm"
          },
          {
            "name": "framer-motion",
            "direct": false,
            "version": "^12.26.2",
            "ecosystem": "npm"
          },
          {
            "name": "fs-constants",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-tsconfig",
            "direct": false,
            "version": "4.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "github-from-package",
            "direct": false,
            "version": "0.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "global-agent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "globalthis",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "guid-typescript",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "happy-dom",
            "direct": false,
            "version": "^20.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-property-descriptors",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "he",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "hono",
            "direct": false,
            "version": "^4.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsdom",
            "direct": false,
            "version": "^27.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stringify-safe",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "kolorist",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "long",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "loupe",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "lucide-react",
            "direct": false,
            "version": "^0.454.0",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "matcher",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-response",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "minizlib",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp-classic",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.11",
            "ecosystem": "npm"
          },
          {
            "name": "napi-build-utils",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "next",
            "direct": false,
            "version": "^15.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "node-abi",
            "direct": false,
            "version": "3.89.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-html-parser",
            "direct": false,
            "version": "6.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "node-pty",
            "direct": false,
            "version": "^1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.37",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.38",
            "ecosystem": "npm"
          },
          {
            "name": "nth-check",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-keys",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onnxruntime-common",
            "direct": false,
            "version": "1.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "onnxruntime-common",
            "direct": false,
            "version": "1.22.0-dev.20250409-89f8206ba4",
            "ecosystem": "npm"
          },
          {
            "name": "onnxruntime-node",
            "direct": false,
            "version": "1.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "onnxruntime-web",
            "direct": false,
            "version": "1.22.0-dev.20250409-89f8206ba4",
            "ecosystem": "npm"
          },
          {
            "name": "opencode-ai",
            "direct": false,
            "version": "1.1.16",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "pathval",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "platform",
            "direct": false,
            "version": "1.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.10",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "^8.4.49",
            "ecosystem": "npm"
          },
          {
            "name": "posthog-node",
            "direct": false,
            "version": "^5.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "preact",
            "direct": false,
            "version": "10.29.1",
            "ecosystem": "npm"
          },
          {
            "name": "prebuild-install",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "protobufjs",
            "direct": false,
            "version": "7.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "pump",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "puppeteer",
            "direct": false,
            "version": "^24.38.0",
            "ecosystem": "npm"
          },
          {
            "name": "rc",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": false,
            "version": "^19.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": false,
            "version": "^19.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-markdown",
            "direct": false,
            "version": "^9.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-router-dom",
            "direct": false,
            "version": "^7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "rebrowser-playwright",
            "direct": false,
            "version": "^1.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-pkg-maps",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "roarr",
            "direct": false,
            "version": "2.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.60.1",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.60.2",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "^7.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "semver-compare",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-error",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "sharp",
            "direct": false,
            "version": "0.34.5",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "simple-code-frame",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "simple-concat",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "simple-get",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.7.6",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "stack-trace",
            "direct": false,
            "version": "1.0.0-pre2",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "3.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tailwind-merge",
            "direct": false,
            "version": "^3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": false,
            "version": "^3.4.17",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss-animate",
            "direct": false,
            "version": "^1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "tar",
            "direct": false,
            "version": "7.5.13",
            "ecosystem": "npm"
          },
          {
            "name": "tar-fs",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "tar-stream",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinypool",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyspy",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "4.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "^4.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "tunnel-agent",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "^5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "^5.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "^5.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "^10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "5.4.21",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "^6.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "vite-node",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "vite-plugin-electron",
            "direct": false,
            "version": "^0.28.8",
            "ecosystem": "npm"
          },
          {
            "name": "vite-prerender-plugin",
            "direct": false,
            "version": "0.5.13",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "2.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "^2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "^4.0.17",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.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.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "zimmerframe",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": false,
            "version": "^3.24.1",
            "ecosystem": "npm"
          },
          {
            "name": "zustand",
            "direct": false,
            "version": "^5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "absl-py",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "alibabacloud-oss-v2",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "annotated-doc",
            "direct": false,
            "version": "0.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "annotated-types",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "async-timeout",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": "25.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": "25.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": "26.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "authlib",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "authlib",
            "direct": false,
            "version": "1.6.5",
            "ecosystem": "pypi"
          },
          {
            "name": "authlib",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "backoff",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "backports-tarfile",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "beartype",
            "direct": false,
            "version": "0.22.5",
            "ecosystem": "pypi"
          },
          {
            "name": "beartype",
            "direct": false,
            "version": "0.22.9",
            "ecosystem": "pypi"
          },
          {
            "name": "beautifulsoup4",
            "direct": false,
            "version": "4.13.4",
            "ecosystem": "pypi"
          },
          {
            "name": "beautifulsoup4",
            "direct": false,
            "version": "4.14.3",
            "ecosystem": "pypi"
          },
          {
            "name": "bert-score",
            "direct": false,
            "version": "0.3.13",
            "ecosystem": "pypi"
          },
          {
            "name": "cachetools",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cachetools",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cachetools",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2025.11.12",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2025.7.14",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2026.2.25",
            "ecosystem": "pypi"
          },
          {
            "name": "cffi",
            "direct": false,
            "version": "1.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cffi",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cfgv",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.7",
            "ecosystem": "pypi"
          },
          {
            "name": "chonkie",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "chonkie",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "chonkie",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "pypi"
          },
          {
            "name": "chonkie-core",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": false,
            "version": "8.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": false,
            "version": "8.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cloudpickle",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cobble",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "colorama",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "pypi"
          },
          {
            "name": "coloredlogs",
            "direct": false,
            "version": "15.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "contourpy",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "coverage",
            "direct": false,
            "version": "7.13.5",
            "ecosystem": "pypi"
          },
          {
            "name": "crcmod-plus",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cronsim",
            "direct": false,
            "version": "2.7",
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "45.0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "46.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "46.0.7",
            "ecosystem": "pypi"
          },
          {
            "name": "cuda-bindings",
            "direct": false,
            "version": "13.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cuda-pathfinder",
            "direct": false,
            "version": "1.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "cuda-toolkit",
            "direct": false,
            "version": "13.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cycler",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cyclopts",
            "direct": false,
            "version": "3.22.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cyclopts",
            "direct": false,
            "version": "4.10.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cyclopts",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "datasketch",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "datasketch",
            "direct": false,
            "version": "1.6.5",
            "ecosystem": "pypi"
          },
          {
            "name": "defusedxml",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "diskcache",
            "direct": false,
            "version": "5.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "distlib",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "distro",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dnspython",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dnspython",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "docstring-parser",
            "direct": false,
            "version": "0.16",
            "ecosystem": "pypi"
          },
          {
            "name": "docstring-parser",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "docstring-parser",
            "direct": false,
            "version": "0.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "docutils",
            "direct": false,
            "version": "0.21.2",
            "ecosystem": "pypi"
          },
          {
            "name": "docutils",
            "direct": false,
            "version": "0.22.3",
            "ecosystem": "pypi"
          },
          {
            "name": "docutils",
            "direct": false,
            "version": "0.22.4",
            "ecosystem": "pypi"
          },
          {
            "name": "dotenv",
            "direct": false,
            "version": "0.9.9",
            "ecosystem": "pypi"
          },
          {
            "name": "email-validator",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "email-validator",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "et-xmlfile",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "exceptiongroup",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "exceptiongroup",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "fakeredis",
            "direct": false,
            "version": "2.34.1",
            "ecosystem": "pypi"
          },
          {
            "name": "fastapi-cli",
            "direct": false,
            "version": "0.0.16",
            "ecosystem": "pypi"
          },
          {
            "name": "fastapi-cli",
            "direct": false,
            "version": "0.0.24",
            "ecosystem": "pypi"
          },
          {
            "name": "fastapi-cli",
            "direct": false,
            "version": "0.0.8",
            "ecosystem": "pypi"
          },
          {
            "name": "fastapi-cloud-cli",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "fastapi-cloud-cli",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fastapi-cloud-cli",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "fastar",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": false,
            "version": "3.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": false,
            "version": "3.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": false,
            "version": "3.29.0",
            "ecosystem": "pypi"
          },
          {
            "name": "flatbuffers",
            "direct": false,
            "version": "25.12.19",
            "ecosystem": "pypi"
          },
          {
            "name": "flatbuffers",
            "direct": false,
            "version": "25.2.10",
            "ecosystem": "pypi"
          },
          {
            "name": "fonttools",
            "direct": false,
            "version": "4.59.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": false,
            "version": "2025.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": false,
            "version": "2025.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": false,
            "version": "2026.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "greenlet",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "greenlet",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": false,
            "version": "1.73.1",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": false,
            "version": "1.76.0",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": false,
            "version": "1.80.0",
            "ecosystem": "pypi"
          },
          {
            "name": "h11",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "h2",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "h2",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "hf-xet",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "hf-xet",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "hf-xet",
            "direct": false,
            "version": "1.4.3",
            "ecosystem": "pypi"
          },
          {
            "name": "hpack",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "httpcore",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "pypi"
          },
          {
            "name": "httptools",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "pypi"
          },
          {
            "name": "httptools",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": false,
            "version": "0.28.1",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx-sse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx-sse",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "pypi"
          },
          {
            "name": "huggingface-hub",
            "direct": false,
            "version": "0.33.4",
            "ecosystem": "pypi"
          },
          {
            "name": "huggingface-hub",
            "direct": false,
            "version": "0.36.0",
            "ecosystem": "pypi"
          },
          {
            "name": "huggingface-hub",
            "direct": false,
            "version": "0.36.2",
            "ecosystem": "pypi"
          },
          {
            "name": "humanfriendly",
            "direct": false,
            "version": "10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "hyperframe",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "identify",
            "direct": false,
            "version": "2.6.12",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.10",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.11",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.12",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-metadata",
            "direct": false,
            "version": "8.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "iniconfig",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "iniconfig",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "itsdangerous",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-classes",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-context",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-context",
            "direct": false,
            "version": "6.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-functools",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jaraco-functools",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jeepney",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jieba",
            "direct": false,
            "version": "0.42",
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "jiter",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jiter",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jiter",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "joblib",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "joblib",
            "direct": false,
            "version": "1.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "joblib",
            "direct": false,
            "version": "1.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "joserfc",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpatch",
            "direct": false,
            "version": "1.33",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpointer",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpointer",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonref",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema",
            "direct": false,
            "version": "4.24.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema",
            "direct": false,
            "version": "4.25.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema",
            "direct": false,
            "version": "4.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-path",
            "direct": false,
            "version": "0.3.4",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-path",
            "direct": false,
            "version": "0.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-specifications",
            "direct": false,
            "version": "2025.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-specifications",
            "direct": false,
            "version": "2025.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "keyring",
            "direct": false,
            "version": "25.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "keyring",
            "direct": false,
            "version": "25.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "kiwisolver",
            "direct": false,
            "version": "1.4.8",
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-core",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-core",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-text-splitters",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "langchain-text-splitters",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "langgraph",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "langgraph-checkpoint",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "langgraph-prebuilt",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "langgraph-sdk",
            "direct": false,
            "version": "0.1.73",
            "ecosystem": "pypi"
          },
          {
            "name": "langsmith",
            "direct": false,
            "version": "0.4.7",
            "ecosystem": "pypi"
          },
          {
            "name": "langsmith",
            "direct": false,
            "version": "0.7.33",
            "ecosystem": "pypi"
          },
          {
            "name": "lupa",
            "direct": false,
            "version": "2.8",
            "ecosystem": "pypi"
          },
          {
            "name": "lxml",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "lxml",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "magika",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "magika",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "mammoth",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mammoth",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown-it-py",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown-it-py",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "markdownify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "markdownify",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "markitdown",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "markitdown",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "matplotlib",
            "direct": false,
            "version": "3.10.3",
            "ecosystem": "pypi"
          },
          {
            "name": "mcp",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mcp",
            "direct": false,
            "version": "1.21.1",
            "ecosystem": "pypi"
          },
          {
            "name": "mcp",
            "direct": false,
            "version": "1.27.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mem0ai",
            "direct": false,
            "version": "0.1.114",
            "ecosystem": "pypi"
          },
          {
            "name": "memoryos",
            "direct": false,
            "version": "2.0.14",
            "ecosystem": "pypi"
          },
          {
            "name": "more-itertools",
            "direct": false,
            "version": "10.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "more-itertools",
            "direct": false,
            "version": "11.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mpmath",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "neo4j",
            "direct": false,
            "version": "5.28.1",
            "ecosystem": "pypi"
          },
          {
            "name": "neo4j",
            "direct": false,
            "version": "5.28.3",
            "ecosystem": "pypi"
          },
          {
            "name": "networkx",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "networkx",
            "direct": false,
            "version": "3.5",
            "ecosystem": "pypi"
          },
          {
            "name": "networkx",
            "direct": false,
            "version": "3.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nltk",
            "direct": false,
            "version": "3.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nltk",
            "direct": false,
            "version": "3.9.4",
            "ecosystem": "pypi"
          },
          {
            "name": "nodeenv",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": "2.2.6",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": "2.3.4",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": "2.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cublas",
            "direct": false,
            "version": "13.1.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cublas-cu12",
            "direct": false,
            "version": "12.6.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cuda-cupti",
            "direct": false,
            "version": "13.0.85",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cuda-cupti-cu12",
            "direct": false,
            "version": "12.6.80",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cuda-nvrtc",
            "direct": false,
            "version": "13.0.88",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cuda-nvrtc-cu12",
            "direct": false,
            "version": "12.6.77",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cuda-runtime",
            "direct": false,
            "version": "13.0.96",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cuda-runtime-cu12",
            "direct": false,
            "version": "12.6.77",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cudnn-cu12",
            "direct": false,
            "version": "9.5.1.17",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cudnn-cu13",
            "direct": false,
            "version": "9.19.0.56",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cufft",
            "direct": false,
            "version": "12.0.0.61",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cufft-cu12",
            "direct": false,
            "version": "11.3.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cufile",
            "direct": false,
            "version": "1.15.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cufile-cu12",
            "direct": false,
            "version": "1.11.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-curand",
            "direct": false,
            "version": "10.4.0.35",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-curand-cu12",
            "direct": false,
            "version": "10.3.7.77",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cusolver",
            "direct": false,
            "version": "12.0.4.66",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cusolver-cu12",
            "direct": false,
            "version": "11.7.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cusparse",
            "direct": false,
            "version": "12.6.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cusparse-cu12",
            "direct": false,
            "version": "12.5.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cusparselt-cu12",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-cusparselt-cu13",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nccl-cu12",
            "direct": false,
            "version": "2.26.2",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nccl-cu13",
            "direct": false,
            "version": "2.28.9",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nvjitlink",
            "direct": false,
            "version": "13.0.88",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nvjitlink-cu12",
            "direct": false,
            "version": "12.6.85",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nvshmem-cu13",
            "direct": false,
            "version": "3.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nvtx",
            "direct": false,
            "version": "13.0.85",
            "ecosystem": "pypi"
          },
          {
            "name": "nvidia-nvtx-cu12",
            "direct": false,
            "version": "12.6.77",
            "ecosystem": "pypi"
          },
          {
            "name": "onnxruntime",
            "direct": false,
            "version": "1.20.1",
            "ecosystem": "pypi"
          },
          {
            "name": "onnxruntime",
            "direct": false,
            "version": "1.22.1",
            "ecosystem": "pypi"
          },
          {
            "name": "openapi-pydantic",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "openpyxl",
            "direct": false,
            "version": "3.1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-api",
            "direct": false,
            "version": "1.41.0",
            "ecosystem": "pypi"
          },
          {
            "name": "orjson",
            "direct": false,
            "version": "3.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "orjson",
            "direct": false,
            "version": "3.11.4",
            "ecosystem": "pypi"
          },
          {
            "name": "orjson",
            "direct": false,
            "version": "3.11.8",
            "ecosystem": "pypi"
          },
          {
            "name": "ormsgpack",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "26.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pathable",
            "direct": false,
            "version": "0.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pathable",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pathvalidate",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pdfminer-six",
            "direct": false,
            "version": "20250506",
            "ecosystem": "pypi"
          },
          {
            "name": "pdfminer-six",
            "direct": false,
            "version": "20251230",
            "ecosystem": "pypi"
          },
          {
            "name": "pdfplumber",
            "direct": false,
            "version": "0.11.9",
            "ecosystem": "pypi"
          },
          {
            "name": "pika",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "11.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "12.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "platformdirs",
            "direct": false,
            "version": "4.3.8",
            "ecosystem": "pypi"
          },
          {
            "name": "platformdirs",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "platformdirs",
            "direct": false,
            "version": "4.9.6",
            "ecosystem": "pypi"
          },
          {
            "name": "pluggy",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "portalocker",
            "direct": false,
            "version": "2.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "portalocker",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "portalocker",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "posthog",
            "direct": false,
            "version": "6.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pre-commit",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": false,
            "version": "6.31.1",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": false,
            "version": "6.33.1",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": false,
            "version": "7.34.1",
            "ecosystem": "pypi"
          },
          {
            "name": "psycopg2-binary",
            "direct": false,
            "version": "2.9.11",
            "ecosystem": "pypi"
          },
          {
            "name": "py-key-value-aio",
            "direct": false,
            "version": "0.2.8",
            "ecosystem": "pypi"
          },
          {
            "name": "py-key-value-aio",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "py-key-value-shared",
            "direct": false,
            "version": "0.2.8",
            "ecosystem": "pypi"
          },
          {
            "name": "py-key-value-shared",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "2.22",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "2.23",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pycryptodome",
            "direct": false,
            "version": "3.23.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": false,
            "version": "2.11.7",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": false,
            "version": "2.12.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": false,
            "version": "2.13.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-core",
            "direct": false,
            "version": "2.33.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-core",
            "direct": false,
            "version": "2.41.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-core",
            "direct": false,
            "version": "2.46.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-extra-types",
            "direct": false,
            "version": "2.10.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-extra-types",
            "direct": false,
            "version": "2.10.6",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-extra-types",
            "direct": false,
            "version": "2.11.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-settings",
            "direct": false,
            "version": "2.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-settings",
            "direct": false,
            "version": "2.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-settings",
            "direct": false,
            "version": "2.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pydocket",
            "direct": false,
            "version": "0.18.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": false,
            "version": "2.19.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": false,
            "version": "2.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyjwt",
            "direct": false,
            "version": "2.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyjwt",
            "direct": false,
            "version": "2.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pymilvus",
            "direct": false,
            "version": "2.6.12",
            "ecosystem": "pypi"
          },
          {
            "name": "pymilvus",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pymilvus",
            "direct": false,
            "version": "2.6.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pyparsing",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pypdfium2",
            "direct": false,
            "version": "5.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyperclip",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyperclip",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyreadline3",
            "direct": false,
            "version": "3.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "8.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "9.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-asyncio",
            "direct": false,
            "version": "0.23.8",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-cov",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-html",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-metadata",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dotenv",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dotenv",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dotenv",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "python-json-logger",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-multipart",
            "direct": false,
            "version": "0.0.20",
            "ecosystem": "pypi"
          },
          {
            "name": "python-multipart",
            "direct": false,
            "version": "0.0.26",
            "ecosystem": "pypi"
          },
          {
            "name": "python-pptx",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pytz",
            "direct": false,
            "version": "2025.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pytz",
            "direct": false,
            "version": "2026.1.post1",
            "ecosystem": "pypi"
          },
          {
            "name": "pywin32",
            "direct": false,
            "version": "311",
            "ecosystem": "pypi"
          },
          {
            "name": "pywin32-ctypes",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "qdrant-client",
            "direct": false,
            "version": "1.14.3",
            "ecosystem": "pypi"
          },
          {
            "name": "qdrant-client",
            "direct": false,
            "version": "1.16.2",
            "ecosystem": "pypi"
          },
          {
            "name": "qdrant-client",
            "direct": false,
            "version": "1.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "rake-nltk",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "pypi"
          },
          {
            "name": "rank-bm25",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "redis",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "redis",
            "direct": false,
            "version": "6.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "referencing",
            "direct": false,
            "version": "0.36.2",
            "ecosystem": "pypi"
          },
          {
            "name": "referencing",
            "direct": false,
            "version": "0.37.0",
            "ecosystem": "pypi"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "2024.11.6",
            "ecosystem": "pypi"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "2025.11.3",
            "ecosystem": "pypi"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "2026.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": false,
            "version": "2.32.4",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": false,
            "version": "2.32.5",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": false,
            "version": "2.33.1",
            "ecosystem": "pypi"
          },
          {
            "name": "requests-toolbelt",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": false,
            "version": "14.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rich",
            "direct": false,
            "version": "15.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-rst",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-rst",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-toolkit",
            "direct": false,
            "version": "0.14.8",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-toolkit",
            "direct": false,
            "version": "0.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "rich-toolkit",
            "direct": false,
            "version": "0.19.7",
            "ecosystem": "pypi"
          },
          {
            "name": "rignore",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "rignore",
            "direct": false,
            "version": "0.7.6",
            "ecosystem": "pypi"
          },
          {
            "name": "rouge-score",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "rpds-py",
            "direct": false,
            "version": "0.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rpds-py",
            "direct": false,
            "version": "0.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rpds-py",
            "direct": false,
            "version": "0.30.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ruff",
            "direct": false,
            "version": "0.11.13",
            "ecosystem": "pypi"
          },
          {
            "name": "safetensors",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "safetensors",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "safetensors",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "schedule",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": false,
            "version": "1.15.3",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": false,
            "version": "1.16.3",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": false,
            "version": "1.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "secretstorage",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sentence-transformers",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sentry-sdk",
            "direct": false,
            "version": "2.33.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sentry-sdk",
            "direct": false,
            "version": "2.44.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sentry-sdk",
            "direct": false,
            "version": "2.58.0",
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": false,
            "version": "80.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": false,
            "version": "81.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "shellingham",
            "direct": false,
            "version": "1.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "six",
            "direct": false,
            "version": "1.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sniffio",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sortedcontainers",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "soupsieve",
            "direct": false,
            "version": "2.7",
            "ecosystem": "pypi"
          },
          {
            "name": "soupsieve",
            "direct": false,
            "version": "2.8.3",
            "ecosystem": "pypi"
          },
          {
            "name": "sse-starlette",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sse-starlette",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "starlette",
            "direct": false,
            "version": "0.46.2",
            "ecosystem": "pypi"
          },
          {
            "name": "sympy",
            "direct": false,
            "version": "1.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "taskgroup",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tavily-python",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tavily-python",
            "direct": false,
            "version": "0.7.23",
            "ecosystem": "pypi"
          },
          {
            "name": "threadpoolctl",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tiktoken",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tokenizers",
            "direct": false,
            "version": "0.21.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tokenizers",
            "direct": false,
            "version": "0.22.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tokenizers",
            "direct": false,
            "version": "0.22.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tomli",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tomli",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "torch",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "torch",
            "direct": false,
            "version": "2.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "torch",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tqdm",
            "direct": false,
            "version": "4.67.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tqdm",
            "direct": false,
            "version": "4.67.3",
            "ecosystem": "pypi"
          },
          {
            "name": "triton",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "triton",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "triton",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typer",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typer",
            "direct": false,
            "version": "0.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typer",
            "direct": false,
            "version": "0.24.1",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": false,
            "version": "4.14.1",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": false,
            "version": "4.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-inspection",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-inspection",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tzdata",
            "direct": false,
            "version": "2025.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tzdata",
            "direct": false,
            "version": "2026.1",
            "ecosystem": "pypi"
          },
          {
            "name": "ujson",
            "direct": false,
            "version": "5.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ujson",
            "direct": false,
            "version": "5.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ujson",
            "direct": false,
            "version": "5.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uncalled-for",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": false,
            "version": "2.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "uuid-utils",
            "direct": false,
            "version": "0.14.1",
            "ecosystem": "pypi"
          },
          {
            "name": "uvicorn",
            "direct": false,
            "version": "0.35.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uvicorn",
            "direct": false,
            "version": "0.38.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uvicorn",
            "direct": false,
            "version": "0.45.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uvloop",
            "direct": false,
            "version": "0.21.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uvloop",
            "direct": false,
            "version": "0.22.1",
            "ecosystem": "pypi"
          },
          {
            "name": "virtualenv",
            "direct": false,
            "version": "20.31.2",
            "ecosystem": "pypi"
          },
          {
            "name": "volcengine-python-sdk",
            "direct": false,
            "version": "4.0.45",
            "ecosystem": "pypi"
          },
          {
            "name": "volcengine-python-sdk",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "pypi"
          },
          {
            "name": "watchfiles",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "watchfiles",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "websockets",
            "direct": false,
            "version": "15.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "websockets",
            "direct": false,
            "version": "16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "xlrd",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "xlsxwriter",
            "direct": false,
            "version": "3.2.5",
            "ecosystem": "pypi"
          },
          {
            "name": "xlsxwriter",
            "direct": false,
            "version": "3.2.9",
            "ecosystem": "pypi"
          },
          {
            "name": "xxhash",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "xxhash",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "zep-cloud",
            "direct": false,
            "version": "2.19.0",
            "ecosystem": "pypi"
          },
          {
            "name": "zipp",
            "direct": false,
            "version": "3.23.1",
            "ecosystem": "pypi"
          },
          {
            "name": "zstandard",
            "direct": false,
            "version": "0.23.0",
            "ecosystem": "pypi"
          },
          {
            "name": "zstandard",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 869,
        "direct_count": 23,
        "indirect_count": 846
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 30,
        "merged_prs": 1207,
        "open_issues": 50,
        "closed_ratio": 0.887,
        "closed_issues": 391,
        "closed_unmerged_prs": 371
      },
      "bus_factor": 4,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "tangg555",
          "commits": 232,
          "avatar_url": "https://avatars.githubusercontent.com/u/22412972?v=4"
        },
        {
          "type": "User",
          "login": "CaralHsi",
          "commits": 226,
          "avatar_url": "https://avatars.githubusercontent.com/u/27054213?v=4"
        },
        {
          "type": "User",
          "login": "hijzy",
          "commits": 214,
          "avatar_url": "https://avatars.githubusercontent.com/u/33757498?v=4"
        },
        {
          "type": "User",
          "login": "fridayL",
          "commits": 162,
          "avatar_url": "https://avatars.githubusercontent.com/u/78344051?v=4"
        },
        {
          "type": "User",
          "login": "Wang-Daoji",
          "commits": 99,
          "avatar_url": "https://avatars.githubusercontent.com/u/75928131?v=4"
        },
        {
          "type": "User",
          "login": "whipser030",
          "commits": 78,
          "avatar_url": "https://avatars.githubusercontent.com/u/48425266?v=4"
        },
        {
          "type": "User",
          "login": "wustzdy",
          "commits": 73,
          "avatar_url": "https://avatars.githubusercontent.com/u/67457465?v=4"
        },
        {
          "type": "User",
          "login": "CarltonXiang",
          "commits": 65,
          "avatar_url": "https://avatars.githubusercontent.com/u/11536432?v=4"
        },
        {
          "type": "User",
          "login": "Memtensor-AI",
          "commits": 64,
          "avatar_url": "https://avatars.githubusercontent.com/u/272161396?v=4"
        },
        {
          "type": "User",
          "login": "tangbotony",
          "commits": 53,
          "avatar_url": "https://avatars.githubusercontent.com/u/16586457?v=4"
        }
      ],
      "contributors_sampled": 79,
      "top_contributor_share": 0.142
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "memos-local-plugin-publish.yml",
        "openclaw-plugin-publish.yml",
        "python-release.yml",
        "python-tests.yml",
        "stale.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".eslintrc.json"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": true
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json",
        "pnpm-lock.yaml",
        "poetry.lock",
        "uv.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": 5,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 6,
            "reason": "12 out of 20 merged PRs checked by a CI test -- score normalized to 6",
            "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": 6,
            "reason": "Found 14/21 approved changesets -- score normalized to 6",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 12 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": 0,
            "reason": "no 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 26 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "172 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "6734a0ea8d01293b4dae3611fae0ab3834366e1b",
        "ran_at": "2026-07-24T06:03:57Z",
        "aggregate_score": 4.6,
        "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-24T03:05:37Z",
      "oldest_open_prs": [
        {
          "number": 1379,
          "created_at": "2026-03-29T14:53:26Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1405,
          "created_at": "2026-04-02T09:29:40Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1457,
          "created_at": "2026-04-10T06:30:01Z",
          "last_comment_at": "2026-04-15T10:03:13Z",
          "last_comment_author": "CaralHsi"
        },
        {
          "number": 1481,
          "created_at": "2026-04-14T06:18:57Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1496,
          "created_at": "2026-04-19T03:18:17Z",
          "last_comment_at": "2026-07-02T10:21:00Z",
          "last_comment_author": "Memtensor-AI"
        },
        {
          "number": 1509,
          "created_at": "2026-04-21T11:34:43Z",
          "last_comment_at": "2026-04-24T09:45:30Z",
          "last_comment_author": "zZhangSir"
        },
        {
          "number": 1795,
          "created_at": "2026-05-23T18:19:43Z",
          "last_comment_at": "2026-07-02T12:29:54Z",
          "last_comment_author": "Memtensor-AI"
        },
        {
          "number": 1847,
          "created_at": "2026-06-01T01:51:57Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1848,
          "created_at": "2026-06-01T01:53:02Z",
          "last_comment_at": "2026-07-02T12:29:46Z",
          "last_comment_author": "Memtensor-AI"
        },
        {
          "number": 1859,
          "created_at": "2026-06-01T15:40:34Z",
          "last_comment_at": "2026-07-02T10:25:41Z",
          "last_comment_author": "Memtensor-AI"
        },
        {
          "number": 1862,
          "created_at": "2026-06-02T09:40:55Z",
          "last_comment_at": "2026-07-02T11:10:54Z",
          "last_comment_author": "Memtensor-AI"
        },
        {
          "number": 1894,
          "created_at": "2026-06-06T06:06:37Z",
          "last_comment_at": "2026-06-11T07:14:25Z",
          "last_comment_author": "cnYui"
        },
        {
          "number": 1896,
          "created_at": "2026-06-08T11:06:27Z",
          "last_comment_at": "2026-07-02T12:29:42Z",
          "last_comment_author": "Memtensor-AI"
        },
        {
          "number": 1952,
          "created_at": "2026-06-21T09:50:13Z",
          "last_comment_at": "2026-07-02T11:18:15Z",
          "last_comment_author": "Memtensor-AI"
        },
        {
          "number": 2020,
          "created_at": "2026-07-01T14:41:52Z",
          "last_comment_at": "2026-07-08T06:36:21Z",
          "last_comment_author": "RerankerGuo"
        },
        {
          "number": 2021,
          "created_at": "2026-07-01T14:50:08Z",
          "last_comment_at": "2026-07-08T06:36:19Z",
          "last_comment_author": "RerankerGuo"
        },
        {
          "number": 2022,
          "created_at": "2026-07-01T14:55:35Z",
          "last_comment_at": "2026-07-08T06:36:18Z",
          "last_comment_author": "RerankerGuo"
        },
        {
          "number": 2041,
          "created_at": "2026-07-02T07:59:09Z",
          "last_comment_at": "2026-07-08T06:36:09Z",
          "last_comment_author": "RerankerGuo"
        },
        {
          "number": 2072,
          "created_at": "2026-07-07T14:58:25Z",
          "last_comment_at": "2026-07-13T05:23:18Z",
          "last_comment_author": "ilya-bogin-keenable"
        },
        {
          "number": 2099,
          "created_at": "2026-07-12T07:33:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-24T03:25:54Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 1105,
          "created_at": "2026-02-20T16:37:06Z",
          "last_comment_at": "2026-05-29T06:12:23Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 1217,
          "created_at": "2026-03-12T14:26:09Z",
          "last_comment_at": "2026-05-19T09:58:41Z",
          "last_comment_author": "archieang"
        },
        {
          "number": 1269,
          "created_at": "2026-03-18T00:55:09Z",
          "last_comment_at": "2026-05-27T06:20:06Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 1273,
          "created_at": "2026-03-18T04:43:28Z",
          "last_comment_at": "2026-07-21T04:48:53Z",
          "last_comment_author": "Memtensor-AI"
        },
        {
          "number": 1340,
          "created_at": "2026-03-24T12:05:34Z",
          "last_comment_at": "2026-04-24T03:08:31Z",
          "last_comment_author": "github-actions"
        },
        {
          "number": 1351,
          "created_at": "2026-03-25T13:10:49Z",
          "last_comment_at": "2026-07-19T04:23:59Z",
          "last_comment_author": "Robs87"
        },
        {
          "number": 1365,
          "created_at": "2026-03-27T03:04:07Z",
          "last_comment_at": "2026-03-28T13:57:51Z",
          "last_comment_author": "Vincentdu-cn"
        },
        {
          "number": 1383,
          "created_at": "2026-03-30T07:09:40Z",
          "last_comment_at": "2026-04-09T08:06:42Z",
          "last_comment_author": "Hun-ger"
        },
        {
          "number": 1387,
          "created_at": "2026-03-31T06:04:58Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1390,
          "created_at": "2026-03-31T09:19:50Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1391,
          "created_at": "2026-03-31T12:31:49Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1401,
          "created_at": "2026-04-02T07:28:59Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1411,
          "created_at": "2026-04-03T06:45:54Z",
          "last_comment_at": "2026-07-13T07:39:16Z",
          "last_comment_author": "Lilili-04"
        },
        {
          "number": 1417,
          "created_at": "2026-04-03T09:51:57Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1423,
          "created_at": "2026-04-05T00:45:10Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1448,
          "created_at": "2026-04-09T09:07:56Z",
          "last_comment_at": "2026-06-30T08:21:17Z",
          "last_comment_author": "Memtensor-AI"
        },
        {
          "number": 1452,
          "created_at": "2026-04-09T16:18:54Z",
          "last_comment_at": "2026-05-21T20:08:51Z",
          "last_comment_author": "chiefmojo"
        },
        {
          "number": 1469,
          "created_at": "2026-04-10T23:19:18Z",
          "last_comment_at": "2026-06-04T12:34:54Z",
          "last_comment_author": "Memtensor-AI"
        },
        {
          "number": 1470,
          "created_at": "2026-04-11T02:04:33Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1482,
          "created_at": "2026-04-14T08:52:00Z",
          "last_comment_at": "2026-06-30T08:43:38Z",
          "last_comment_author": "Memtensor-AI"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/MemTensor/MemOS",
    "host": "github.com",
    "name": "MemOS",
    "owner": "MemTensor"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 81,
      "inputs": {
        "security": 44,
        "vitality": 99,
        "community": 86,
        "governance": 81,
        "engineering": 88
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 99,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "commits_last_year": 1870,
              "human_commit_share": 0.99,
              "days_since_last_push": 0,
              "active_weeks_last_year": 49
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "49/52 weeks with commits",
                "points": 33.9,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 49
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "1870 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 1870
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 26 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 35,
              "latest_release_tag": "v2.0.24",
              "releases_from_tags": false,
              "days_since_latest_release": 4,
              "mean_days_between_releases": 9.7
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "35 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 35
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 4 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 4
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~9.7 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 9.7
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 86,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 94,
            "inputs": {
              "forks": 945,
              "stars": 10355,
              "watchers": 44,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "10,355 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 10355
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "945 forks",
                "points": 24.8,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 945
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "44 watchers",
                "points": 9.1,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 44
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 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": 6.3,
                "status": "met",
                "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": 81,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 86,
            "inputs": {
              "bus_factor": 4,
              "contributors_sampled": 79,
              "top_contributor_share": 0.142
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "4 contributor(s) cover half of all commits",
                "points": 43.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 14% of commits",
                "points": 19.3,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 14
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "79 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 79
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 12 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "merged_prs": 1207,
              "open_issues": 50,
              "closed_issues": 391,
              "issue_closed_ratio": 0.887,
              "closed_unmerged_prs": 371
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "89% of issues closed",
                "points": 41.5,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 89
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "1207/1578 decided PRs merged",
                "points": 29.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 1207,
                      "decided": 1578
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 14/21 approved changesets -- score normalized to 6",
                "points": 9,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 59,
            "inputs": {
              "followers": 204,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "MemTensor",
              "public_repos": 24,
              "account_age_days": 446
            },
            "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": "204 followers of MemTensor",
                "points": 16.6,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 204,
                      "login": "MemTensor"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "24 public repos, account ~1 yr old",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 24
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 1
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "MemoryOS"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 4
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 4 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 4
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "34 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 34
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 88,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 86,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": true
            },
            "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": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc.json",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.json"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 9.6,
                "status": "met",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "12 out of 20 merged PRs checked by a CI test -- score normalized to 6",
                "points": 12,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [
                "agent",
                "llm",
                "memory",
                "long-term-memory",
                "memory-management",
                "rag",
                "skills",
                "openclaw",
                "agentic-ai",
                "ai",
                "ai-agents",
                "chatgpt",
                "claude",
                "hermes",
                "multi-agent",
                "python",
                "self-evolving",
                "self-hosted",
                "token-savings",
                "mcp"
              ],
              "has_wiki": false,
              "homepage": "https://memos.openmem.net",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://memos.openmem.net",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "20 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 20
                    }
                  }
                ],
                "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": "at_risk",
        "name": "Security",
        "value": 44,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 46,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 4.6
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 3.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "12 out of 20 merged PRs checked by a CI test -- score normalized to 6",
                "points": 1.5,
                "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 14/21 approved changesets -- score normalized to 6",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 12 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": "no update tool detected",
                "points": 0,
                "status": "missed",
                "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 26 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "172 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "at_risk",
            "name": "Dependency advisories",
            "note": "Matched the pypi:MemoryOS@2.0.24 runtime dependency closure — what installing the published package pulls in — 127 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "pypi:MemoryOS@2.0.24",
                  "assessed": 127
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 36,
            "inputs": {
              "source": "osv",
              "advisories": 31,
              "affected_packages": 5,
              "assessed_packages": 127,
              "unassessed_packages": 0,
              "affected_by_severity": "critical 2, high 2, moderate 1",
              "direct_affected_packages": 2
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "2 affected: fastmcp 2.14.7 (critical 10.0), transformers 4.57.6 (critical 9.6)",
                "points": 5.6,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 2,
                      "packages": "fastmcp 2.14.7 (critical 10.0), transformers 4.57.6 (critical 9.6)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "3 affected: mcp 1.27.2 (high), starlette 0.46.2 (high 7.5), diskcache 5.6.3 (moderate)",
                "points": 8,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 3,
                      "packages": "mcp 1.27.2 (high), starlette 0.46.2 (high 7.5), diskcache 5.6.3 (moderate)"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "4 advisory-carrying package(s) unaddressed past 90 days; oldest published 367 days ago",
                "points": 22.8,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 4,
                      "oldest": 367
                    }
                  }
                ],
                "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": 127,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 3
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "good",
        "name": "AI Readiness",
        "value": 82,
        "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.939,
              "agent_instruction_files": [
                "AGENTS.md",
                "CLAUDE.md",
                "apps/openwork-memos-integration/CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 10155
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md, CLAUDE.md, apps/openwork-memos-integration/CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md, CLAUDE.md, apps/openwork-memos-integration/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": "93 of 99 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 93,
                      "sampled": 99
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json",
                "pnpm-lock.yaml",
                "poetry.lock",
                "uv.lock"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "apps/memos-local-openclaw/tsconfig.json",
                "apps/memos-local-plugin/tsconfig.json",
                "apps/openwork-memos-integration/apps/desktop/skills/ask-user-question/tsconfig.json",
                "apps/openwork-memos-integration/apps/desktop/skills/dev-browser/tsconfig.json",
                "apps/openwork-memos-integration/apps/desktop/skills/file-permission/tsconfig.json",
                "apps/openwork-memos-integration/apps/desktop/tsconfig.json",
                "apps/openwork-memos-integration/packages/shared/tsconfig.json"
              ],
              "agent_commit_share": 0.08,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".eslintrc.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "apps/memos-local-openclaw/tsconfig.json, apps/memos-local-plugin/tsconfig.json, apps/openwork-memos-integration/apps/desktop/skills/ask-user-question/tsconfig.json, apps/openwork-memos-integration/apps/desktop/skills/dev-browser/tsconfig.json, apps/openwork-memos-integration/apps/desktop/skills/file-permission/tsconfig.json, apps/openwork-memos-integration/apps/desktop/tsconfig.json, apps/openwork-memos-integration/packages/shared/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "apps/memos-local-openclaw/tsconfig.json, apps/memos-local-plugin/tsconfig.json, apps/openwork-memos-integration/apps/desktop/skills/ask-user-question/tsconfig.json, apps/openwork-memos-integration/apps/desktop/skills/dev-browser/tsconfig.json, apps/openwork-memos-integration/apps/desktop/skills/file-permission/tsconfig.json, apps/openwork-memos-integration/apps/desktop/tsconfig.json, apps/openwork-memos-integration/packages/shared/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "8 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 8,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 658395,
              "source_files_sampled": 1404,
              "oversized_source_files": 21
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "21/1404 source files over 60KB",
                "points": 54.2,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 1404,
                      "oversized": 21
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "moderate",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": true,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-24T06:04:28.271379Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/m/MemTensor/MemOS.svg",
  "full_name": "MemTensor/MemOS",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

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

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

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