@mysten-incubation/oc-memwal 0.0.2 → 0.0.3-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/dist/cli/index.js +1 -1
- package/dist/hooks/capture.d.ts +1 -1
- package/dist/hooks/capture.js +1 -1
- package/dist/hooks/recall.d.ts +1 -1
- package/dist/hooks/recall.js +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/tools/search.js +1 -1
- package/dist/tools/search.js.map +1 -1
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/openclaw.plugin.json +8 -8
- package/package.json +53 -45
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<h1 align="center">@mysten-incubation/oc-memwal</h1>
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
Cloud-based long-term memory plugin for NemoClaw/OpenClaw — gives your AI agents persistent, encrypted, cross-session memory powered by <strong>
|
|
4
|
+
Cloud-based long-term memory plugin for NemoClaw/OpenClaw — gives your AI agents persistent, encrypted, cross-session memory powered by <strong>Walrus Memory</strong>.
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
Replaces OpenClaw's default file-based memory with a **remote memory backend**. After setup, the plugin runs silently — your agent remembers things from past conversations and learns new facts automatically, with no user intervention required.
|
|
18
18
|
|
|
19
|
-
Memories are **encrypted** and stored on **
|
|
19
|
+
Memories are **encrypted** and stored on **Walrus Memory**, a privacy-preserving memory protocol built on Walrus decentralized storage. Each user owns their memories via an **Ed25519 key** — no platform can access them without it.
|
|
20
20
|
|
|
21
21
|
**Features:**
|
|
22
22
|
- **Auto-recall** — relevant memories injected before each conversation turn
|
|
@@ -32,19 +32,19 @@ Memories are **encrypted** and stored on **MemWal**, a privacy-preserving memory
|
|
|
32
32
|
|
|
33
33
|
You need [OpenClaw](https://openclaw.ai) `>=2026.3.11` installed and running, and a package manager ([bun](https://bun.sh), pnpm, or npm).
|
|
34
34
|
|
|
35
|
-
###
|
|
35
|
+
### Walrus Memory Setup
|
|
36
36
|
|
|
37
|
-
**
|
|
37
|
+
**Walrus Memory** is an open-source, self-hostable memory infrastructure kit for encrypted, decentralized storage. You can run your own relayer or use a managed endpoint.
|
|
38
38
|
|
|
39
39
|
The plugin needs three values:
|
|
40
40
|
|
|
41
41
|
| Value | What it is |
|
|
42
42
|
|-------|-----------|
|
|
43
43
|
| **Delegate Key** | Private key (64-char hex) used to sign requests and encrypt memories |
|
|
44
|
-
| **Account ID** | Your
|
|
45
|
-
| **Relayer URL** | The
|
|
44
|
+
| **Account ID** | Your Walrus Memory account object ID on Sui (`0x...`) |
|
|
45
|
+
| **Relayer URL** | The Walrus Memory relayer endpoint that handles search, storage, and encryption |
|
|
46
46
|
|
|
47
|
-
Get your delegate key and account ID from the [
|
|
47
|
+
Get your delegate key and account ID from the [Walrus Memory dashboard](https://memwal.ai), or see the [Quick Start guide](https://docs.memwal.ai/getting-started/quick-start) for detailed setup.
|
|
48
48
|
|
|
49
49
|
For the relayer, use a managed endpoint or [self-host your own](https://docs.memwal.ai/relayer/self-hosting):
|
|
50
50
|
|
|
@@ -164,7 +164,7 @@ If all three steps work, the plugin is fully operational.
|
|
|
164
164
|
|
|
165
165
|
## How it works
|
|
166
166
|
|
|
167
|
-
The plugin sits between OpenClaw's gateway and the
|
|
167
|
+
The plugin sits between OpenClaw's gateway and the Walrus Memory server. It operates through **hooks** — automatic callbacks that run on every conversation turn. The LLM never sees them, doesn't trigger them, and can't prevent them.
|
|
168
168
|
|
|
169
169
|
```mermaid
|
|
170
170
|
graph TB
|
|
@@ -178,7 +178,7 @@ graph TB
|
|
|
178
178
|
LLM_PROC["Language Model"]
|
|
179
179
|
end
|
|
180
180
|
|
|
181
|
-
subgraph "
|
|
181
|
+
subgraph "Walrus Memory Server"
|
|
182
182
|
SEARCH["Vector Search"]
|
|
183
183
|
ANALYZE["Fact Extraction"]
|
|
184
184
|
STORE["Encrypted Storage"]
|
|
@@ -205,9 +205,9 @@ graph TB
|
|
|
205
205
|
|
|
206
206
|
Every conversation turn goes through two phases:
|
|
207
207
|
|
|
208
|
-
- **Auto-recall** — before the LLM sees the user's message, the plugin searches
|
|
208
|
+
- **Auto-recall** — before the LLM sees the user's message, the plugin searches Walrus Memory for relevant memories and injects them into the prompt as context. The LLM sees these as background knowledge — it doesn't know they were injected.
|
|
209
209
|
|
|
210
|
-
- **Auto-capture** — after the LLM responds, the plugin extracts the conversation, filters out trivial content (filler responses, emoji, etc.), and sends it to the
|
|
210
|
+
- **Auto-capture** — after the LLM responds, the plugin extracts the conversation, filters out trivial content (filler responses, emoji, etc.), and sends it to the Walrus Memory server. The server-side LLM extracts individual facts and stores them as encrypted blobs on Walrus.
|
|
211
211
|
|
|
212
212
|
The plugin also registers two optional **tools** (`memory_search` and `memory_store`) that give the LLM explicit control over memory operations. These require `tools.allow` in the agent profile and are a power-user feature — hooks handle the common case automatically.
|
|
213
213
|
|
package/dist/cli/index.js
CHANGED
|
@@ -10,7 +10,7 @@ export function registerCli(api, client, config) {
|
|
|
10
10
|
api.registerCli(({ program }) => {
|
|
11
11
|
const cmd = program
|
|
12
12
|
.command("memwal")
|
|
13
|
-
.description("
|
|
13
|
+
.description("Walrus Memory plugin commands");
|
|
14
14
|
registerSearchCommand(cmd, client, config);
|
|
15
15
|
registerStatsCommand(cmd, client, config);
|
|
16
16
|
}, { commands: ["memwal"] });
|
package/dist/hooks/capture.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Auto-capture hook — agent_end.
|
|
3
3
|
*
|
|
4
4
|
* After the LLM finishes a turn, extracts conversation text, filters
|
|
5
|
-
* for capturable content, and sends to
|
|
5
|
+
* for capturable content, and sends to Walrus Memory's analyze() endpoint
|
|
6
6
|
* for server-side fact extraction.
|
|
7
7
|
*/
|
|
8
8
|
import type { MemWal } from "@mysten-incubation/memwal";
|
package/dist/hooks/capture.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Auto-capture hook — agent_end.
|
|
3
3
|
*
|
|
4
4
|
* After the LLM finishes a turn, extracts conversation text, filters
|
|
5
|
-
* for capturable content, and sends to
|
|
5
|
+
* for capturable content, and sends to Walrus Memory's analyze() endpoint
|
|
6
6
|
* for server-side fact extraction.
|
|
7
7
|
*/
|
|
8
8
|
import { resolveAgent } from "../config.js";
|
package/dist/hooks/recall.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-recall hook — before_prompt_build.
|
|
3
3
|
*
|
|
4
|
-
* Searches
|
|
4
|
+
* Searches Walrus Memory for memories relevant to the user's prompt and injects
|
|
5
5
|
* them into the LLM context. Also injects a namespace instruction so
|
|
6
6
|
* tools scope to the correct agent's memory.
|
|
7
7
|
*/
|
package/dist/hooks/recall.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-recall hook — before_prompt_build.
|
|
3
3
|
*
|
|
4
|
-
* Searches
|
|
4
|
+
* Searches Walrus Memory for memories relevant to the user's prompt and injects
|
|
5
5
|
* them into the LLM context. Also injects a namespace instruction so
|
|
6
6
|
* tools scope to the correct agent's memory.
|
|
7
7
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* OpenClaw Memory Plugin —
|
|
2
|
+
* OpenClaw Memory Plugin — Walrus Memory
|
|
3
3
|
*
|
|
4
|
-
* Encrypted, decentralized long-term memory via
|
|
4
|
+
* Encrypted, decentralized long-term memory via Walrus Memory.
|
|
5
5
|
*
|
|
6
6
|
* Components:
|
|
7
7
|
* hooks/ — before_prompt_build (auto-recall), agent_end (auto-capture)
|
|
@@ -21,7 +21,7 @@ declare const _default: {
|
|
|
21
21
|
name: string;
|
|
22
22
|
description: string;
|
|
23
23
|
kind: "memory";
|
|
24
|
-
/** Initialize
|
|
24
|
+
/** Initialize the Walrus Memory client and register all plugin components. */
|
|
25
25
|
register(api: any): void;
|
|
26
26
|
};
|
|
27
27
|
export default _default;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;IAcD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;IAcD,8EAA8E;kBAChE,GAAG;;AAPnB,wBA8CE"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* OpenClaw Memory Plugin —
|
|
2
|
+
* OpenClaw Memory Plugin — Walrus Memory
|
|
3
3
|
*
|
|
4
|
-
* Encrypted, decentralized long-term memory via
|
|
4
|
+
* Encrypted, decentralized long-term memory via Walrus Memory.
|
|
5
5
|
*
|
|
6
6
|
* Components:
|
|
7
7
|
* hooks/ — before_prompt_build (auto-recall), agent_end (auto-capture)
|
|
@@ -23,10 +23,10 @@ import { registerTools } from "./tools/index.js";
|
|
|
23
23
|
import { registerCli } from "./cli/index.js";
|
|
24
24
|
export default {
|
|
25
25
|
id: "memory-memwal",
|
|
26
|
-
name: "Memory
|
|
27
|
-
description: "Encrypted, decentralized long-term memory via
|
|
26
|
+
name: "Walrus Memory",
|
|
27
|
+
description: "Encrypted, decentralized long-term memory via Walrus Memory",
|
|
28
28
|
kind: "memory",
|
|
29
|
-
/** Initialize
|
|
29
|
+
/** Initialize the Walrus Memory client and register all plugin components. */
|
|
30
30
|
register(api) {
|
|
31
31
|
const config = parseConfig(api.pluginConfig);
|
|
32
32
|
const client = MemWal.create({
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAe;IACb,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAe;IACb,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,6DAA6D;IAC1E,IAAI,EAAE,QAAiB;IAEvB,8EAA8E;IAC9E,QAAQ,CAAC,GAAQ;QACf,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,GAAG,EAAE,MAAM,CAAC,UAAU;YACtB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,sCAAsC,MAAM,CAAC,SAAS,IAAI;YAC1D,QAAQ,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;YACzC,cAAc,MAAM,CAAC,gBAAgB,GAAG,CACzC,CAAC;QAEF,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjC,uBAAuB;QACvB,GAAG,CAAC,eAAe,CAAC;YAClB,EAAE,EAAE,eAAe;YACnB,KAAK,CAAC,KAAK;gBACT,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;oBACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,qCAAqC,MAAM,CAAC,MAAM,cAAc,MAAM,CAAC,OAAO,GAAG,CAClF,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,uCAAuC,MAAM,CAAC,GAAG,CAAC,EAAE,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI;gBACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
package/dist/tools/search.js
CHANGED
|
@@ -50,7 +50,7 @@ export function registerSearchTool(api, client, config) {
|
|
|
50
50
|
details: { count: 0, namespace: ns },
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
|
-
//
|
|
53
|
+
// Walrus Memory returns L2 distance — convert to similarity % for readability
|
|
54
54
|
const formatted = safe
|
|
55
55
|
.map((r, i) => {
|
|
56
56
|
const relevance = Math.round((1 - r.distance) * 100);
|
package/dist/tools/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,6CAA6C;AAC7C,MAAM,UAAU,kBAAkB,CAAC,GAAQ,EAAE,MAAc,EAAE,MAAoB;IAC/E,GAAG,CAAC,YAAY,CACd;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,gEAAgE;YAChE,oEAAoE;YACpE,iFAAiF;QACnF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;YACnD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CACzD;YACD,SAAS,EAAE,IAAI,CAAC,QAAQ,CACtB,IAAI,CAAC,MAAM,CAAC;gBACV,WAAW,EAAE,oEAAoE;aAClF,CAAC,CACH;SACF,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,MAAW;YACpC,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,oBAAoB,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAClE,sFAAsF;YACtF,MAAM,EAAE,GAAG,SAAS,IAAI,MAAM,CAAC,gBAAgB,CAAC;YAEhD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBAErD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;oBAC5B,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,EAAE;yBACtD;wBACD,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;qBACrC,CAAC;gBACJ,CAAC;gBAED,iEAAiE;gBACjE,uDAAuD;gBACvD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAChC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CACxC,CAAC;gBAEF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,OAAO;wBACL,OAAO,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,6BAA6B,EAAE;yBACtD;wBACD,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;qBACrC,CAAC;gBACJ,CAAC;gBAED,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared types for the
|
|
2
|
+
* Shared types for the Walrus Memory OpenClaw plugin.
|
|
3
3
|
*/
|
|
4
4
|
export interface PluginConfig {
|
|
5
5
|
/** Ed25519 private key (hex). */
|
|
6
6
|
privateKey: string;
|
|
7
|
-
/**
|
|
7
|
+
/** Walrus Memory account object ID on Sui. */
|
|
8
8
|
accountId: string;
|
|
9
|
-
/**
|
|
9
|
+
/** Walrus Memory server URL. */
|
|
10
10
|
serverUrl: string;
|
|
11
11
|
/** Default namespace for memory scoping (default: "default"). */
|
|
12
12
|
defaultNamespace: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,WAAW,EAAE,OAAO,CAAC;IACrB,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,kBAAkB,EAAE,MAAM,CAAC;CAC5B"}
|
package/dist/types.js
CHANGED
package/openclaw.plugin.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "memory-memwal",
|
|
3
3
|
"kind": "memory",
|
|
4
|
-
"name": "Memory
|
|
5
|
-
"description": "Encrypted, decentralized long-term memory via
|
|
4
|
+
"name": "Walrus Memory",
|
|
5
|
+
"description": "Encrypted, decentralized long-term memory via Walrus Memory",
|
|
6
6
|
"configSchema": {
|
|
7
7
|
"type": "object",
|
|
8
8
|
"additionalProperties": false,
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
},
|
|
14
14
|
"accountId": {
|
|
15
15
|
"type": "string",
|
|
16
|
-
"description": "
|
|
16
|
+
"description": "Walrus Memory account object ID on Sui (0x...)"
|
|
17
17
|
},
|
|
18
18
|
"serverUrl": {
|
|
19
19
|
"type": "string",
|
|
20
|
-
"description": "
|
|
20
|
+
"description": "Walrus Memory server URL"
|
|
21
21
|
},
|
|
22
22
|
"defaultNamespace": {
|
|
23
23
|
"type": "string",
|
|
@@ -57,15 +57,15 @@
|
|
|
57
57
|
"label": "Ed25519 Private Key",
|
|
58
58
|
"sensitive": true,
|
|
59
59
|
"placeholder": "64-character hex string or ${ENV_VAR}",
|
|
60
|
-
"help": "Get from
|
|
60
|
+
"help": "Get from the Walrus Memory dashboard. Supports ${ENV_VAR} syntax."
|
|
61
61
|
},
|
|
62
62
|
"accountId": {
|
|
63
|
-
"label": "
|
|
63
|
+
"label": "Walrus Memory Account ID",
|
|
64
64
|
"placeholder": "0x3247e3da...",
|
|
65
|
-
"help": "
|
|
65
|
+
"help": "Walrus Memory account object ID on Sui. Get from the Walrus Memory dashboard."
|
|
66
66
|
},
|
|
67
67
|
"serverUrl": {
|
|
68
|
-
"label": "
|
|
68
|
+
"label": "Walrus Memory Server URL",
|
|
69
69
|
"placeholder": "https://relayer.dev.memwal.ai"
|
|
70
70
|
},
|
|
71
71
|
"defaultNamespace": {
|
package/package.json
CHANGED
|
@@ -1,48 +1,56 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
"name": "@mysten-incubation/oc-memwal",
|
|
3
|
+
"version": "0.0.3-dev.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "NemoClaw/OpenClaw memory plugin — encrypted, decentralized long-term memory via Walrus Memory",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/MystenLabs/MemWal",
|
|
10
|
+
"directory": "packages/openclaw-memory-memwal"
|
|
11
|
+
},
|
|
12
|
+
"main": "./dist/index.js",
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"import": "./dist/index.js"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"dist",
|
|
22
|
+
"openclaw.plugin.json",
|
|
23
|
+
"README.md"
|
|
24
|
+
],
|
|
25
|
+
"keywords": [
|
|
26
|
+
"ai",
|
|
27
|
+
"memory",
|
|
28
|
+
"walrus-memory",
|
|
29
|
+
"walrus",
|
|
30
|
+
"openclaw",
|
|
31
|
+
"nemoclaw"
|
|
32
|
+
],
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "tsc",
|
|
35
|
+
"typecheck": "tsc --noEmit",
|
|
36
|
+
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
37
|
+
"prepublishOnly": "npm run clean && npm run build"
|
|
38
|
+
},
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=20.0.0"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@mysten-incubation/memwal": "^0.0.2",
|
|
44
|
+
"@sinclair/typebox": "0.34.48",
|
|
45
|
+
"zod": "^3.23.0"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@types/node": "^22.0.0",
|
|
49
|
+
"typescript": "^5.7.0"
|
|
50
|
+
},
|
|
51
|
+
"openclaw": {
|
|
52
|
+
"extensions": [
|
|
53
|
+
"./dist/index.js"
|
|
54
|
+
]
|
|
18
55
|
}
|
|
19
|
-
},
|
|
20
|
-
"files": [
|
|
21
|
-
"dist",
|
|
22
|
-
"openclaw.plugin.json",
|
|
23
|
-
"README.md"
|
|
24
|
-
],
|
|
25
|
-
"scripts": {
|
|
26
|
-
"build": "tsc",
|
|
27
|
-
"typecheck": "tsc --noEmit",
|
|
28
|
-
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
29
|
-
"prepublishOnly": "npm run clean && npm run build"
|
|
30
|
-
},
|
|
31
|
-
"engines": {
|
|
32
|
-
"node": ">=20.0.0"
|
|
33
|
-
},
|
|
34
|
-
"dependencies": {
|
|
35
|
-
"@mysten-incubation/memwal": "^0.0.2",
|
|
36
|
-
"@sinclair/typebox": "0.34.48",
|
|
37
|
-
"zod": "^3.23.0"
|
|
38
|
-
},
|
|
39
|
-
"devDependencies": {
|
|
40
|
-
"@types/node": "^22.0.0",
|
|
41
|
-
"typescript": "^5.7.0"
|
|
42
|
-
},
|
|
43
|
-
"openclaw": {
|
|
44
|
-
"extensions": [
|
|
45
|
-
"./dist/index.js"
|
|
46
|
-
]
|
|
47
|
-
}
|
|
48
56
|
}
|