clawvault 2.6.1 → 2.6.4

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.
Files changed (125) hide show
  1. package/README.md +352 -20
  2. package/bin/clawvault.js +8 -2
  3. package/bin/command-runtime.js +9 -1
  4. package/bin/register-maintenance-commands.js +19 -0
  5. package/bin/register-query-commands.js +58 -6
  6. package/bin/register-workgraph-commands.js +451 -0
  7. package/dist/{chunk-VXEOHTSL.js → chunk-2JQ3O2YL.js} +1 -1
  8. package/dist/{chunk-VR5NE7PZ.js → chunk-2RAZ4ZFE.js} +1 -1
  9. package/dist/chunk-2ZDO52B4.js +52 -0
  10. package/dist/chunk-4BQTQMJP.js +93 -0
  11. package/dist/{chunk-MAKNAHAW.js → chunk-5PJ4STIC.js} +98 -8
  12. package/dist/{chunk-IEVLHNLU.js → chunk-627Q3QWK.js} +3 -3
  13. package/dist/{chunk-R6SXNSFD.js → chunk-6NYYDNNG.js} +3 -3
  14. package/dist/chunk-ECRZL5XR.js +50 -0
  15. package/dist/chunk-GNJL4YGR.js +79 -0
  16. package/dist/{chunk-OZ7RIXTO.js → chunk-IIOU45CK.js} +1 -1
  17. package/dist/chunk-L4HSSQ6T.js +152 -0
  18. package/dist/{chunk-XAVB4GB4.js → chunk-LIGHWOH6.js} +1 -1
  19. package/dist/{chunk-PBEE567J.js → chunk-LUBZXECN.js} +2 -2
  20. package/dist/{chunk-UEOUADMO.js → chunk-MFL6EEPF.js} +204 -35
  21. package/dist/chunk-MM6QGW3P.js +207 -0
  22. package/dist/{chunk-T76H47ZS.js → chunk-MNPUYCHQ.js} +1 -1
  23. package/dist/{chunk-TLGBDTYT.js → chunk-MPOSMDMU.js} +6 -6
  24. package/dist/{chunk-RVYA52PY.js → chunk-NJYJL5AA.js} +1 -1
  25. package/dist/{chunk-Q2J5YTUF.js → chunk-OQGYFZ4A.js} +669 -33
  26. package/dist/{chunk-ME37YNW3.js → chunk-P7SY3D4E.js} +3 -3
  27. package/dist/chunk-RHISK3SZ.js +189 -0
  28. package/dist/{chunk-3BTHWPMB.js → chunk-S5OJEGFG.js} +2 -2
  29. package/dist/{chunk-MGDEINGP.js → chunk-SS4B7P7V.js} +1 -1
  30. package/dist/chunk-U4O6C46S.js +154 -0
  31. package/dist/{chunk-ITPEXLHA.js → chunk-URXDAUVH.js} +24 -5
  32. package/dist/chunk-WIOLLGAD.js +190 -0
  33. package/dist/chunk-WMGIIABP.js +15 -0
  34. package/dist/{chunk-QVMXF7FY.js → chunk-X3SPPUFG.js} +50 -0
  35. package/dist/{chunk-THRJVD4L.js → chunk-Y6VJKXGL.js} +1 -1
  36. package/dist/{chunk-KL4NAOMO.js → chunk-YDWHS4LJ.js} +49 -9
  37. package/dist/{chunk-4VRIMU4O.js → chunk-YNIPYN4F.js} +4 -4
  38. package/dist/{chunk-HIHOUSXS.js → chunk-YXQCA6B7.js} +105 -1
  39. package/dist/cli/index.js +18 -16
  40. package/dist/commands/archive.js +3 -2
  41. package/dist/commands/backlog.js +1 -0
  42. package/dist/commands/blocked.js +1 -0
  43. package/dist/commands/canvas.js +1 -0
  44. package/dist/commands/checkpoint.js +1 -0
  45. package/dist/commands/compat.js +2 -1
  46. package/dist/commands/context.js +5 -3
  47. package/dist/commands/doctor.d.ts +10 -1
  48. package/dist/commands/doctor.js +11 -8
  49. package/dist/commands/embed.js +5 -3
  50. package/dist/commands/entities.js +2 -1
  51. package/dist/commands/graph.js +3 -2
  52. package/dist/commands/inject.d.ts +1 -1
  53. package/dist/commands/inject.js +4 -3
  54. package/dist/commands/kanban.js +1 -0
  55. package/dist/commands/link.js +2 -1
  56. package/dist/commands/migrate-observations.js +3 -2
  57. package/dist/commands/observe.js +8 -6
  58. package/dist/commands/project.js +1 -0
  59. package/dist/commands/rebuild-embeddings.d.ts +21 -0
  60. package/dist/commands/rebuild-embeddings.js +91 -0
  61. package/dist/commands/rebuild.js +6 -4
  62. package/dist/commands/recover.js +1 -0
  63. package/dist/commands/reflect.js +5 -4
  64. package/dist/commands/repair-session.js +1 -0
  65. package/dist/commands/replay.js +7 -6
  66. package/dist/commands/session-recap.js +1 -0
  67. package/dist/commands/setup.js +3 -2
  68. package/dist/commands/shell-init.js +2 -0
  69. package/dist/commands/sleep.d.ts +1 -1
  70. package/dist/commands/sleep.js +8 -6
  71. package/dist/commands/status.d.ts +2 -0
  72. package/dist/commands/status.js +35 -24
  73. package/dist/commands/sync-bd.js +3 -2
  74. package/dist/commands/tailscale.js +3 -2
  75. package/dist/commands/task.js +1 -0
  76. package/dist/commands/template.js +1 -0
  77. package/dist/commands/wake.d.ts +1 -1
  78. package/dist/commands/wake.js +4 -2
  79. package/dist/index.d.ts +333 -10
  80. package/dist/index.js +320 -33
  81. package/dist/{inject-x65KXWPk.d.ts → inject-DYUrDqQO.d.ts} +2 -2
  82. package/dist/ledger-B7g7jhqG.d.ts +44 -0
  83. package/dist/lib/auto-linker.js +1 -0
  84. package/dist/lib/canvas-layout.js +1 -0
  85. package/dist/lib/config.d.ts +27 -3
  86. package/dist/lib/config.js +4 -1
  87. package/dist/lib/entity-index.js +1 -0
  88. package/dist/lib/project-utils.js +1 -0
  89. package/dist/lib/session-repair.js +1 -0
  90. package/dist/lib/session-utils.js +1 -0
  91. package/dist/lib/tailscale.js +1 -0
  92. package/dist/lib/task-utils.js +1 -0
  93. package/dist/lib/template-engine.js +1 -0
  94. package/dist/lib/webdav.js +1 -0
  95. package/dist/onnxruntime_binding-5QEF3SUC.node +0 -0
  96. package/dist/onnxruntime_binding-BKPKNEGC.node +0 -0
  97. package/dist/onnxruntime_binding-FMOXGIUT.node +0 -0
  98. package/dist/onnxruntime_binding-OI2KMXC5.node +0 -0
  99. package/dist/onnxruntime_binding-UX44MLAZ.node +0 -0
  100. package/dist/onnxruntime_binding-Y2W7N7WY.node +0 -0
  101. package/dist/registry-BR4326o0.d.ts +30 -0
  102. package/dist/store-CA-6sKCJ.d.ts +34 -0
  103. package/dist/thread-B9LhXNU0.d.ts +41 -0
  104. package/dist/transformers.node-A2ZRORSQ.js +46775 -0
  105. package/dist/{types-C74wgGL1.d.ts → types-BbWJoC1c.d.ts} +1 -1
  106. package/dist/workgraph/index.d.ts +5 -0
  107. package/dist/workgraph/index.js +23 -0
  108. package/dist/workgraph/ledger.d.ts +2 -0
  109. package/dist/workgraph/ledger.js +25 -0
  110. package/dist/workgraph/registry.d.ts +2 -0
  111. package/dist/workgraph/registry.js +19 -0
  112. package/dist/workgraph/store.d.ts +2 -0
  113. package/dist/workgraph/store.js +25 -0
  114. package/dist/workgraph/thread.d.ts +2 -0
  115. package/dist/workgraph/thread.js +25 -0
  116. package/dist/workgraph/types.d.ts +54 -0
  117. package/dist/workgraph/types.js +7 -0
  118. package/hooks/clawvault/HOOK.md +34 -4
  119. package/hooks/clawvault/handler.js +751 -8
  120. package/hooks/clawvault/handler.test.js +247 -0
  121. package/hooks/clawvault/openclaw.plugin.json +72 -0
  122. package/openclaw.plugin.json +84 -0
  123. package/package.json +8 -4
  124. package/dist/chunk-4QYGFWRM.js +0 -88
  125. package/dist/chunk-MXSSG3QU.js +0 -42
@@ -159,4 +159,4 @@ interface SessionRecap {
159
159
  }
160
160
  declare const DEFAULT_CONFIG: Partial<VaultConfig>;
161
161
 
162
- export { type Category as C, type Document as D, type HandoffDocument as H, type MemoryType as M, type StoreOptions as S, TYPE_TO_CATEGORY as T, type VaultConfig as V, type SearchOptions as a, type SearchResult as b, type SyncOptions as c, type SyncResult as d, type SessionRecap as e, DEFAULT_CATEGORIES as f, DEFAULT_CONFIG as g, MEMORY_TYPES as h, type VaultMeta as i };
162
+ export { type Category as C, type Document as D, type HandoffDocument as H, type MemoryType as M, type SessionRecap as S, TYPE_TO_CATEGORY as T, type VaultConfig as V, type StoreOptions as a, type SearchOptions as b, type SearchResult as c, type SyncOptions as d, type SyncResult as e, DEFAULT_CATEGORIES as f, DEFAULT_CONFIG as g, MEMORY_TYPES as h, type VaultMeta as i };
@@ -0,0 +1,5 @@
1
+ export { FieldDefinition, LedgerEntry, LedgerOp, PrimitiveInstance, PrimitiveTypeDefinition, Registry, THREAD_STATUS_TRANSITIONS, ThreadStatus } from './types.js';
2
+ export { r as registry } from '../registry-BR4326o0.js';
3
+ export { l as ledger } from '../ledger-B7g7jhqG.js';
4
+ export { s as store } from '../store-CA-6sKCJ.js';
5
+ export { t as thread } from '../thread-B9LhXNU0.js';
@@ -0,0 +1,23 @@
1
+ import {
2
+ thread_exports
3
+ } from "../chunk-RHISK3SZ.js";
4
+ import {
5
+ store_exports
6
+ } from "../chunk-L4HSSQ6T.js";
7
+ import {
8
+ registry_exports
9
+ } from "../chunk-MM6QGW3P.js";
10
+ import {
11
+ THREAD_STATUS_TRANSITIONS
12
+ } from "../chunk-WMGIIABP.js";
13
+ import {
14
+ ledger_exports
15
+ } from "../chunk-4BQTQMJP.js";
16
+ import "../chunk-2ZDO52B4.js";
17
+ export {
18
+ THREAD_STATUS_TRANSITIONS,
19
+ ledger_exports as ledger,
20
+ registry_exports as registry,
21
+ store_exports as store,
22
+ thread_exports as thread
23
+ };
@@ -0,0 +1,2 @@
1
+ import './types.js';
2
+ export { a as activityOf, b as allClaims, c as append, d as currentOwner, h as historyOf, i as isClaimed, e as ledgerPath, r as readAll, f as readSince, g as recent } from '../ledger-B7g7jhqG.js';
@@ -0,0 +1,25 @@
1
+ import {
2
+ activityOf,
3
+ allClaims,
4
+ append,
5
+ currentOwner,
6
+ historyOf,
7
+ isClaimed,
8
+ ledgerPath,
9
+ readAll,
10
+ readSince,
11
+ recent
12
+ } from "../chunk-4BQTQMJP.js";
13
+ import "../chunk-2ZDO52B4.js";
14
+ export {
15
+ activityOf,
16
+ allClaims,
17
+ append,
18
+ currentOwner,
19
+ historyOf,
20
+ isClaimed,
21
+ ledgerPath,
22
+ readAll,
23
+ readSince,
24
+ recent
25
+ };
@@ -0,0 +1,2 @@
1
+ import './types.js';
2
+ export { d as defineType, e as extendType, g as getType, l as listTypes, a as loadRegistry, b as registryPath, s as saveRegistry } from '../registry-BR4326o0.js';
@@ -0,0 +1,19 @@
1
+ import {
2
+ defineType,
3
+ extendType,
4
+ getType,
5
+ listTypes,
6
+ loadRegistry,
7
+ registryPath,
8
+ saveRegistry
9
+ } from "../chunk-MM6QGW3P.js";
10
+ import "../chunk-2ZDO52B4.js";
11
+ export {
12
+ defineType,
13
+ extendType,
14
+ getType,
15
+ listTypes,
16
+ loadRegistry,
17
+ registryPath,
18
+ saveRegistry
19
+ };
@@ -0,0 +1,2 @@
1
+ import './types.js';
2
+ export { a as activeThreads, b as blockedThreads, c as create, f as findByField, l as list, o as openThreads, r as read, d as remove, u as update } from '../store-CA-6sKCJ.js';
@@ -0,0 +1,25 @@
1
+ import {
2
+ activeThreads,
3
+ blockedThreads,
4
+ create,
5
+ findByField,
6
+ list,
7
+ openThreads,
8
+ read,
9
+ remove,
10
+ update
11
+ } from "../chunk-L4HSSQ6T.js";
12
+ import "../chunk-MM6QGW3P.js";
13
+ import "../chunk-4BQTQMJP.js";
14
+ import "../chunk-2ZDO52B4.js";
15
+ export {
16
+ activeThreads,
17
+ blockedThreads,
18
+ create,
19
+ findByField,
20
+ list,
21
+ openThreads,
22
+ read,
23
+ remove,
24
+ update
25
+ };
@@ -0,0 +1,2 @@
1
+ import './types.js';
2
+ export { b as block, c as cancel, a as claim, d as createThread, e as decompose, f as done, r as release, u as unblock } from '../thread-B9LhXNU0.js';
@@ -0,0 +1,25 @@
1
+ import {
2
+ block,
3
+ cancel,
4
+ claim,
5
+ createThread,
6
+ decompose,
7
+ done,
8
+ release,
9
+ unblock
10
+ } from "../chunk-RHISK3SZ.js";
11
+ import "../chunk-L4HSSQ6T.js";
12
+ import "../chunk-MM6QGW3P.js";
13
+ import "../chunk-WMGIIABP.js";
14
+ import "../chunk-4BQTQMJP.js";
15
+ import "../chunk-2ZDO52B4.js";
16
+ export {
17
+ block,
18
+ cancel,
19
+ claim,
20
+ createThread,
21
+ decompose,
22
+ done,
23
+ release,
24
+ unblock
25
+ };
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Workgraph type definitions.
3
+ *
4
+ * Three layers:
5
+ * 1. Registry — what primitive types exist (agent-extensible)
6
+ * 2. Ledger — what happened (append-only, source of truth for claims/state)
7
+ * 3. Store — the actual markdown files (the primitives themselves)
8
+ */
9
+ interface FieldDefinition {
10
+ type: 'string' | 'number' | 'boolean' | 'list' | 'date' | 'ref' | 'any';
11
+ required?: boolean;
12
+ default?: unknown;
13
+ description?: string;
14
+ }
15
+ interface PrimitiveTypeDefinition {
16
+ name: string;
17
+ description: string;
18
+ fields: Record<string, FieldDefinition>;
19
+ /** Directory under vault root where instances live (default: `<name>s/`). */
20
+ directory: string;
21
+ /** Whether this type was defined by an agent at runtime vs built-in. */
22
+ builtIn: boolean;
23
+ /** ISO timestamp of when this type was registered. */
24
+ createdAt: string;
25
+ /** Who registered it (agent name or "system"). */
26
+ createdBy: string;
27
+ }
28
+ interface Registry {
29
+ version: number;
30
+ types: Record<string, PrimitiveTypeDefinition>;
31
+ }
32
+ type LedgerOp = 'create' | 'update' | 'delete' | 'claim' | 'release' | 'block' | 'unblock' | 'done' | 'cancel' | 'define' | 'decompose';
33
+ interface LedgerEntry {
34
+ ts: string;
35
+ actor: string;
36
+ op: LedgerOp;
37
+ target: string;
38
+ type?: string;
39
+ data?: Record<string, unknown>;
40
+ }
41
+ type ThreadStatus = 'open' | 'active' | 'blocked' | 'done' | 'cancelled';
42
+ declare const THREAD_STATUS_TRANSITIONS: Record<ThreadStatus, ThreadStatus[]>;
43
+ interface PrimitiveInstance {
44
+ /** File path relative to vault root. */
45
+ path: string;
46
+ /** Primitive type name. */
47
+ type: string;
48
+ /** Frontmatter fields. */
49
+ fields: Record<string, unknown>;
50
+ /** Markdown body content. */
51
+ body: string;
52
+ }
53
+
54
+ export { type FieldDefinition, type LedgerEntry, type LedgerOp, type PrimitiveInstance, type PrimitiveTypeDefinition, type Registry, THREAD_STATUS_TRANSITIONS, type ThreadStatus };
@@ -0,0 +1,7 @@
1
+ import {
2
+ THREAD_STATUS_TRANSITIONS
3
+ } from "../chunk-WMGIIABP.js";
4
+ import "../chunk-2ZDO52B4.js";
5
+ export {
6
+ THREAD_STATUS_TRANSITIONS
7
+ };
@@ -73,11 +73,41 @@ Injection format:
73
73
 
74
74
  The hook accepts canonical OpenClaw events (`gateway:startup`, `gateway:heartbeat`, `command:new`, `session:start`, `compaction:memoryFlush`, `cron.weekly`) and tolerates alias payload shapes (`event`, `eventName`, `name`, `hook`, `trigger`) to remain robust across runtime wrappers.
75
75
 
76
- ## Configuration Notes
76
+ ## Configuration
77
77
 
78
- The hook auto-detects vault path via:
78
+ ### Plugin Configuration (Recommended)
79
79
 
80
- 1. `CLAWVAULT_PATH` environment variable
81
- 2. Walking up from cwd to find `.clawvault.json`
80
+ Configure the plugin via OpenClaw's config system:
81
+
82
+ ```bash
83
+ # Set vault path
84
+ openclaw config set plugins.clawvault.config.vaultPath ~/my-vault
85
+
86
+ # View current config
87
+ openclaw config get plugins.clawvault.config
88
+ ```
89
+
90
+ Available configuration options:
91
+
92
+ | Key | Type | Default | Description |
93
+ |-----|------|---------|-------------|
94
+ | `vaultPath` | string | (auto-detected) | Path to the ClawVault vault directory |
95
+ | `autoCheckpoint` | boolean | `true` | Enable automatic checkpointing on session events |
96
+ | `contextProfile` | string | `"auto"` | Default context profile (`default`, `planning`, `incident`, `handoff`, `auto`) |
97
+ | `maxContextResults` | integer | `4` | Maximum context results to inject on session start |
98
+ | `observeOnHeartbeat` | boolean | `true` | Enable observation threshold checks on heartbeat |
99
+ | `weeklyReflection` | boolean | `true` | Enable weekly reflection on Sunday midnight UTC |
100
+
101
+ ### Vault Path Resolution
102
+
103
+ The hook resolves the vault path in this order:
104
+
105
+ 1. Plugin config (`plugins.clawvault.config.vaultPath` set via `openclaw config`)
106
+ 2. `OPENCLAW_PLUGIN_CLAWVAULT_VAULTPATH` environment variable
107
+ 3. `CLAWVAULT_PATH` environment variable
108
+ 4. Walking up from cwd to find `.clawvault.json`
109
+ 5. Checking `memory/` subdirectory (OpenClaw convention)
110
+
111
+ ### Troubleshooting
82
112
 
83
113
  If `openclaw hooks enable clawvault` fails with hook-not-found, run `openclaw hooks install clawvault` first and verify discovery with `openclaw hooks list --verbose`.