clawvault 3.5.1 → 3.5.2

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Versatly
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -267,24 +267,30 @@ clawvault setup --theme neural --canvas --bases
267
267
 
268
268
  ## OpenClaw Integration
269
269
 
270
- For hook-based lifecycle integration with OpenClaw:
270
+ ClawVault integrates with OpenClaw as a plugin. Install the npm package, then configure it in your OpenClaw config:
271
271
 
272
272
  ```bash
273
- # Install and enable hook pack
274
- openclaw hooks install clawvault
275
- openclaw hooks enable clawvault
273
+ # 1. Install the ClawVault package
274
+ npm install clawvault
276
275
 
277
- # Verify
278
- openclaw hooks list --verbose
279
- openclaw hooks check
276
+ # 2. Register the plugin and memory slot in openclaw.json
277
+ openclaw config set plugins.entries.clawvault.package clawvault
278
+ openclaw config set plugins.slots.memory clawvault
279
+
280
+ # 3. Configure your vault path
281
+ openclaw config set plugins.entries.clawvault.config.vaultPath ~/my-vault
282
+
283
+ # 4. Verify
280
284
  clawvault compat
281
285
  ```
282
286
 
283
- The hook automatically:
287
+ The plugin automatically:
284
288
  - Detects context death and injects recovery alerts
285
289
  - Auto-checkpoints before session resets
286
290
  - Provides `--profile auto` for context queries
287
291
 
292
+ > **Legacy note:** The older `openclaw hooks install` / `openclaw hooks enable` flow is no longer the recommended path. Use the plugin model above.
293
+
288
294
  ### MEMORY.md vs Vault
289
295
 
290
296
  If you use both a `MEMORY.md` workspace file and a ClawVault vault, understand their roles:
@@ -351,27 +357,29 @@ clawvault compat
351
357
 
352
358
  ## OpenClaw Setup (Canonical)
353
359
 
354
- If you want hook-based lifecycle integration, use this sequence:
360
+ ClawVault integrates with OpenClaw as a plugin. Use this sequence:
355
361
 
356
362
  ```bash
357
- # Install CLI
358
- npm install -g clawvault
363
+ # Install ClawVault
364
+ npm install clawvault
365
+
366
+ # Register plugin and memory slot
367
+ openclaw config set plugins.entries.clawvault.package clawvault
368
+ openclaw config set plugins.slots.memory clawvault
359
369
 
360
- # Install and enable hook pack
361
- openclaw hooks install clawvault
362
- openclaw hooks enable clawvault
370
+ # Configure vault path and desired features
371
+ openclaw config set plugins.entries.clawvault.config.vaultPath ~/my-vault
372
+ openclaw config set plugins.entries.clawvault.config.enableStartupRecovery true
373
+ openclaw config set plugins.entries.clawvault.config.enableSessionContextInjection true
363
374
 
364
375
  # Verify
365
- openclaw hooks list --verbose
366
- openclaw hooks info clawvault
367
- openclaw hooks check
368
376
  clawvault compat
369
377
  ```
370
378
 
371
379
  Important:
372
380
 
373
- - `clawhub install clawvault` installs skill guidance, but does not replace hook-pack installation.
374
- - After enabling hooks, restart the OpenClaw gateway process so hook registration reloads.
381
+ - `clawhub install clawvault` installs skill guidance, but does not replace plugin configuration.
382
+ - After changing plugin config, restart the OpenClaw gateway process so plugin registration reloads.
375
383
 
376
384
  ## Minimal AGENTS.md Additions
377
385
 
@@ -488,10 +496,10 @@ vault/
488
496
  - `qmd` fallback errors:
489
497
  - `qmd` is optional; in-process BM25 search is available without it
490
498
  - if you want fallback compatibility, ensure `qmd --version` works in the same shell
491
- - Hook/plugin not active in OpenClaw:
492
- - run `openclaw hooks install clawvault`
493
- - run `openclaw hooks enable clawvault`
494
- - verify with `openclaw hooks list --verbose`
499
+ - Plugin not active in OpenClaw:
500
+ - run `openclaw config set plugins.entries.clawvault.package clawvault`
501
+ - run `openclaw config set plugins.slots.memory clawvault`
502
+ - restart the OpenClaw gateway process
495
503
  - OpenClaw integration drift:
496
504
  - run `clawvault compat`
497
505
  - Session transcript corruption:
@@ -195,14 +195,28 @@ function checkHookHandlerSafety(options) {
195
195
  }
196
196
  return { label: "hook handler safety", status: "ok" };
197
197
  }
198
+ function resolvePluginManifestPath(options) {
199
+ const packageRaw = readOptionalFile(resolveProjectFile("package.json", options.baseDir));
200
+ if (packageRaw) {
201
+ try {
202
+ const parsed = JSON.parse(packageRaw);
203
+ if (typeof parsed.openclaw?.plugin === "string") {
204
+ return parsed.openclaw.plugin.replace(/^\.\//, "");
205
+ }
206
+ } catch {
207
+ }
208
+ }
209
+ return "openclaw.plugin.json";
210
+ }
198
211
  function checkPluginManifest(options) {
199
- const manifestRaw = readOptionalFile(resolveProjectFile("hooks/clawvault/openclaw.plugin.json", options.baseDir));
212
+ const manifestRelPath = resolvePluginManifestPath(options);
213
+ const manifestRaw = readOptionalFile(resolveProjectFile(manifestRelPath, options.baseDir));
200
214
  if (!manifestRaw) {
201
215
  return {
202
216
  label: "plugin manifest",
203
217
  status: "error",
204
- detail: "hooks/clawvault/openclaw.plugin.json not found",
205
- hint: "Add openclaw.plugin.json to hooks/clawvault/ for config schema registration."
218
+ detail: `${manifestRelPath} not found`,
219
+ hint: "Ensure openclaw.plugin.json exists at the path declared in package.json openclaw.plugin."
206
220
  };
207
221
  }
208
222
  try {
@@ -2,7 +2,7 @@ import {
2
2
  checkOpenClawCompatibility,
3
3
  compatCommand,
4
4
  compatibilityExitCode
5
- } from "../chunk-X3SPPUFG.js";
5
+ } from "../chunk-IFUHSHN3.js";
6
6
  import "../chunk-2ZDO52B4.js";
7
7
  export {
8
8
  checkOpenClawCompatibility,
package/dist/index.js CHANGED
@@ -35,7 +35,7 @@ import {
35
35
  checkOpenClawCompatibility,
36
36
  compatCommand,
37
37
  compatibilityExitCode
38
- } from "./chunk-X3SPPUFG.js";
38
+ } from "./chunk-IFUHSHN3.js";
39
39
  import {
40
40
  doctor
41
41
  } from "./chunk-CSHO3PJB.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawvault",
3
- "version": "3.5.1",
3
+ "version": "3.5.2",
4
4
  "description": "Structured memory system for AI agents — typed storage, knowledge graph, context profiles, canvas dashboards, neural graph themes, and Obsidian-native task views. An elephant never forgets. 🐘",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",