Skip to content

dev -> staging#55

Merged
ducnmm merged 7 commits intostagingfrom
dev
Mar 27, 2026
Merged

dev -> staging#55
ducnmm merged 7 commits intostagingfrom
dev

Conversation

@ducnmm
Copy link
Copy Markdown
Collaborator

@ducnmm ducnmm commented Mar 27, 2026

No description provided.

Ashwin-3cS and others added 7 commits March 26, 2026 03:02
Replace a panic-prone .unwrap() on an empty iterator with idiomatic
.ok_or_else() error propagation in generate_embedding().
Prevent panic in generate_embedding on empty API response
Replace the TODO comment in connectWallet with actual verification using
verifyPersonalMessageSignature from @mysten/sui/verify. Also fix a
double base64 encoding bug in wallet-client.ts where signPersonalMessage
was typed as returning Uint8Array but Slush wallet standard (v0.15+)
returns a base64 string — Buffer.from(str) without encoding treats the
string as UTF-8, producing garbled bytes that always fail scheme
validation on the server.
…ification

fix(noter): implement server-side wallet signature verification
* feat(openclaw-plugin): add MemWal memory plugin for OpenClaw

OpenClaw memory plugin that provides encrypted, decentralized
long-term memory via MemWal SDK + Walrus. Supports mock mode
for demo/testing and per-agent key isolation via separate
MemWalAccounts.

Components:
- Hooks: auto-recall (before_prompt_build), auto-capture (agent_end)
- Tools: memory_search, memory_store
- CLI: search, stats, keys (add/remove/list), list
- Mock client for offline demo
- Per-agent Ed25519 key resolution from sessionKey

* refactor(openclaw-plugin): switch to namespace-based isolation, remove mock mode

Replace per-agent Ed25519 key isolation with namespace-based isolation
using MemWal SDK's built-in namespace parameter. Remove mock client —
plugin now requires real MemWal server.

- Use agent name from ctx.sessionKey as namespace
- Single MemWal client (one key, one account) for all agents
- Remove mock.ts, client.ts, AgentKeyConfig, agentKeys config
- Remove CLI keys add/remove commands
- Update SDK to @cmdoss/memwal@2.0.0-alpha.5 (accountId required)
- Type client as MemWal class directly from SDK

* fix(openclaw-plugin): add capture filter, retry, and namespace-aware tools

- Add capture.ts with shouldCapture() filter (skip trivial turns)
- Add withRetry() utility for auto-capture resilience
- Inject namespace instruction via appendSystemContext in hooks
- Add namespace parameter to memory_search and memory_store tools
- Fix dead import and unused --limit in CLI

* refactor(openclaw-plugin): extract shared helpers and improve capture filtering

- Combine resolveNamespace + resolveAgentName into single resolveAgent()
- Extract extractMessageTexts() helper to format.ts for reuse
- Run shouldCapture() on individual messages instead of combined text
- Add debug logging when capture is skipped (no capturable content)
- Remove dead list CLI command (re-add in Phase 2)

* feat(openclaw-plugin): use analyze() in store tool, add injection detection on recall

- memory_store tool now uses analyze() instead of remember() for
  LLM-based fact extraction (same approach as Mem0)
- Add looksLikeInjection() check on recalled memories before prompt
  injection — defense in depth alongside capture-side filtering
- Export looksLikeInjection() from capture.ts for reuse

* docs(openclaw-plugin): add jsdoc and inline comments for plugin source

* refactor(openclaw-plugin): reorganize into folder-per-surface, fix safety gaps

Split hooks/tools/cli into folder structure for scalability.
Add injection check on memory_store (defence in depth).
Add injection filter + HTML escape on memory_search results.

* docs(openclaw-plugin): add README with architecture diagrams and setup guide

* docs(openclaw-plugin): add Mintlify documentation pages

* docs(openclaw-plugin): simplify README and link to Mintlify docs

* chore(openclaw-plugin): migrate from @cmdoss/memwal to @mysten/memwal

* chore(openclaw-plugin): migrate to @mysten-incubation/memwal namespace

* fix(openclaw-plugin): address PR review feedback

Update relayer URLs to relayer.memwal.ai / relayer.dev.memwal.ai.
Use "delegate key" wording, link to dashboard for key creation.
Rename features.md to reference.md, restructure overview as feature cards.
Add config validation for key format, account ID, and server URL.
Support bun/pnpm/npm in quick start. Fix GitHub links to MystenLabs.

* docs(openclaw-plugin): rename to NemoClaw/OpenClaw and move tab after Indexer

* feat(openclaw-plugin): add Zod schema validation for plugin config

Replace manual if/throw validation with Zod schema. Errors now surface
at startup with clear per-field messages instead of failing at runtime.
feat(sidecar): sponsor certify + metadata tx via Enoki
@ducnmm ducnmm changed the title de -> staging dev -> staging Mar 27, 2026
@Aaron1924 Aaron1924 self-requested a review March 27, 2026 04:20
@ducnmm ducnmm merged commit 849e352 into staging Mar 27, 2026
8 of 9 checks passed
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.

4 participants