Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
DSH 0.2.1 skips the local memory bundle because all six host-service peers end at
<0.2.0. Widening that bound alone is insufficient: prerelease versions need explicit comparator sets, andJsonValueis no longer exported bydsh-toolsin 0.2.x.Admit the validated 0.1.7, 0.2.0 and 0.2.1 preview lines with bounded ranges, keep the merged 2.0.21 V4 message-source implementation, and replace the moved type with its equivalent local JSON shape. Pin the development host stack to 0.2.1-rc.3/Cordis ~4.0.5 and synchronize both npm and pnpm locks. Add an isolated compile/build/adapter-test matrix and package-range/lockfile regressions. All changes are under
apps/memos-local-plugin/; production dependencies are unchanged.semveris an explicit test-only development dependency.Related Issue: #2520 (local plugin portion), #2538 (remaining peer compatibility); follows up the remaining work in #2541 on current main. This does not update the Cloud plugin or close the broader #2520 request. #2541 should be reconciled with this implementation rather than merging duplicate compatibility changes.
The obsolete 0.1.0-rc.5 API baseline is no longer advertised: the core packages cannot be retrieved from npm. The installable 0.1.0-rc.6 baseline is tested. A release containing this change is still required; npm 2.0.21 retains the old version gate.
Type of change
How Has This Been Tested?
Tests ran on macOS arm64, Node 25.1.0, npm 11.6.2, pnpm 10.21.0. Details and limitations:
apps/memos-local-plugin/adapters/deepseek-harness/COMPATIBILITY.md.npm run test:dsh-compat: five real DSH API stacks (0.1.0-rc.6, 0.1.7-rc.2, 0.2.0-rc.2, 0.2.1-rc.2/rc.3), each passing type checks, production compilation, and 71 adapter tests. Host peers are installed independently and never borrowed from the checkout.listen EPERM, then the complete suite passed with local-port access. GitHub CI is pending separately.Additional checks:
make format(all checks passed, 630 files unchanged),npm run lint,npm run build:package,npm ci --ignore-scripts --no-audit --no-fund,npm ls --all,npm run lock:check, strict frozen pnpm lock check, and pre-commit over every changed file.Official DSH 0.2.1-rc.3 CLI A/B smoke in an isolated profile: old peers produced “incompatible” with no active exemption and omitted the MemOS row; new peers emitted no compatibility warning and included the row. Both commands exit 0, so the test inspected the composed tree as well as stderr. No live profile, credentials or customer sessions were used. This is a startup-gate check, not an authenticated model conversation across every Desktop/Web/CLI platform.
Checklist
Reviewer Checklist