Skip to content

fix(plugin): support validated DSH 0.2 preview APIs - #2549

Draft
endxxxx wants to merge 1 commit into
mainfrom
codex/fix-dsh-02-compat
Draft

endxxxx wants to merge 1 commit into
mainfrom
codex/fix-dsh-02-compat

Conversation

@endxxxx

@endxxxx endxxxx commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator

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, and JsonValue is no longer exported by dsh-tools in 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. semver is 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

  • Bug fix — DSH startup compatibility and moved JSON type
  • Documentation update — compatibility boundaries, upgrade guidance and validation report

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.

  • Unit Test — regressions first failed for four newly targeted preview versions; final full suite: 191 files passed, 1655 tests passed, 3 skipped.
  • Test Script — 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.
  • Automated API tests — existing HTTP tests passed in the full suite; the initial sandboxed run hit localhost 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

  • I have performed a self-review of my own code
  • I have commented the dependency and prerelease compatibility logic
  • I have added tests demonstrating the fix
  • Documentation is included in the local plugin README/COMPATIBILITY.md; no separate MemOS-Docs change is applicable
  • Related issues and overlapping PR are linked above
  • Reviewers: @hijzy and @whipser030

Reviewer Checklist

@Memtensor-AI Memtensor-AI added area:plugin OpenClaw & Hermes status:in-progress Someone or AI is working on it | 人工或 AI 正在处理 labels Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:plugin OpenClaw & Hermes status:in-progress Someone or AI is working on it | 人工或 AI 正在处理

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants