Skip to content

Promote test to main (openclaw v0.2.0, dsh v0.1.2) - #185

Merged
XiaohuiSu merged 51 commits into
MemTensor:mainfrom
EF1874:test
Oct 29, 2026
Merged

XiaohuiSu merged 51 commits into
MemTensor:mainfrom
EF1874:test

Conversation

@EF1874

@EF1874 EF1874 commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Promote test (7703a09) onto main. main is a direct ancestor, 51 commits behind, with no commits that need to be merged back.
  • Release @memtensor/memos-cloud-openclaw-plugin 0.2.0 and @memtensor/memos-cloud-dsh-plugin 0.1.2, and move the repo to a pnpm workspace (packages/openclaw, packages/dsh).
  • Bring in recall-hook compatibility, DSH host and session-format compatibility, and the staged npm publish flow with browser approval.

Test plan

  • CI on this pull request is green
  • pnpm --filter @memtensor/memos-cloud-openclaw-plugin test
  • pnpm --filter @memtensor/memos-cloud-dsh-plugin test
  • pnpm publish:openclaw:dry-run and pnpm publish:dsh:dry-run
  • README install steps match the new package layout

Made with Cursor

lee and others added 30 commits August 16, 2026 18:41
fix(dsh): support current and legacy harness runtimes
docs: update README and README_ZH to clarify plugin functionality and…
… results

Session format v4 admits only producer-owned message source kinds and refuses
the released `{ kind: 'plugin', plugin }` wrapper. The injected recall message
therefore failed admission, so every turn that reached recall ended before its
first step with:

  format v4 message requires a producer-owned source kind

The same format carries a tool result's call identity on the message itself and
no longer wraps it in a `tool-result` content block. Tool memory read only the
wrapper, so it collected no result ids at all — which also dropped
tool-call-only assistant messages, because a call is emitted only once its
result has been correlated. Measured against a real v4 session of ten completed
turns with `includeToolMemory` enabled: zero tool messages, each turn reduced to
one user and one assistant message.

The current agent preset also moved out of the session header into the
`agentPreset` session projection, leaving the header with only its initial
value. A session that switched preset mid-flight tagged every later memory with
the stale preset.

Read whichever tool-result shape the runtime carries, name the plugin's own
source kind through the platform's merge-extensible source map, and take the
preset from the projection when the runtime exposes one, falling back to the
header otherwise.

Refs MemTensor#174
…v4-compat

fix(dsh): read the current session format for recall sources and tool results
…tion

fix(dsh): use current preset for memory isolation
- Widen DSH peers to ^0.1.0-rc.6 || ^0.1.2-rc.1 || ^0.2.1-rc.2.
- Support SettingsForms and SettingsProvider; migrate old configs with backups.
- Keep recall and async write attempts within 5s; allow sync writes up to 180s
  through syncAddTimeoutMs, with legacy timeoutMs fallback.
- Flush session writes before headless exit and support both tool-result formats.
- Add four-version SDK checks and CLI regressions; verify 28 live GPT-4.1/MemOS cases.
Keep recalled memory available when OpenClaw restores an inter-session input's
original provenance envelope. Use system context only for current inter-session
inputs on verified stable OpenClaw releases 2026.10.2 through 2026.10.7. Older,
prerelease, unknown and unverified hosts retain prepend context and its existing
prompt-cache layout. No user placement setting is exposed.

Add unit coverage and opt-in real MemOS, model and sessions_send regression
tests, including historical host support and documented version-boundary evidence.

Validation: 74 unit tests pass. Real candidate runs pass twice per host on
2026.10.1, 2026.10.5-beta.1, 2026.10.2 and 2026.10.5. The unchanged 2026.10.1
baseline reuses its prior complete same-day run after new baseline model-service
responses were empty; incomplete attempts remain documented.
…ession-recall

fix(openclaw): preserve recall for inter-session inputs
…-timeouts

fix(dsh): broaden host compatibility and split memory timeouts
…compat

fix(openclaw): prefer runtime version for recall hook selection
npm view --json wraps one dist-tag version in an array, which stopped beta publishes before they reached npm.

Co-authored-by: Cursor <cursoragent@cursor.com>
Direct publish is rejected without a bypass token, so local releases stage the package and approve it after a single y and the registry 2FA prompt.

Co-authored-by: Cursor <cursoragent@cursor.com>
Stage and approve only after the registry rejects a direct publish for 2FA or an existing staged version.

Co-authored-by: Cursor <cursoragent@cursor.com>
The confirmation line showed the version token first, so it was easy to type that phrase instead of y.

Co-authored-by: Cursor <cursoragent@cursor.com>
The direct publish attempt hid its logs and could wait on a 2FA prompt the terminal never displayed.

Co-authored-by: Cursor <cursoragent@cursor.com>
lee and others added 21 commits October 28, 2026 16:06
…rompt

The release script already checks the worktree, so pnpm's default main-only publish branch was only hiding a prompt and then waiting on a package that was never uploaded.

Co-authored-by: Cursor <cursoragent@cursor.com>
A failed upload no longer waits on the registry, and the branch question stays visible so it can be answered with y.

Co-authored-by: Cursor <cursoragent@cursor.com>
The version is confirmed once up front, and pnpm's branch prompt is not shown again before the staged approval.

Co-authored-by: Cursor <cursoragent@cursor.com>
The direct publish error was only read from stderr, so the staged approval never started.

Co-authored-by: Cursor <cursoragent@cursor.com>
npm does not prompt for a code with this token, so the approve request never included one.

Co-authored-by: Cursor <cursoragent@cursor.com>
The access token can stage a package but cannot complete approval in the terminal, so the script prints the staged-packages page and exits when the dist-tag is live.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
The approval URL was buried in the publish log, so it was easy to miss that the release stays staged until that page is approved.

Co-authored-by: Cursor <cursoragent@cursor.com>
A non-interactive OTP refusal was treated as a hard failure, so the browser approval step never started.

Co-authored-by: Cursor <cursoragent@cursor.com>
The script no longer waits on or fails a registry check it cannot complete from the terminal.

Co-authored-by: Cursor <cursoragent@cursor.com>
The extra closing line made the required link harder to see, so the script now prints only the approval block and exits.

Co-authored-by: Cursor <cursoragent@cursor.com>
fix(release): publish through npm staging when direct publish needs 2FA
Declare supported DSH host series while keeping host SDK peers optional and
loading SDKs on demand through the host's shared module resolver. Update the
development baseline to DSH 0.2.1-rc.2 and its matching Cordis packages.

Preserve legacy settings across profiles sharing a home, recover archived
configuration safely, and prefer the preset owner's current session API.

Add standalone npm/pnpm checks, real host upgrade coverage, SDK sharing
assertions, and compatibility CI for both package-manager generations.
Document installation, latest-tag updates, configuration precedence and
source builds in English and Chinese.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants