@mysten-incubation/oc-memwal 0.0.2 → 0.0.3-dev.1

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 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>MemWal</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 **MemWal**, 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.
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
- ### MemWal Setup
35
+ ### Walrus Memory Setup
36
36
 
37
- **MemWal** is an open-source, self-hostable memory infrastructure kit for encrypted, decentralized storage. You can run your own relayer or use a managed endpoint.
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 MemWalAccount object ID on Sui (`0x...`) |
45
- | **Relayer URL** | The MemWal relayer endpoint that handles search, storage, and encryption |
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 [MemWal dashboard](https://memwal.ai), or see the [Quick Start guide](https://docs.memwal.ai/getting-started/quick-start) for detailed setup.
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 MemWal 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.
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 "MemWal Server"
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 MemWal 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.
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 MemWal server. The server-side LLM extracts individual facts and stores them as encrypted blobs on Walrus.
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("MemWal memory plugin commands");
13
+ .description("Walrus Memory plugin commands");
14
14
  registerSearchCommand(cmd, client, config);
15
15
  registerStatsCommand(cmd, client, config);
16
16
  }, { commands: ["memwal"] });
@@ -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 MemWal's analyze() endpoint
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";
@@ -1 +1 @@
1
- {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/hooks/capture.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,oDAAoD;AACpD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAiDxF"}
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/hooks/capture.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,oDAAoD;AACpD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAqExF"}
@@ -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 MemWal's analyze() endpoint
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";
@@ -34,8 +34,26 @@ export function registerCaptureHook(api, client, config) {
34
34
  .map((t, i) => `${i + 1}. ${t}`)
35
35
  .join("\n\n");
36
36
  // analyze() calls the server LLM for fact extraction — retry once
37
- // since transient failures are common with remote LLM calls
38
- const result = await withRetry(() => client.analyze(conversation, namespace));
37
+ // since transient failures are common with remote LLM calls.
38
+ //
39
+ // Pass `occurredAt: new Date()` so the server extractor can
40
+ // resolve in-turn relative references ("yesterday", "last
41
+ // Friday") into absolute dates inside the fact text before
42
+ // encryption.
43
+ //
44
+ // Caveat: this is hook-fire time, not strictly per-message
45
+ // time. The hook fires on agent_end — *after* the LLM finishes
46
+ // responding — and `event.messages` may carry the last N turns
47
+ // (captureMaxMessages) spanning a longer window. All extracted
48
+ // facts share this one anchor. For coarse relative references
49
+ // ("yesterday", "last Friday") this is accurate enough; for
50
+ // fine-grained ones ("an hour ago", "this morning") the anchor
51
+ // can be off by minutes-to-hours. Acceptable for an opt-in
52
+ // auto-capture path where the alternative is no anchor at all.
53
+ // (The "no silent now() fallback" rule is about the server
54
+ // defaulting for callers that passed nothing; here the caller
55
+ // IS passing, with real-ish knowledge of when the event happened.)
56
+ const result = await withRetry(() => client.analyze(conversation, { namespace, occurredAt: new Date() }));
39
57
  if (result.facts?.length) {
40
58
  api.logger.info(`memory-memwal: auto-captured ${result.facts.length} facts ` +
41
59
  `(agent: ${agentName}, namespace: ${namespace})`);
@@ -1 +1 @@
1
- {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/hooks/capture.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9D,oDAAoD;AACpD,MAAM,UAAU,mBAAmB,CAAC,GAAQ,EAAE,MAAc,EAAE,MAAoB;IAChF,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,KAAU,EAAE,GAAQ,EAAE,EAAE;QACjD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM;YAAE,OAAO;QAEtD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QAExF,IAAI,CAAC;YACH,yEAAyE;YACzE,oEAAoE;YACpE,uEAAuE;YACvE,MAAM,KAAK,GAAG,mBAAmB,CAC/B,KAAK,CAAC,QAAQ,EACd,MAAM,CAAC,kBAAkB,CAC1B,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAO;YAE1B,gEAAgE;YAChE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACvB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAChB,8DAA8D;oBAC9D,WAAW,SAAS,KAAK,KAAK,CAAC,MAAM,oBAAoB,CAC1D,CAAC;gBACF,OAAO;YACT,CAAC;YAED,mEAAmE;YACnE,mDAAmD;YACnD,MAAM,YAAY,GAAG,UAAU;iBAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC/B,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhB,kEAAkE;YAClE,4DAA4D;YAC5D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;YAE9E,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBACzB,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,gCAAgC,MAAM,CAAC,KAAK,CAAC,MAAM,SAAS;oBAC5D,WAAW,SAAS,gBAAgB,SAAS,GAAG,CACjD,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,uCAAuC,MAAM,CAAC,GAAG,CAAC,EAAE,CACrD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/hooks/capture.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9D,oDAAoD;AACpD,MAAM,UAAU,mBAAmB,CAAC,GAAQ,EAAE,MAAc,EAAE,MAAoB;IAChF,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,KAAU,EAAE,GAAQ,EAAE,EAAE;QACjD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM;YAAE,OAAO;QAEtD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QAExF,IAAI,CAAC;YACH,yEAAyE;YACzE,oEAAoE;YACpE,uEAAuE;YACvE,MAAM,KAAK,GAAG,mBAAmB,CAC/B,KAAK,CAAC,QAAQ,EACd,MAAM,CAAC,kBAAkB,CAC1B,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAO;YAE1B,gEAAgE;YAChE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACvB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAChB,8DAA8D;oBAC9D,WAAW,SAAS,KAAK,KAAK,CAAC,MAAM,oBAAoB,CAC1D,CAAC;gBACF,OAAO;YACT,CAAC;YAED,mEAAmE;YACnE,mDAAmD;YACnD,MAAM,YAAY,GAAG,UAAU;iBAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC/B,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhB,kEAAkE;YAClE,6DAA6D;YAC7D,EAAE;YACF,4DAA4D;YAC5D,0DAA0D;YAC1D,2DAA2D;YAC3D,cAAc;YACd,EAAE;YACF,2DAA2D;YAC3D,+DAA+D;YAC/D,+DAA+D;YAC/D,+DAA+D;YAC/D,8DAA8D;YAC9D,4DAA4D;YAC5D,+DAA+D;YAC/D,2DAA2D;YAC3D,+DAA+D;YAC/D,2DAA2D;YAC3D,8DAA8D;YAC9D,mEAAmE;YACnE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAClC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CACpE,CAAC;YAEF,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;gBACzB,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,gCAAgC,MAAM,CAAC,KAAK,CAAC,MAAM,SAAS;oBAC5D,WAAW,SAAS,gBAAgB,SAAS,GAAG,CACjD,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,uCAAuC,MAAM,CAAC,GAAG,CAAC,EAAE,CACrD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Auto-recall hook — before_prompt_build.
3
3
  *
4
- * Searches MemWal for memories relevant to the user's prompt and injects
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
  */
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Auto-recall hook — before_prompt_build.
3
3
  *
4
- * Searches MemWal for memories relevant to the user's prompt and injects
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 — MemWal
2
+ * OpenClaw Memory Plugin — Walrus Memory
3
3
  *
4
- * Encrypted, decentralized long-term memory via MemWal + Walrus.
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 MemWal client and register all plugin components. */
24
+ /** Initialize the Walrus Memory client and register all plugin components. */
25
25
  register(api: any): void;
26
26
  };
27
27
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;IAcD,mEAAmE;kBACrD,GAAG;;AAPnB,wBA8CE"}
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 — MemWal
2
+ * OpenClaw Memory Plugin — Walrus Memory
3
3
  *
4
- * Encrypted, decentralized long-term memory via MemWal + Walrus.
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 (MemWal)",
27
- description: "Encrypted, decentralized long-term memory via MemWal + Walrus",
26
+ name: "Walrus Memory",
27
+ description: "Encrypted, decentralized long-term memory via Walrus Memory",
28
28
  kind: "memory",
29
- /** Initialize MemWal client and register all plugin components. */
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,iBAAiB;IACvB,WAAW,EAAE,+DAA+D;IAC5E,IAAI,EAAE,QAAiB;IAEvB,mEAAmE;IACnE,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"}
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"}
@@ -50,7 +50,7 @@ export function registerSearchTool(api, client, config) {
50
50
  details: { count: 0, namespace: ns },
51
51
  };
52
52
  }
53
- // MemWal returns L2 distance — convert to similarity % for readability
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);
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Uses analyze() instead of remember() so the server LLM extracts
5
5
  * individual facts from the text, producing cleaner, more searchable
6
- * memories (same approach as Mem0's memory_store).
6
+ * memories than storing the raw input verbatim.
7
7
  */
8
8
  import type { MemWal } from "@mysten-incubation/memwal";
9
9
  import type { PluginConfig } from "../types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/tools/store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,4CAA4C;AAC5C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAoFtF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/tools/store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,4CAA4C;AAC5C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAuGtF"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Uses analyze() instead of remember() so the server LLM extracts
5
5
  * individual facts from the text, producing cleaner, more searchable
6
- * memories (same approach as Mem0's memory_store).
6
+ * memories than storing the raw input verbatim.
7
7
  */
8
8
  import { Type } from "@sinclair/typebox";
9
9
  import { looksLikeInjection } from "../capture.js";
@@ -25,9 +25,22 @@ export function registerStoreTool(api, client, config) {
25
25
  namespace: Type.Optional(Type.String({
26
26
  description: "Memory namespace to store in (use the namespace from system context)",
27
27
  })),
28
+ occurredAt: Type.Optional(Type.String({
29
+ description: "Optional RFC-3339 / ISO-8601 timestamp of when the source " +
30
+ "text or conversation actually occurred (e.g. " +
31
+ "'2024-03-15T14:30:00Z'). The server uses this as the " +
32
+ "temporal anchor for resolving in-turn relative references " +
33
+ "like 'last Friday' or 'yesterday' against. For real-time " +
34
+ "stores, pass the current time. For recounted past events " +
35
+ "where the user is talking about something that happened " +
36
+ "earlier (e.g. 'remember I called Alex last Friday'), OMIT " +
37
+ "this field — do NOT pass the recounted event date while " +
38
+ "leaving relative wording in the text; that produces wrong " +
39
+ "anchors. When unknown, omit; do not guess.",
40
+ })),
28
41
  }),
29
42
  async execute(_id, params) {
30
- const { text, namespace } = params;
43
+ const { text, namespace, occurredAt } = params;
31
44
  const ns = namespace || config.defaultNamespace;
32
45
  // Defence in depth: reject injection on write, not just on read.
33
46
  // The recall hook filters on retrieval, but polluted data could
@@ -55,7 +68,10 @@ export function registerStoreTool(api, client, config) {
55
68
  };
56
69
  }
57
70
  try {
58
- const result = await client.analyze(text.trim(), ns);
71
+ const result = await client.analyze(text.trim(), {
72
+ namespace: ns,
73
+ occurredAt,
74
+ });
59
75
  const factCount = result.facts?.length ?? 0;
60
76
  // Show first 3 extracted facts as confirmation, or raw text truncation as fallback
61
77
  const preview = result.facts
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/tools/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/tools/store.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  /**
2
- * Shared types for the MemWal OpenClaw plugin.
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
- /** MemWalAccount object ID on Sui. */
7
+ /** Walrus Memory account object ID on Sui. */
8
8
  accountId: string;
9
- /** MemWal server URL. */
9
+ /** Walrus Memory server URL. */
10
10
  serverUrl: string;
11
11
  /** Default namespace for memory scoping (default: "default"). */
12
12
  defaultNamespace: string;
@@ -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,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,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"}
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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Shared types for the MemWal OpenClaw plugin.
2
+ * Shared types for the Walrus Memory OpenClaw plugin.
3
3
  */
4
4
  export {};
5
5
  //# sourceMappingURL=types.js.map
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "id": "memory-memwal",
3
3
  "kind": "memory",
4
- "name": "Memory (MemWal)",
5
- "description": "Encrypted, decentralized long-term memory via MemWal + Walrus",
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": "MemWalAccount object ID on Sui (0x...)"
16
+ "description": "Walrus Memory account object ID on Sui (0x...)"
17
17
  },
18
18
  "serverUrl": {
19
19
  "type": "string",
20
- "description": "MemWal server URL"
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 memwal.ai. Supports ${ENV_VAR} syntax."
60
+ "help": "Get from the Walrus Memory dashboard. Supports ${ENV_VAR} syntax."
61
61
  },
62
62
  "accountId": {
63
- "label": "MemWalAccount ID",
63
+ "label": "Walrus Memory Account ID",
64
64
  "placeholder": "0x3247e3da...",
65
- "help": "MemWalAccount object ID on Sui. Get from memwal.ai."
65
+ "help": "Walrus Memory account object ID on Sui. Get from the Walrus Memory dashboard."
66
66
  },
67
67
  "serverUrl": {
68
- "label": "MemWal Server URL",
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
- "name": "@mysten-incubation/oc-memwal",
3
- "version": "0.0.2",
4
- "type": "module",
5
- "description": "NemoClaw/OpenClaw memory plugin — encrypted, decentralized long-term memory via MemWal + Walrus",
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"
2
+ "name": "@mysten-incubation/oc-memwal",
3
+ "version": "0.0.3-dev.1",
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": "workspace:*",
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
  }