clawvault 3.2.1 → 3.3.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 +56 -16
- package/bin/clawvault.js +0 -2
- package/bin/command-registration.test.js +13 -1
- package/bin/help-contract.test.js +14 -0
- package/bin/register-core-commands.js +88 -0
- package/bin/register-core-commands.test.js +80 -0
- package/bin/register-maintenance-commands.js +57 -6
- package/bin/register-query-commands.js +10 -28
- package/bin/test-helpers/cli-command-fixtures.js +1 -0
- package/dist/chunk-2PKBIKDH.js +130 -0
- package/dist/{chunk-U67V476Y.js → chunk-2ZDO52B4.js} +18 -1
- package/dist/{chunk-ZZA73MFY.js → chunk-33DOSHTA.js} +176 -36
- package/dist/{chunk-AZYOKJYC.js → chunk-4PY655YM.js} +13 -1
- package/dist/{chunk-2JQ3O2YL.js → chunk-5EFSWZO6.js} +3 -3
- package/dist/{chunk-Y3TIJEBP.js → chunk-7SWP5FKU.js} +34 -613
- package/dist/{chunk-4VQTUVH7.js → chunk-7YZWHM36.js} +52 -26
- package/dist/{chunk-URXDAUVH.js → chunk-AXSJIFOJ.js} +174 -1
- package/dist/{chunk-4ITRXIVT.js → chunk-BLQXXX7Q.js} +6 -6
- package/dist/chunk-CSHO3PJB.js +684 -0
- package/dist/{chunk-S5OJEGFG.js → chunk-DOIUYIXV.js} +2 -2
- package/dist/{chunk-YXQCA6B7.js → chunk-DVOUSOR3.js} +112 -7
- package/dist/{chunk-YDWHS4LJ.js → chunk-ECGJYWNA.js} +205 -33
- package/dist/{chunk-QMHPQYUV.js → chunk-EL6UBSX5.js} +7 -6
- package/dist/chunk-FZ5I2NF7.js +352 -0
- package/dist/{chunk-WJVWINEM.js → chunk-GFCHWMGD.js} +55 -6
- package/dist/{chunk-GNJL4YGR.js → chunk-GJO3CFUN.js} +30 -6
- package/dist/chunk-H3JZIB5O.js +322 -0
- package/dist/chunk-HEHO7SMV.js +51 -0
- package/dist/{chunk-UCQAOZHW.js → chunk-HGDDW24U.js} +3 -3
- package/dist/chunk-J3YUXVID.js +907 -0
- package/dist/{chunk-Y6VJKXGL.js → chunk-KCYWJDDW.js} +1 -1
- package/dist/{chunk-P5EPF6MB.js → chunk-MW5C6ZQA.js} +110 -13
- package/dist/{chunk-YNIPYN4F.js → chunk-OFOCU2V4.js} +6 -5
- package/dist/{chunk-42MXU7A6.js → chunk-P62WHA27.js} +58 -47
- package/dist/chunk-PTWPPVC7.js +972 -0
- package/dist/{chunk-FAKNOB7Y.js → chunk-QFWERBDP.js} +2 -2
- package/dist/{chunk-IIOU45CK.js → chunk-S7N7HI5E.js} +2 -2
- package/dist/{chunk-ECRZL5XR.js → chunk-T7E764W3.js} +23 -7
- package/dist/chunk-TDWFBDAQ.js +1016 -0
- package/dist/{chunk-MNPUYCHQ.js → chunk-TWMI3SNN.js} +6 -5
- package/dist/{chunk-2RAZ4ZFE.js → chunk-VBILES4B.js} +1 -1
- package/dist/{chunk-PI4WMLMG.js → chunk-VXAGOLDP.js} +1 -1
- package/dist/chunk-YCUVAOFC.js +158 -0
- package/dist/{chunk-SS4B7P7V.js → chunk-YIDV4VV2.js} +1 -1
- package/dist/chunk-ZKWPCBYT.js +600 -0
- package/dist/cli/index.js +27 -21
- package/dist/commands/archive.js +3 -3
- package/dist/commands/backlog.js +1 -1
- package/dist/commands/benchmark.d.ts +12 -0
- package/dist/commands/benchmark.js +12 -0
- package/dist/commands/blocked.js +1 -1
- package/dist/commands/canvas.js +2 -2
- package/dist/commands/checkpoint.js +1 -1
- package/dist/commands/compat.js +1 -1
- package/dist/commands/context.js +8 -7
- package/dist/commands/doctor.d.ts +8 -3
- package/dist/commands/doctor.js +8 -22
- package/dist/commands/embed.js +6 -5
- package/dist/commands/entities.js +2 -2
- package/dist/commands/graph.js +4 -4
- package/dist/commands/inbox.d.ts +23 -0
- package/dist/commands/inbox.js +11 -0
- package/dist/commands/inject.d.ts +1 -1
- package/dist/commands/inject.js +5 -5
- package/dist/commands/kanban.js +1 -1
- package/dist/commands/link.js +9 -9
- package/dist/commands/maintain.d.ts +32 -0
- package/dist/commands/maintain.js +12 -0
- package/dist/commands/migrate-observations.js +3 -3
- package/dist/commands/observe.js +11 -10
- package/dist/commands/project.js +2 -2
- package/dist/commands/rebuild-embeddings.js +48 -17
- package/dist/commands/rebuild.js +9 -8
- package/dist/commands/recover.js +1 -1
- package/dist/commands/reflect.js +6 -6
- package/dist/commands/repair-session.js +1 -1
- package/dist/commands/replay.js +10 -9
- package/dist/commands/session-recap.js +1 -1
- package/dist/commands/setup.js +4 -3
- package/dist/commands/shell-init.js +1 -1
- package/dist/commands/sleep.d.ts +1 -1
- package/dist/commands/sleep.js +20 -18
- package/dist/commands/status.js +40 -26
- package/dist/commands/sync-bd.js +3 -3
- package/dist/commands/tailscale.js +3 -3
- package/dist/commands/task.js +1 -1
- package/dist/commands/template.js +1 -1
- package/dist/commands/wake.d.ts +1 -1
- package/dist/commands/wake.js +10 -9
- package/dist/index.d.ts +175 -16
- package/dist/index.js +277 -108
- package/dist/{inject-DYUrDqQO.d.ts → inject-DEb_jpLi.d.ts} +3 -1
- package/dist/lib/auto-linker.js +2 -2
- package/dist/lib/canvas-layout.js +1 -1
- package/dist/lib/config.js +2 -2
- package/dist/lib/entity-index.js +1 -1
- package/dist/lib/project-utils.js +2 -2
- package/dist/lib/session-repair.js +1 -1
- package/dist/lib/session-utils.js +1 -1
- package/dist/lib/tailscale.js +1 -1
- package/dist/lib/task-utils.js +1 -1
- package/dist/lib/template-engine.js +1 -1
- package/dist/lib/webdav.js +1 -1
- package/dist/onnxruntime_binding-5QEF3SUC.node +0 -0
- package/dist/onnxruntime_binding-BKPKNEGC.node +0 -0
- package/dist/onnxruntime_binding-FMOXGIUT.node +0 -0
- package/dist/onnxruntime_binding-OI2KMXC5.node +0 -0
- package/dist/onnxruntime_binding-UX44MLAZ.node +0 -0
- package/dist/onnxruntime_binding-Y2W7N7WY.node +0 -0
- package/dist/openclaw-plugin.d.ts +8 -0
- package/dist/openclaw-plugin.js +14 -0
- package/dist/transformers.node-A2ZRORSQ.js +46775 -0
- package/dist/{types-BbWJoC1c.d.ts → types-DslKvCaj.d.ts} +51 -1
- package/hooks/clawvault/HOOK.md +25 -8
- package/hooks/clawvault/handler.js +215 -78
- package/hooks/clawvault/handler.test.js +109 -43
- package/hooks/clawvault/integrity.js +112 -0
- package/hooks/clawvault/integrity.test.js +32 -0
- package/hooks/clawvault/openclaw.plugin.json +133 -15
- package/openclaw.plugin.json +131 -203
- package/package.json +10 -7
- package/bin/register-workgraph-commands.js +0 -451
- package/dist/chunk-5PJ4STIC.js +0 -465
- package/dist/chunk-ERNE2FZ5.js +0 -189
- package/dist/chunk-HR4KN6S2.js +0 -152
- package/dist/chunk-IJBFGPCS.js +0 -33
- package/dist/chunk-K7PNYS45.js +0 -93
- package/dist/chunk-NTOPJI7W.js +0 -207
- package/dist/chunk-PG56HX5T.js +0 -154
- package/dist/chunk-QPDDIHXE.js +0 -501
- package/dist/chunk-WIOLLGAD.js +0 -190
- package/dist/chunk-WMGIIABP.js +0 -15
- package/dist/ledger-B7g7jhqG.d.ts +0 -44
- package/dist/plugin/index.d.ts +0 -352
- package/dist/plugin/index.js +0 -4264
- package/dist/registry-BR4326o0.d.ts +0 -30
- package/dist/store-CA-6sKCJ.d.ts +0 -34
- package/dist/thread-B9LhXNU0.d.ts +0 -41
- package/dist/workgraph/index.d.ts +0 -5
- package/dist/workgraph/index.js +0 -23
- package/dist/workgraph/ledger.d.ts +0 -2
- package/dist/workgraph/ledger.js +0 -25
- package/dist/workgraph/registry.d.ts +0 -2
- package/dist/workgraph/registry.js +0 -19
- package/dist/workgraph/store.d.ts +0 -2
- package/dist/workgraph/store.js +0 -25
- package/dist/workgraph/thread.d.ts +0 -2
- package/dist/workgraph/thread.js +0 -25
- package/dist/workgraph/types.d.ts +0 -54
- package/dist/workgraph/types.js +0 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "clawvault",
|
|
3
3
|
"name": "ClawVault",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.7.0",
|
|
5
5
|
"description": "Structured memory system for AI agents with context death resilience",
|
|
6
6
|
"kind": "memory",
|
|
7
7
|
"configSchema": {
|
|
@@ -9,12 +9,78 @@
|
|
|
9
9
|
"properties": {
|
|
10
10
|
"vaultPath": {
|
|
11
11
|
"type": "string",
|
|
12
|
-
"description": "Path to the ClawVault vault directory.
|
|
12
|
+
"description": "Path to the ClawVault vault directory. Used as fallback when agentVaults is not set or agent not found."
|
|
13
|
+
},
|
|
14
|
+
"agentVaults": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"description": "Mapping of agent names to vault paths. Allows each agent to have its own vault. Falls back to vaultPath if agent not found.",
|
|
17
|
+
"additionalProperties": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Path to the vault directory for this agent"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"allowClawvaultExec": {
|
|
23
|
+
"type": "boolean",
|
|
24
|
+
"description": "Security gate for all child_process execution from the plugin. Must be true to run clawvault CLI commands.",
|
|
25
|
+
"default": false
|
|
26
|
+
},
|
|
27
|
+
"clawvaultBinaryPath": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "Optional absolute path to the clawvault executable. When omitted, the plugin resolves clawvault from PATH."
|
|
30
|
+
},
|
|
31
|
+
"clawvaultBinarySha256": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "Optional SHA-256 checksum for clawvaultBinaryPath (or resolved clawvault executable) to enforce binary integrity verification."
|
|
34
|
+
},
|
|
35
|
+
"allowEnvAccess": {
|
|
36
|
+
"type": "boolean",
|
|
37
|
+
"description": "Allow reading OPENCLAW_* and CLAWVAULT_PATH environment variables for vault and agent discovery.",
|
|
38
|
+
"default": false
|
|
39
|
+
},
|
|
40
|
+
"enableStartupRecovery": {
|
|
41
|
+
"type": "boolean",
|
|
42
|
+
"description": "Enable recovery checks on gateway startup.",
|
|
43
|
+
"default": false
|
|
44
|
+
},
|
|
45
|
+
"enableSessionContextInjection": {
|
|
46
|
+
"type": "boolean",
|
|
47
|
+
"description": "Enable recap/context injection on session start.",
|
|
48
|
+
"default": false
|
|
49
|
+
},
|
|
50
|
+
"enableAutoCheckpoint": {
|
|
51
|
+
"type": "boolean",
|
|
52
|
+
"description": "Enable automatic checkpointing on /new.",
|
|
53
|
+
"default": false
|
|
54
|
+
},
|
|
55
|
+
"enableObserveOnNew": {
|
|
56
|
+
"type": "boolean",
|
|
57
|
+
"description": "Enable observer flush on /new.",
|
|
58
|
+
"default": false
|
|
59
|
+
},
|
|
60
|
+
"enableHeartbeatObservation": {
|
|
61
|
+
"type": "boolean",
|
|
62
|
+
"description": "Enable observation threshold checks on heartbeat.",
|
|
63
|
+
"default": false
|
|
64
|
+
},
|
|
65
|
+
"enableCompactionObservation": {
|
|
66
|
+
"type": "boolean",
|
|
67
|
+
"description": "Enable forced observer flush on compaction events.",
|
|
68
|
+
"default": false
|
|
69
|
+
},
|
|
70
|
+
"enableWeeklyReflection": {
|
|
71
|
+
"type": "boolean",
|
|
72
|
+
"description": "Enable weekly reflection on Sunday midnight UTC.",
|
|
73
|
+
"default": false
|
|
74
|
+
},
|
|
75
|
+
"enableFactExtraction": {
|
|
76
|
+
"type": "boolean",
|
|
77
|
+
"description": "Enable extraction of structured facts from observed text during hook events.",
|
|
78
|
+
"default": false
|
|
13
79
|
},
|
|
14
80
|
"autoCheckpoint": {
|
|
15
81
|
"type": "boolean",
|
|
16
|
-
"description": "
|
|
17
|
-
"default":
|
|
82
|
+
"description": "Deprecated alias for enableAutoCheckpoint.",
|
|
83
|
+
"default": false
|
|
18
84
|
},
|
|
19
85
|
"contextProfile": {
|
|
20
86
|
"type": "string",
|
|
@@ -31,13 +97,13 @@
|
|
|
31
97
|
},
|
|
32
98
|
"observeOnHeartbeat": {
|
|
33
99
|
"type": "boolean",
|
|
34
|
-
"description": "
|
|
35
|
-
"default":
|
|
100
|
+
"description": "Deprecated alias for enableHeartbeatObservation.",
|
|
101
|
+
"default": false
|
|
36
102
|
},
|
|
37
103
|
"weeklyReflection": {
|
|
38
104
|
"type": "boolean",
|
|
39
|
-
"description": "
|
|
40
|
-
"default":
|
|
105
|
+
"description": "Deprecated alias for enableWeeklyReflection.",
|
|
106
|
+
"default": false
|
|
41
107
|
}
|
|
42
108
|
},
|
|
43
109
|
"additionalProperties": false
|
|
@@ -46,11 +112,63 @@
|
|
|
46
112
|
"vaultPath": {
|
|
47
113
|
"label": "Vault Path",
|
|
48
114
|
"placeholder": "~/my-vault",
|
|
49
|
-
"description": "Path to your ClawVault memory vault"
|
|
115
|
+
"description": "Path to your ClawVault memory vault (fallback when agentVaults not set)"
|
|
50
116
|
},
|
|
51
|
-
"
|
|
117
|
+
"agentVaults": {
|
|
118
|
+
"label": "Agent Vaults",
|
|
119
|
+
"description": "Per-agent vault paths (e.g., {\"agent1\": \"/path/to/vault1\", \"agent2\": \"/path/to/vault2\"})"
|
|
120
|
+
},
|
|
121
|
+
"allowClawvaultExec": {
|
|
122
|
+
"label": "Allow CLI Execution",
|
|
123
|
+
"description": "Required opt-in to run child_process calls from the plugin."
|
|
124
|
+
},
|
|
125
|
+
"clawvaultBinaryPath": {
|
|
126
|
+
"label": "ClawVault Binary Path",
|
|
127
|
+
"description": "Absolute path to clawvault executable for stricter execution controls."
|
|
128
|
+
},
|
|
129
|
+
"clawvaultBinarySha256": {
|
|
130
|
+
"label": "ClawVault Binary SHA-256",
|
|
131
|
+
"description": "Optional checksum to verify executable integrity before execution."
|
|
132
|
+
},
|
|
133
|
+
"allowEnvAccess": {
|
|
134
|
+
"label": "Allow Environment Access",
|
|
135
|
+
"description": "Allow OPENCLAW_* and CLAWVAULT_PATH reads for fallback discovery."
|
|
136
|
+
},
|
|
137
|
+
"enableStartupRecovery": {
|
|
138
|
+
"label": "Startup Recovery",
|
|
139
|
+
"description": "Run recovery checks on gateway startup."
|
|
140
|
+
},
|
|
141
|
+
"enableSessionContextInjection": {
|
|
142
|
+
"label": "Session Context Injection",
|
|
143
|
+
"description": "Inject recap and memory context on session start."
|
|
144
|
+
},
|
|
145
|
+
"enableAutoCheckpoint": {
|
|
52
146
|
"label": "Auto Checkpoint",
|
|
53
|
-
"description": "Automatically checkpoint before
|
|
147
|
+
"description": "Automatically checkpoint before /new."
|
|
148
|
+
},
|
|
149
|
+
"enableObserveOnNew": {
|
|
150
|
+
"label": "Observe On /new",
|
|
151
|
+
"description": "Run observer flush on /new."
|
|
152
|
+
},
|
|
153
|
+
"enableHeartbeatObservation": {
|
|
154
|
+
"label": "Observe On Heartbeat",
|
|
155
|
+
"description": "Check observation thresholds during heartbeat events."
|
|
156
|
+
},
|
|
157
|
+
"enableCompactionObservation": {
|
|
158
|
+
"label": "Observe On Compaction",
|
|
159
|
+
"description": "Force observer flush during compaction events."
|
|
160
|
+
},
|
|
161
|
+
"enableWeeklyReflection": {
|
|
162
|
+
"label": "Weekly Reflection",
|
|
163
|
+
"description": "Run weekly reflection on Sunday midnight UTC."
|
|
164
|
+
},
|
|
165
|
+
"enableFactExtraction": {
|
|
166
|
+
"label": "Fact Extraction",
|
|
167
|
+
"description": "Extract structured facts from hook event payloads."
|
|
168
|
+
},
|
|
169
|
+
"autoCheckpoint": {
|
|
170
|
+
"label": "Auto Checkpoint (Legacy Alias)",
|
|
171
|
+
"description": "Deprecated alias for enableAutoCheckpoint."
|
|
54
172
|
},
|
|
55
173
|
"contextProfile": {
|
|
56
174
|
"label": "Context Profile",
|
|
@@ -61,12 +179,12 @@
|
|
|
61
179
|
"description": "Number of vault memories to inject"
|
|
62
180
|
},
|
|
63
181
|
"observeOnHeartbeat": {
|
|
64
|
-
"label": "Observe on Heartbeat",
|
|
65
|
-
"description": "
|
|
182
|
+
"label": "Observe on Heartbeat (Legacy Alias)",
|
|
183
|
+
"description": "Deprecated alias for enableHeartbeatObservation."
|
|
66
184
|
},
|
|
67
185
|
"weeklyReflection": {
|
|
68
|
-
"label": "Weekly Reflection",
|
|
69
|
-
"description": "
|
|
186
|
+
"label": "Weekly Reflection (Legacy Alias)",
|
|
187
|
+
"description": "Deprecated alias for enableWeeklyReflection."
|
|
70
188
|
}
|
|
71
189
|
}
|
|
72
190
|
}
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,53 +1,95 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "clawvault",
|
|
3
3
|
"name": "ClawVault",
|
|
4
|
-
"version": "
|
|
5
|
-
"description": "Structured memory system for AI agents with
|
|
6
|
-
"kind": "memory",
|
|
4
|
+
"version": "2.7.0",
|
|
5
|
+
"description": "Structured memory system for AI agents with context death resilience",
|
|
7
6
|
"configSchema": {
|
|
8
7
|
"type": "object",
|
|
9
8
|
"properties": {
|
|
10
9
|
"vaultPath": {
|
|
11
10
|
"type": "string",
|
|
12
|
-
"description": "Path to the ClawVault vault directory.
|
|
11
|
+
"description": "Path to the ClawVault vault directory. Used as fallback when agentVaults is not set or agent not found."
|
|
13
12
|
},
|
|
14
13
|
"agentVaults": {
|
|
15
14
|
"type": "object",
|
|
16
|
-
"description": "Mapping of agent names to vault paths. Falls back to vaultPath if agent not found.",
|
|
15
|
+
"description": "Mapping of agent names to vault paths. Allows each agent to have its own vault. Falls back to vaultPath if agent not found.",
|
|
17
16
|
"additionalProperties": {
|
|
18
|
-
"type": "string"
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "Path to the vault directory for this agent"
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
|
-
"
|
|
21
|
+
"allowClawvaultExec": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"description": "Security gate for all child_process execution from the plugin. Must be true to run clawvault CLI commands.",
|
|
24
|
+
"default": false
|
|
25
|
+
},
|
|
26
|
+
"clawvaultBinaryPath": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"description": "Optional absolute path to the clawvault executable. When omitted, the plugin resolves clawvault from PATH."
|
|
29
|
+
},
|
|
30
|
+
"clawvaultBinarySha256": {
|
|
22
31
|
"type": "string",
|
|
23
|
-
"description": "
|
|
24
|
-
"default": "clawvault"
|
|
32
|
+
"description": "Optional SHA-256 checksum for clawvaultBinaryPath (or resolved clawvault executable) to enforce binary integrity verification."
|
|
25
33
|
},
|
|
26
|
-
"
|
|
34
|
+
"allowEnvAccess": {
|
|
27
35
|
"type": "boolean",
|
|
28
|
-
"description": "
|
|
29
|
-
"default":
|
|
36
|
+
"description": "Allow reading OPENCLAW_* and CLAWVAULT_PATH environment variables for vault and agent discovery.",
|
|
37
|
+
"default": false
|
|
30
38
|
},
|
|
31
|
-
"
|
|
39
|
+
"enableStartupRecovery": {
|
|
32
40
|
"type": "boolean",
|
|
33
|
-
"description": "Enable
|
|
34
|
-
"default":
|
|
41
|
+
"description": "Enable recovery checks on gateway startup.",
|
|
42
|
+
"default": false
|
|
35
43
|
},
|
|
36
|
-
"
|
|
37
|
-
"type": "
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"description": "Maximum number of memories to recall per query",
|
|
41
|
-
"default": 5
|
|
44
|
+
"enableSessionContextInjection": {
|
|
45
|
+
"type": "boolean",
|
|
46
|
+
"description": "Enable recap/context injection on session start.",
|
|
47
|
+
"default": false
|
|
42
48
|
},
|
|
43
|
-
"
|
|
44
|
-
"type": "
|
|
45
|
-
"description": "
|
|
49
|
+
"enableAutoCheckpoint": {
|
|
50
|
+
"type": "boolean",
|
|
51
|
+
"description": "Enable automatic checkpointing on /new.",
|
|
52
|
+
"default": false
|
|
53
|
+
},
|
|
54
|
+
"enableObserveOnNew": {
|
|
55
|
+
"type": "boolean",
|
|
56
|
+
"description": "Enable observer flush on /new.",
|
|
57
|
+
"default": false
|
|
58
|
+
},
|
|
59
|
+
"enableHeartbeatObservation": {
|
|
60
|
+
"type": "boolean",
|
|
61
|
+
"description": "Enable observation threshold checks on heartbeat.",
|
|
62
|
+
"default": false
|
|
63
|
+
},
|
|
64
|
+
"enableCompactionObservation": {
|
|
65
|
+
"type": "boolean",
|
|
66
|
+
"description": "Enable forced observer flush on compaction events.",
|
|
67
|
+
"default": false
|
|
68
|
+
},
|
|
69
|
+
"enableWeeklyReflection": {
|
|
70
|
+
"type": "boolean",
|
|
71
|
+
"description": "Enable weekly reflection on Sunday midnight UTC.",
|
|
72
|
+
"default": false
|
|
73
|
+
},
|
|
74
|
+
"enableFactExtraction": {
|
|
75
|
+
"type": "boolean",
|
|
76
|
+
"description": "Enable extraction of structured facts from observed text during hook events.",
|
|
77
|
+
"default": false
|
|
46
78
|
},
|
|
47
79
|
"autoCheckpoint": {
|
|
48
80
|
"type": "boolean",
|
|
49
|
-
"description": "
|
|
50
|
-
"default":
|
|
81
|
+
"description": "Deprecated alias for enableAutoCheckpoint.",
|
|
82
|
+
"default": false
|
|
83
|
+
},
|
|
84
|
+
"observeOnHeartbeat": {
|
|
85
|
+
"type": "boolean",
|
|
86
|
+
"description": "Deprecated alias for enableHeartbeatObservation.",
|
|
87
|
+
"default": false
|
|
88
|
+
},
|
|
89
|
+
"weeklyReflection": {
|
|
90
|
+
"type": "boolean",
|
|
91
|
+
"description": "Deprecated alias for enableWeeklyReflection.",
|
|
92
|
+
"default": false
|
|
51
93
|
},
|
|
52
94
|
"contextProfile": {
|
|
53
95
|
"type": "string",
|
|
@@ -61,160 +103,6 @@
|
|
|
61
103
|
"maximum": 20,
|
|
62
104
|
"description": "Maximum number of context results to inject on session start",
|
|
63
105
|
"default": 4
|
|
64
|
-
},
|
|
65
|
-
"observeOnHeartbeat": {
|
|
66
|
-
"type": "boolean",
|
|
67
|
-
"description": "Enable observation threshold checks on gateway heartbeat",
|
|
68
|
-
"default": true
|
|
69
|
-
},
|
|
70
|
-
"weeklyReflection": {
|
|
71
|
-
"type": "boolean",
|
|
72
|
-
"description": "Enable weekly reflection on Sunday midnight UTC",
|
|
73
|
-
"default": true
|
|
74
|
-
},
|
|
75
|
-
"defaultScope": {
|
|
76
|
-
"type": "string",
|
|
77
|
-
"description": "Default memory scope. Use 'global' for shared, or 'agent:<id>', 'project:<name>', 'user:<id>' for scoped.",
|
|
78
|
-
"default": "global"
|
|
79
|
-
},
|
|
80
|
-
"retrieval": {
|
|
81
|
-
"type": "object",
|
|
82
|
-
"description": "Hybrid retrieval pipeline configuration",
|
|
83
|
-
"properties": {
|
|
84
|
-
"bm25Weight": {
|
|
85
|
-
"type": "number",
|
|
86
|
-
"minimum": 0,
|
|
87
|
-
"maximum": 1,
|
|
88
|
-
"description": "BM25 weight in RRF fusion",
|
|
89
|
-
"default": 0.5
|
|
90
|
-
},
|
|
91
|
-
"semanticWeight": {
|
|
92
|
-
"type": "number",
|
|
93
|
-
"minimum": 0,
|
|
94
|
-
"maximum": 1,
|
|
95
|
-
"description": "Semantic search weight in RRF fusion",
|
|
96
|
-
"default": 0.5
|
|
97
|
-
},
|
|
98
|
-
"rrfK": {
|
|
99
|
-
"type": "integer",
|
|
100
|
-
"minimum": 1,
|
|
101
|
-
"description": "RRF k parameter (higher = more weight to lower-ranked items)",
|
|
102
|
-
"default": 60
|
|
103
|
-
},
|
|
104
|
-
"topK": {
|
|
105
|
-
"type": "integer",
|
|
106
|
-
"minimum": 1,
|
|
107
|
-
"maximum": 100,
|
|
108
|
-
"description": "Maximum results to return",
|
|
109
|
-
"default": 10
|
|
110
|
-
},
|
|
111
|
-
"minScore": {
|
|
112
|
-
"type": "number",
|
|
113
|
-
"minimum": 0,
|
|
114
|
-
"maximum": 1,
|
|
115
|
-
"description": "Minimum score threshold for results",
|
|
116
|
-
"default": 0.01
|
|
117
|
-
},
|
|
118
|
-
"recencyHalfLifeDays": {
|
|
119
|
-
"type": "number",
|
|
120
|
-
"minimum": 0,
|
|
121
|
-
"description": "Recency boost half-life in days (0 = disabled)",
|
|
122
|
-
"default": 14
|
|
123
|
-
},
|
|
124
|
-
"recencyWeight": {
|
|
125
|
-
"type": "number",
|
|
126
|
-
"minimum": 0,
|
|
127
|
-
"maximum": 1,
|
|
128
|
-
"description": "Recency boost weight (additive)",
|
|
129
|
-
"default": 0.10
|
|
130
|
-
},
|
|
131
|
-
"decayHalfLifeDays": {
|
|
132
|
-
"type": "number",
|
|
133
|
-
"minimum": 0,
|
|
134
|
-
"description": "Time decay half-life in days (0 = disabled)",
|
|
135
|
-
"default": 60
|
|
136
|
-
},
|
|
137
|
-
"lengthNormAnchor": {
|
|
138
|
-
"type": "integer",
|
|
139
|
-
"minimum": 0,
|
|
140
|
-
"description": "Length normalization anchor in characters (0 = disabled)",
|
|
141
|
-
"default": 500
|
|
142
|
-
},
|
|
143
|
-
"mmrLambda": {
|
|
144
|
-
"type": "number",
|
|
145
|
-
"minimum": 0,
|
|
146
|
-
"maximum": 1,
|
|
147
|
-
"description": "MMR diversity lambda (1.0 = no diversity, lower = more diverse)",
|
|
148
|
-
"default": 0.7
|
|
149
|
-
},
|
|
150
|
-
"rerankProvider": {
|
|
151
|
-
"type": "string",
|
|
152
|
-
"enum": ["jina", "voyage", "siliconflow", "pinecone"],
|
|
153
|
-
"description": "Cross-encoder reranker API provider (optional)"
|
|
154
|
-
},
|
|
155
|
-
"rerankApiKey": {
|
|
156
|
-
"type": "string",
|
|
157
|
-
"description": "API key for the reranker service"
|
|
158
|
-
},
|
|
159
|
-
"rerankModel": {
|
|
160
|
-
"type": "string",
|
|
161
|
-
"description": "Reranker model name (auto-selected per provider if omitted)"
|
|
162
|
-
},
|
|
163
|
-
"rerankEndpoint": {
|
|
164
|
-
"type": "string",
|
|
165
|
-
"description": "Custom reranker endpoint URL"
|
|
166
|
-
},
|
|
167
|
-
"rerankWeight": {
|
|
168
|
-
"type": "number",
|
|
169
|
-
"minimum": 0,
|
|
170
|
-
"maximum": 1,
|
|
171
|
-
"description": "Weight of reranker score vs fused score (0.6 = 60% reranker)",
|
|
172
|
-
"default": 0.6
|
|
173
|
-
}
|
|
174
|
-
},
|
|
175
|
-
"additionalProperties": false
|
|
176
|
-
},
|
|
177
|
-
"noise": {
|
|
178
|
-
"type": "object",
|
|
179
|
-
"description": "Noise filtering configuration for write and read paths",
|
|
180
|
-
"properties": {
|
|
181
|
-
"enabled": {
|
|
182
|
-
"type": "boolean",
|
|
183
|
-
"description": "Enable noise filtering",
|
|
184
|
-
"default": true
|
|
185
|
-
},
|
|
186
|
-
"minLength": {
|
|
187
|
-
"type": "integer",
|
|
188
|
-
"minimum": 0,
|
|
189
|
-
"description": "Minimum text length to accept",
|
|
190
|
-
"default": 15
|
|
191
|
-
},
|
|
192
|
-
"maxLength": {
|
|
193
|
-
"type": "integer",
|
|
194
|
-
"minimum": 100,
|
|
195
|
-
"description": "Maximum text length to accept",
|
|
196
|
-
"default": 5000
|
|
197
|
-
}
|
|
198
|
-
},
|
|
199
|
-
"additionalProperties": false
|
|
200
|
-
},
|
|
201
|
-
"adaptive": {
|
|
202
|
-
"type": "object",
|
|
203
|
-
"description": "Adaptive retrieval configuration — skip retrieval for low-value queries",
|
|
204
|
-
"properties": {
|
|
205
|
-
"enabled": {
|
|
206
|
-
"type": "boolean",
|
|
207
|
-
"description": "Enable adaptive retrieval skipping",
|
|
208
|
-
"default": true
|
|
209
|
-
},
|
|
210
|
-
"skipPatterns": {
|
|
211
|
-
"type": "array",
|
|
212
|
-
"items": { "type": "string" },
|
|
213
|
-
"description": "Additional regex patterns that should skip retrieval",
|
|
214
|
-
"default": []
|
|
215
|
-
}
|
|
216
|
-
},
|
|
217
|
-
"additionalProperties": false
|
|
218
106
|
}
|
|
219
107
|
},
|
|
220
108
|
"additionalProperties": false
|
|
@@ -223,39 +111,79 @@
|
|
|
223
111
|
"vaultPath": {
|
|
224
112
|
"label": "Vault Path",
|
|
225
113
|
"placeholder": "~/my-vault",
|
|
226
|
-
"description": "Path to your ClawVault memory vault"
|
|
114
|
+
"description": "Path to your ClawVault memory vault (fallback when agentVaults not set)"
|
|
227
115
|
},
|
|
228
116
|
"agentVaults": {
|
|
229
117
|
"label": "Agent Vaults",
|
|
230
|
-
"description": "Per-agent vault paths"
|
|
118
|
+
"description": "Per-agent vault paths (e.g., {\"agent1\": \"/path/to/vault1\", \"agent2\": \"/path/to/vault2\"})"
|
|
119
|
+
},
|
|
120
|
+
"allowClawvaultExec": {
|
|
121
|
+
"label": "Allow CLI Execution",
|
|
122
|
+
"description": "Required opt-in to run child_process calls from the plugin."
|
|
123
|
+
},
|
|
124
|
+
"clawvaultBinaryPath": {
|
|
125
|
+
"label": "ClawVault Binary Path",
|
|
126
|
+
"description": "Absolute path to clawvault executable for stricter execution controls."
|
|
127
|
+
},
|
|
128
|
+
"clawvaultBinarySha256": {
|
|
129
|
+
"label": "ClawVault Binary SHA-256",
|
|
130
|
+
"description": "Optional checksum to verify executable integrity before execution."
|
|
131
|
+
},
|
|
132
|
+
"allowEnvAccess": {
|
|
133
|
+
"label": "Allow Environment Access",
|
|
134
|
+
"description": "Allow OPENCLAW_* and CLAWVAULT_PATH reads for fallback discovery."
|
|
135
|
+
},
|
|
136
|
+
"enableStartupRecovery": {
|
|
137
|
+
"label": "Startup Recovery",
|
|
138
|
+
"description": "Run recovery checks on gateway startup."
|
|
139
|
+
},
|
|
140
|
+
"enableSessionContextInjection": {
|
|
141
|
+
"label": "Session Context Injection",
|
|
142
|
+
"description": "Inject recap and memory context on session start."
|
|
143
|
+
},
|
|
144
|
+
"enableAutoCheckpoint": {
|
|
145
|
+
"label": "Auto Checkpoint",
|
|
146
|
+
"description": "Automatically checkpoint before /new."
|
|
147
|
+
},
|
|
148
|
+
"enableObserveOnNew": {
|
|
149
|
+
"label": "Observe On /new",
|
|
150
|
+
"description": "Run observer flush on /new."
|
|
151
|
+
},
|
|
152
|
+
"enableHeartbeatObservation": {
|
|
153
|
+
"label": "Observe On Heartbeat",
|
|
154
|
+
"description": "Check observation thresholds during heartbeat events."
|
|
155
|
+
},
|
|
156
|
+
"enableCompactionObservation": {
|
|
157
|
+
"label": "Observe On Compaction",
|
|
158
|
+
"description": "Force observer flush during compaction events."
|
|
231
159
|
},
|
|
232
|
-
"
|
|
233
|
-
"label": "
|
|
234
|
-
"description": "
|
|
160
|
+
"enableWeeklyReflection": {
|
|
161
|
+
"label": "Weekly Reflection",
|
|
162
|
+
"description": "Run weekly reflection on Sunday midnight UTC."
|
|
235
163
|
},
|
|
236
|
-
"
|
|
237
|
-
"label": "
|
|
238
|
-
"description": "
|
|
164
|
+
"enableFactExtraction": {
|
|
165
|
+
"label": "Fact Extraction",
|
|
166
|
+
"description": "Extract structured facts from hook event payloads."
|
|
239
167
|
},
|
|
240
|
-
"
|
|
241
|
-
"label": "
|
|
242
|
-
"description": "
|
|
168
|
+
"autoCheckpoint": {
|
|
169
|
+
"label": "Auto Checkpoint (Legacy Alias)",
|
|
170
|
+
"description": "Deprecated alias for enableAutoCheckpoint."
|
|
243
171
|
},
|
|
244
|
-
"
|
|
245
|
-
"label": "
|
|
246
|
-
"description": "
|
|
172
|
+
"contextProfile": {
|
|
173
|
+
"label": "Context Profile",
|
|
174
|
+
"description": "Profile used for context injection at session start"
|
|
247
175
|
},
|
|
248
|
-
"
|
|
249
|
-
"label": "
|
|
250
|
-
"description": "
|
|
176
|
+
"maxContextResults": {
|
|
177
|
+
"label": "Max Context Results",
|
|
178
|
+
"description": "Number of vault memories to inject"
|
|
251
179
|
},
|
|
252
|
-
"
|
|
253
|
-
"label": "
|
|
254
|
-
"description": "
|
|
180
|
+
"observeOnHeartbeat": {
|
|
181
|
+
"label": "Observe on Heartbeat (Legacy Alias)",
|
|
182
|
+
"description": "Deprecated alias for enableHeartbeatObservation."
|
|
255
183
|
},
|
|
256
|
-
"
|
|
257
|
-
"label": "
|
|
258
|
-
"description": "
|
|
184
|
+
"weeklyReflection": {
|
|
185
|
+
"label": "Weekly Reflection (Legacy Alias)",
|
|
186
|
+
"description": "Deprecated alias for enableWeeklyReflection."
|
|
259
187
|
}
|
|
260
188
|
}
|
|
261
189
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clawvault",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"description": "Structured memory system for AI agents
|
|
3
|
+
"version": "3.3.0",
|
|
4
|
+
"description": "Structured memory system for AI agents \u2014 typed storage, knowledge graph, context profiles, canvas dashboards, neural graph themes, and Obsidian-native task views. An elephant never forgets. \ud83d\udc18",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -26,17 +26,20 @@
|
|
|
26
26
|
],
|
|
27
27
|
"openclaw": {
|
|
28
28
|
"plugin": "./openclaw.plugin.json",
|
|
29
|
+
"extensions": [
|
|
30
|
+
"./dist/openclaw-plugin.js"
|
|
31
|
+
],
|
|
29
32
|
"hooks": [
|
|
30
33
|
"./hooks/clawvault"
|
|
31
34
|
]
|
|
32
35
|
},
|
|
33
36
|
"scripts": {
|
|
34
|
-
"build": "tsup src/commands/archive.ts src/commands/backlog.ts src/commands/blocked.ts src/commands/canvas.ts src/commands/checkpoint.ts src/commands/compat.ts src/commands/context.ts src/commands/doctor.ts src/commands/embed.ts src/commands/entities.ts src/commands/graph.ts src/commands/inject.ts src/commands/kanban.ts src/commands/link.ts src/commands/migrate-observations.ts src/commands/observe.ts src/commands/project.ts src/commands/rebuild.ts src/commands/rebuild-embeddings.ts src/commands/recover.ts src/commands/reflect.ts src/commands/repair-session.ts src/commands/replay.ts src/commands/session-recap.ts src/commands/setup.ts src/commands/shell-init.ts src/commands/sleep.ts src/commands/status.ts src/commands/sync-bd.ts src/commands/tailscale.ts src/commands/task.ts src/commands/template.ts src/commands/wake.ts src/cli/index.ts src/index.ts src/lib/auto-linker.ts src/lib/canvas-layout.ts src/lib/config.ts src/lib/entity-index.ts src/lib/project-utils.ts src/lib/session-repair.ts src/lib/session-utils.ts src/lib/tailscale.ts src/lib/task-utils.ts src/lib/template-engine.ts src/lib/webdav.ts
|
|
37
|
+
"build": "tsup src/commands/archive.ts src/commands/backlog.ts src/commands/benchmark.ts src/commands/blocked.ts src/commands/canvas.ts src/commands/checkpoint.ts src/commands/compat.ts src/commands/context.ts src/commands/doctor.ts src/commands/embed.ts src/commands/entities.ts src/commands/graph.ts src/commands/inbox.ts src/commands/inject.ts src/commands/kanban.ts src/commands/link.ts src/commands/maintain.ts src/commands/migrate-observations.ts src/commands/observe.ts src/commands/project.ts src/commands/rebuild.ts src/commands/rebuild-embeddings.ts src/commands/recover.ts src/commands/reflect.ts src/commands/repair-session.ts src/commands/replay.ts src/commands/session-recap.ts src/commands/setup.ts src/commands/shell-init.ts src/commands/sleep.ts src/commands/status.ts src/commands/sync-bd.ts src/commands/tailscale.ts src/commands/task.ts src/commands/template.ts src/commands/wake.ts src/cli/index.ts src/index.ts src/openclaw-plugin.ts src/lib/auto-linker.ts src/lib/canvas-layout.ts src/lib/config.ts src/lib/entity-index.ts src/lib/project-utils.ts src/lib/session-repair.ts src/lib/session-utils.ts src/lib/tailscale.ts src/lib/task-utils.ts src/lib/template-engine.ts src/lib/webdav.ts --format esm --dts --clean",
|
|
35
38
|
"dev": "tsup src/index.ts src/commands/*.ts src/lib/*.ts --format esm --dts --watch",
|
|
36
39
|
"lint": "eslint src",
|
|
37
40
|
"typecheck": "tsc --noEmit",
|
|
38
|
-
"test": "vitest run",
|
|
39
|
-
"ci": "npm run typecheck && npm test
|
|
41
|
+
"test": "npm run build && vitest run",
|
|
42
|
+
"ci": "npm run typecheck && npm test",
|
|
40
43
|
"prepublishOnly": "npm run build"
|
|
41
44
|
},
|
|
42
45
|
"keywords": [
|
|
@@ -67,7 +70,6 @@
|
|
|
67
70
|
"node": ">=18"
|
|
68
71
|
},
|
|
69
72
|
"dependencies": {
|
|
70
|
-
"@huggingface/transformers": "^3.8.1",
|
|
71
73
|
"chalk": "^5.3.0",
|
|
72
74
|
"chokidar": "^5.0.0",
|
|
73
75
|
"commander": "^12.0.0",
|
|
@@ -88,6 +90,7 @@
|
|
|
88
90
|
}
|
|
89
91
|
},
|
|
90
92
|
"devDependencies": {
|
|
93
|
+
"@huggingface/transformers": "^3.8.1",
|
|
91
94
|
"@types/node": "^20.11.0",
|
|
92
95
|
"ajv": "^8.17.1",
|
|
93
96
|
"puppeteer": "^24.37.2",
|
|
@@ -95,4 +98,4 @@
|
|
|
95
98
|
"typescript": "^5.3.3",
|
|
96
99
|
"vitest": "^1.2.0"
|
|
97
100
|
}
|
|
98
|
-
}
|
|
101
|
+
}
|