clawvault 3.1.0 → 3.2.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.
Files changed (289) hide show
  1. package/README.md +422 -141
  2. package/bin/clawvault.js +10 -2
  3. package/bin/command-registration.test.js +3 -1
  4. package/bin/command-runtime.js +9 -1
  5. package/bin/register-core-commands.js +23 -28
  6. package/bin/register-maintenance-commands.js +39 -3
  7. package/bin/register-query-commands.js +58 -29
  8. package/bin/register-tailscale-commands.js +106 -0
  9. package/bin/register-task-commands.js +18 -1
  10. package/bin/register-task-commands.test.js +16 -0
  11. package/bin/register-vault-operations-commands.js +29 -1
  12. package/bin/register-workgraph-commands.js +1368 -0
  13. package/dashboard/lib/graph-diff.js +104 -0
  14. package/dashboard/lib/graph-diff.test.js +75 -0
  15. package/dashboard/lib/vault-parser.js +556 -0
  16. package/dashboard/lib/vault-parser.test.js +254 -0
  17. package/dashboard/public/app.js +796 -0
  18. package/dashboard/public/index.html +52 -0
  19. package/dashboard/public/styles.css +221 -0
  20. package/dashboard/server.js +374 -0
  21. package/dist/{chunk-F2JEUD4J.js → chunk-23YDQ3QU.js} +6 -8
  22. package/dist/{chunk-C7OK5WKP.js → chunk-2JQ3O2YL.js} +4 -4
  23. package/dist/{chunk-VR5NE7PZ.js → chunk-2RAZ4ZFE.js} +1 -1
  24. package/dist/chunk-2ZDO52B4.js +52 -0
  25. package/dist/{chunk-ZZA73MFY.js → chunk-33DOSHTA.js} +176 -36
  26. package/dist/chunk-33VSQP4J.js +37 -0
  27. package/dist/chunk-4BQTQMJP.js +93 -0
  28. package/dist/{chunk-GUKMRGM7.js → chunk-4OXMU5S2.js} +1 -1
  29. package/dist/{chunk-62YTUT6J.js → chunk-4PY655YM.js} +15 -3
  30. package/dist/chunk-6FH3IULF.js +352 -0
  31. package/dist/{chunk-3NSBOUT3.js → chunk-77Q5CSPJ.js} +404 -80
  32. package/dist/{chunk-4VQTUVH7.js → chunk-7YZWHM36.js} +52 -26
  33. package/dist/chunk-BSJ6RIT7.js +447 -0
  34. package/dist/chunk-BUEW6IIK.js +364 -0
  35. package/dist/{chunk-LI4O6NVK.js → chunk-CLJTREDS.js} +74 -14
  36. package/dist/chunk-EK6S23ZB.js +469 -0
  37. package/dist/{chunk-LNJA2UGL.js → chunk-ESFLMDRB.js} +9 -86
  38. package/dist/{chunk-H34S76MB.js → chunk-ESVS6K2B.js} +6 -6
  39. package/dist/{chunk-WAZ3NLWL.js → chunk-F55HGNU4.js} +0 -47
  40. package/dist/{chunk-QK3UCXWL.js → chunk-FHFUXL6G.js} +2 -2
  41. package/dist/{chunk-H62BP7RI.js → chunk-GAOWA7GR.js} +212 -46
  42. package/dist/chunk-GGA32J2R.js +784 -0
  43. package/dist/chunk-GNJL4YGR.js +79 -0
  44. package/dist/chunk-IVRIKYFE.js +520 -0
  45. package/dist/chunk-MDIH26GC.js +183 -0
  46. package/dist/{chunk-LYHGEHXG.js → chunk-MFAWT5O5.js} +0 -1
  47. package/dist/chunk-MM6QGW3P.js +207 -0
  48. package/dist/{chunk-P5EPF6MB.js → chunk-MW5C6ZQA.js} +110 -13
  49. package/dist/chunk-NCKFNBHJ.js +257 -0
  50. package/dist/{chunk-QBLMXKF2.js → chunk-OIWVQYQF.js} +1 -1
  51. package/dist/{chunk-42MXU7A6.js → chunk-P62WHA27.js} +58 -47
  52. package/dist/chunk-PBACDKKP.js +66 -0
  53. package/dist/{chunk-VGLOTGAS.js → chunk-QSHD36LH.js} +2 -2
  54. package/dist/{chunk-OZ7RIXTO.js → chunk-QSRRMEYM.js} +2 -2
  55. package/dist/chunk-QVEERJSP.js +152 -0
  56. package/dist/{chunk-N2AXRYLC.js → chunk-QWQ3TIKS.js} +1 -1
  57. package/dist/{chunk-3DHXQHYG.js → chunk-R2MIW5G7.js} +1 -1
  58. package/dist/{chunk-SJSFRIYS.js → chunk-SLXOR3CC.js} +2 -2
  59. package/dist/chunk-SS4B7P7V.js +99 -0
  60. package/dist/{chunk-JY6FYXIT.js → chunk-STCQGCEQ.js} +6 -11
  61. package/dist/chunk-TIGW564L.js +628 -0
  62. package/dist/chunk-U4O6C46S.js +154 -0
  63. package/dist/{chunk-ITPEXLHA.js → chunk-URXDAUVH.js} +24 -5
  64. package/dist/chunk-VSL7KY3M.js +189 -0
  65. package/dist/{chunk-U55BGUAU.js → chunk-W4SPAEE7.js} +6 -6
  66. package/dist/chunk-WMGIIABP.js +15 -0
  67. package/dist/{chunk-33UGEQRT.js → chunk-X3SPPUFG.js} +151 -64
  68. package/dist/chunk-Y6VJKXGL.js +373 -0
  69. package/dist/{chunk-3WRJEKN4.js → chunk-ZN54U2OZ.js} +123 -10
  70. package/dist/cli/index.js +34 -24
  71. package/dist/commands/archive.js +3 -3
  72. package/dist/commands/backlog.js +3 -3
  73. package/dist/commands/blocked.js +3 -3
  74. package/dist/commands/canvas.d.ts +15 -0
  75. package/dist/commands/canvas.js +200 -0
  76. package/dist/commands/checkpoint.js +2 -2
  77. package/dist/commands/compat.js +2 -2
  78. package/dist/commands/context.js +8 -6
  79. package/dist/commands/doctor.d.ts +11 -7
  80. package/dist/commands/doctor.js +18 -16
  81. package/dist/commands/embed.js +5 -6
  82. package/dist/commands/entities.js +2 -2
  83. package/dist/commands/graph.js +4 -4
  84. package/dist/commands/inject.d.ts +1 -1
  85. package/dist/commands/inject.js +5 -6
  86. package/dist/commands/kanban.js +4 -4
  87. package/dist/commands/link.js +5 -5
  88. package/dist/commands/migrate-observations.js +4 -4
  89. package/dist/commands/observe.d.ts +0 -1
  90. package/dist/commands/observe.js +14 -13
  91. package/dist/commands/project.js +5 -5
  92. package/dist/commands/rebuild-embeddings.d.ts +21 -0
  93. package/dist/commands/rebuild-embeddings.js +91 -0
  94. package/dist/commands/rebuild.js +12 -11
  95. package/dist/commands/recover.js +3 -3
  96. package/dist/commands/reflect.js +6 -7
  97. package/dist/commands/repair-session.js +1 -1
  98. package/dist/commands/replay.js +14 -14
  99. package/dist/commands/session-recap.js +1 -1
  100. package/dist/commands/setup.d.ts +2 -89
  101. package/dist/commands/setup.js +3 -21
  102. package/dist/commands/shell-init.js +1 -1
  103. package/dist/commands/sleep.d.ts +1 -1
  104. package/dist/commands/sleep.js +20 -19
  105. package/dist/commands/status.d.ts +2 -0
  106. package/dist/commands/status.js +57 -35
  107. package/dist/commands/sync-bd.d.ts +10 -0
  108. package/dist/commands/sync-bd.js +10 -0
  109. package/dist/commands/tailscale.d.ts +52 -0
  110. package/dist/commands/tailscale.js +26 -0
  111. package/dist/commands/task.js +4 -4
  112. package/dist/commands/template.js +2 -2
  113. package/dist/commands/wake.d.ts +1 -1
  114. package/dist/commands/wake.js +11 -10
  115. package/dist/commands/workgraph.d.ts +124 -0
  116. package/dist/commands/workgraph.js +38 -0
  117. package/dist/index.d.ts +341 -191
  118. package/dist/index.js +446 -116
  119. package/dist/{inject-Bzi5E-By.d.ts → inject-DYUrDqQO.d.ts} +3 -3
  120. package/dist/ledger-B7g7jhqG.d.ts +44 -0
  121. package/dist/lib/auto-linker.js +2 -2
  122. package/dist/lib/canvas-layout.d.ts +115 -0
  123. package/dist/lib/canvas-layout.js +35 -0
  124. package/dist/lib/config.d.ts +27 -3
  125. package/dist/lib/config.js +4 -2
  126. package/dist/lib/entity-index.js +1 -1
  127. package/dist/lib/project-utils.js +4 -4
  128. package/dist/lib/session-repair.js +1 -1
  129. package/dist/lib/session-utils.js +1 -1
  130. package/dist/lib/tailscale.d.ts +225 -0
  131. package/dist/lib/tailscale.js +50 -0
  132. package/dist/lib/task-utils.js +3 -3
  133. package/dist/lib/template-engine.js +1 -1
  134. package/dist/lib/webdav.d.ts +109 -0
  135. package/dist/lib/webdav.js +35 -0
  136. package/dist/onnxruntime_binding-5QEF3SUC.node +0 -0
  137. package/dist/onnxruntime_binding-BKPKNEGC.node +0 -0
  138. package/dist/onnxruntime_binding-FMOXGIUT.node +0 -0
  139. package/dist/onnxruntime_binding-OI2KMXC5.node +0 -0
  140. package/dist/onnxruntime_binding-UX44MLAZ.node +0 -0
  141. package/dist/onnxruntime_binding-Y2W7N7WY.node +0 -0
  142. package/dist/openclaw-plugin.d.ts +8 -0
  143. package/dist/openclaw-plugin.js +14 -0
  144. package/dist/registry-BR4326o0.d.ts +30 -0
  145. package/dist/store-CA-6sKCJ.d.ts +34 -0
  146. package/dist/thread-B9LhXNU0.d.ts +41 -0
  147. package/dist/transformers.node-A2ZRORSQ.js +46775 -0
  148. package/dist/{types-Y2_Um2Ls.d.ts → types-BbWJoC1c.d.ts} +1 -44
  149. package/dist/workgraph/index.d.ts +5 -0
  150. package/dist/workgraph/index.js +23 -0
  151. package/dist/workgraph/ledger.d.ts +2 -0
  152. package/dist/workgraph/ledger.js +25 -0
  153. package/dist/workgraph/registry.d.ts +2 -0
  154. package/dist/workgraph/registry.js +19 -0
  155. package/dist/workgraph/store.d.ts +2 -0
  156. package/dist/workgraph/store.js +25 -0
  157. package/dist/workgraph/thread.d.ts +2 -0
  158. package/dist/workgraph/thread.js +25 -0
  159. package/dist/workgraph/types.d.ts +54 -0
  160. package/dist/workgraph/types.js +7 -0
  161. package/hooks/clawvault/HOOK.md +113 -0
  162. package/hooks/clawvault/handler.js +1561 -0
  163. package/hooks/clawvault/handler.test.js +510 -0
  164. package/hooks/clawvault/openclaw.plugin.json +72 -0
  165. package/openclaw.plugin.json +65 -38
  166. package/package.json +25 -22
  167. package/dist/chunk-3RG5ZIWI.js +0 -10
  168. package/dist/chunk-3ZIH425O.js +0 -871
  169. package/dist/chunk-6U6MK36V.js +0 -205
  170. package/dist/chunk-CMB7UL7C.js +0 -327
  171. package/dist/chunk-D2H45LON.js +0 -1074
  172. package/dist/chunk-E7MFQB6D.js +0 -163
  173. package/dist/chunk-GQSLDZTS.js +0 -560
  174. package/dist/chunk-MFM6K7PU.js +0 -374
  175. package/dist/chunk-MXSSG3QU.js +0 -42
  176. package/dist/chunk-OCGVIN3L.js +0 -88
  177. package/dist/chunk-PAH27GSN.js +0 -108
  178. package/dist/chunk-YCUNCH2I.js +0 -78
  179. package/dist/cli/index.cjs +0 -8584
  180. package/dist/cli/index.d.cts +0 -5
  181. package/dist/commands/archive.cjs +0 -287
  182. package/dist/commands/archive.d.cts +0 -11
  183. package/dist/commands/backlog.cjs +0 -721
  184. package/dist/commands/backlog.d.cts +0 -53
  185. package/dist/commands/blocked.cjs +0 -204
  186. package/dist/commands/blocked.d.cts +0 -26
  187. package/dist/commands/checkpoint.cjs +0 -244
  188. package/dist/commands/checkpoint.d.cts +0 -41
  189. package/dist/commands/compat.cjs +0 -294
  190. package/dist/commands/compat.d.cts +0 -28
  191. package/dist/commands/context.cjs +0 -2990
  192. package/dist/commands/context.d.cts +0 -2
  193. package/dist/commands/doctor.cjs +0 -2986
  194. package/dist/commands/doctor.d.cts +0 -21
  195. package/dist/commands/embed.cjs +0 -232
  196. package/dist/commands/embed.d.cts +0 -17
  197. package/dist/commands/entities.cjs +0 -141
  198. package/dist/commands/entities.d.cts +0 -7
  199. package/dist/commands/graph.cjs +0 -501
  200. package/dist/commands/graph.d.cts +0 -21
  201. package/dist/commands/inject.cjs +0 -1636
  202. package/dist/commands/inject.d.cts +0 -2
  203. package/dist/commands/kanban.cjs +0 -884
  204. package/dist/commands/kanban.d.cts +0 -63
  205. package/dist/commands/link.cjs +0 -965
  206. package/dist/commands/link.d.cts +0 -11
  207. package/dist/commands/migrate-observations.cjs +0 -362
  208. package/dist/commands/migrate-observations.d.cts +0 -19
  209. package/dist/commands/observe.cjs +0 -4099
  210. package/dist/commands/observe.d.cts +0 -23
  211. package/dist/commands/project.cjs +0 -1341
  212. package/dist/commands/project.d.cts +0 -85
  213. package/dist/commands/rebuild.cjs +0 -3136
  214. package/dist/commands/rebuild.d.cts +0 -11
  215. package/dist/commands/recover.cjs +0 -361
  216. package/dist/commands/recover.d.cts +0 -38
  217. package/dist/commands/reflect.cjs +0 -1008
  218. package/dist/commands/reflect.d.cts +0 -11
  219. package/dist/commands/repair-session.cjs +0 -457
  220. package/dist/commands/repair-session.d.cts +0 -38
  221. package/dist/commands/replay.cjs +0 -4103
  222. package/dist/commands/replay.d.cts +0 -16
  223. package/dist/commands/session-recap.cjs +0 -353
  224. package/dist/commands/session-recap.d.cts +0 -27
  225. package/dist/commands/setup.cjs +0 -1278
  226. package/dist/commands/setup.d.cts +0 -99
  227. package/dist/commands/shell-init.cjs +0 -75
  228. package/dist/commands/shell-init.d.cts +0 -7
  229. package/dist/commands/sleep.cjs +0 -6029
  230. package/dist/commands/sleep.d.cts +0 -36
  231. package/dist/commands/status.cjs +0 -2737
  232. package/dist/commands/status.d.cts +0 -52
  233. package/dist/commands/task.cjs +0 -1236
  234. package/dist/commands/task.d.cts +0 -97
  235. package/dist/commands/template.cjs +0 -457
  236. package/dist/commands/template.d.cts +0 -36
  237. package/dist/commands/wake.cjs +0 -2627
  238. package/dist/commands/wake.d.cts +0 -22
  239. package/dist/context-BUGaWpyL.d.cts +0 -46
  240. package/dist/index.cjs +0 -12373
  241. package/dist/index.d.cts +0 -854
  242. package/dist/inject-Bzi5E-By.d.cts +0 -137
  243. package/dist/lib/auto-linker.cjs +0 -176
  244. package/dist/lib/auto-linker.d.cts +0 -26
  245. package/dist/lib/config.cjs +0 -78
  246. package/dist/lib/config.d.cts +0 -11
  247. package/dist/lib/entity-index.cjs +0 -84
  248. package/dist/lib/entity-index.d.cts +0 -26
  249. package/dist/lib/project-utils.cjs +0 -864
  250. package/dist/lib/project-utils.d.cts +0 -97
  251. package/dist/lib/session-repair.cjs +0 -239
  252. package/dist/lib/session-repair.d.cts +0 -110
  253. package/dist/lib/session-utils.cjs +0 -209
  254. package/dist/lib/session-utils.d.cts +0 -63
  255. package/dist/lib/task-utils.cjs +0 -1137
  256. package/dist/lib/task-utils.d.cts +0 -208
  257. package/dist/lib/template-engine.cjs +0 -47
  258. package/dist/lib/template-engine.d.cts +0 -11
  259. package/dist/plugin/index.cjs +0 -1907
  260. package/dist/plugin/index.d.cts +0 -36
  261. package/dist/plugin/index.d.ts +0 -36
  262. package/dist/plugin/index.js +0 -572
  263. package/dist/plugin/inject.cjs +0 -356
  264. package/dist/plugin/inject.d.cts +0 -54
  265. package/dist/plugin/inject.d.ts +0 -54
  266. package/dist/plugin/inject.js +0 -17
  267. package/dist/plugin/observe.cjs +0 -631
  268. package/dist/plugin/observe.d.cts +0 -39
  269. package/dist/plugin/observe.d.ts +0 -39
  270. package/dist/plugin/observe.js +0 -18
  271. package/dist/plugin/templates.cjs +0 -593
  272. package/dist/plugin/templates.d.cts +0 -52
  273. package/dist/plugin/templates.d.ts +0 -52
  274. package/dist/plugin/templates.js +0 -25
  275. package/dist/plugin/types.cjs +0 -18
  276. package/dist/plugin/types.d.cts +0 -209
  277. package/dist/plugin/types.d.ts +0 -209
  278. package/dist/plugin/types.js +0 -0
  279. package/dist/plugin/vault.cjs +0 -927
  280. package/dist/plugin/vault.d.cts +0 -68
  281. package/dist/plugin/vault.d.ts +0 -68
  282. package/dist/plugin/vault.js +0 -22
  283. package/dist/types-Y2_Um2Ls.d.cts +0 -205
  284. package/templates/memory-event.md +0 -67
  285. package/templates/party.md +0 -63
  286. package/templates/primitive-registry.yaml +0 -551
  287. package/templates/run.md +0 -68
  288. package/templates/trigger.md +0 -68
  289. package/templates/workspace.md +0 -50
@@ -70,49 +70,6 @@ interface SearchOptions {
70
70
  fullContent?: boolean;
71
71
  /** Boost recent documents in ranking */
72
72
  temporalBoost?: boolean;
73
- /**
74
- * v2.7 — Enable chunk-level BM25 pre-filtering before semantic search.
75
- * Chunks documents into ~600-char sentence windows and ranks chunks by
76
- * keyword overlap so that relevant content deep in long documents isn't
77
- * silently dropped by fixed-N embedding limits.
78
- */
79
- chunkPrefilter?: boolean;
80
- /**
81
- * v2.7 — Exhaustive threshold-based retrieval for aggregation queries.
82
- * Instead of a fixed top_k, keeps pulling results until the normalised
83
- * relevance score drops below this threshold (0-1). Set to e.g. 0.01
84
- * for aggregation / "list all" queries. Overrides `limit` when set.
85
- */
86
- relevanceThreshold?: number;
87
- /**
88
- * v2.7 — Maximum results when using relevanceThreshold.
89
- * Prevents runaway result sets. Default 40.
90
- */
91
- thresholdMaxResults?: number;
92
- }
93
- /**
94
- * v2.7 — A date reference extracted from document content at ingest time.
95
- */
96
- interface ExtractedDate {
97
- /** ISO date string (YYYY-MM-DD) or "duration:<value>" */
98
- date: string;
99
- /** Surrounding context snippet (~150 chars) */
100
- context: string;
101
- /** Document id the date was extracted from */
102
- documentId: string;
103
- }
104
- /**
105
- * v2.7 — An extracted user preference from conversation content.
106
- */
107
- interface ExtractedPreference {
108
- /** The preference category (tool, hobby, brand, etc.) */
109
- category: string;
110
- /** The preference value */
111
- value: string;
112
- /** Document id it was extracted from */
113
- documentId: string;
114
- /** Surrounding context snippet */
115
- context: string;
116
73
  }
117
74
  interface StoreOptions {
118
75
  /** Category to store in */
@@ -202,4 +159,4 @@ interface SessionRecap {
202
159
  }
203
160
  declare const DEFAULT_CONFIG: Partial<VaultConfig>;
204
161
 
205
- export { type Category as C, type Document as D, type ExtractedDate as E, 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, type ExtractedPreference as f, DEFAULT_CATEGORIES as g, DEFAULT_CONFIG as h, MEMORY_TYPES as i, type VaultMeta as j };
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-VSL7KY3M.js";
4
+ import {
5
+ store_exports
6
+ } from "../chunk-QVEERJSP.js";
7
+ import {
8
+ ledger_exports
9
+ } from "../chunk-4BQTQMJP.js";
10
+ import {
11
+ registry_exports
12
+ } from "../chunk-MM6QGW3P.js";
13
+ import {
14
+ THREAD_STATUS_TRANSITIONS
15
+ } from "../chunk-WMGIIABP.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-QVEERJSP.js";
12
+ import "../chunk-4BQTQMJP.js";
13
+ import "../chunk-MM6QGW3P.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-VSL7KY3M.js";
11
+ import "../chunk-QVEERJSP.js";
12
+ import "../chunk-4BQTQMJP.js";
13
+ import "../chunk-MM6QGW3P.js";
14
+ import "../chunk-WMGIIABP.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
+ };
@@ -0,0 +1,113 @@
1
+ ---
2
+ name: clawvault
3
+ description: "Context resilience - recovery detection, auto-checkpoint, and session context injection"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🐘"
7
+ events: ["gateway:startup", "gateway:heartbeat", "command:new", "session:start", "compaction:memoryFlush", "cron.weekly"]
8
+ requires:
9
+ bins: ["clawvault"]
10
+ ---
11
+
12
+ # ClawVault Hook
13
+
14
+ Integrates ClawVault's context death resilience into OpenClaw:
15
+
16
+ - **On gateway startup**: Checks for context death, alerts agent
17
+ - **On heartbeat**: Runs cheap threshold checks and observes active sessions when needed
18
+ - **On /new command**: Auto-checkpoints before session reset
19
+ - **On context compaction**: Forces incremental observation flush before context is lost
20
+ - **On session start**: Injects relevant vault context for the initial prompt
21
+ - **On weekly cron**: Runs `clawvault reflect` every Sunday midnight (UTC)
22
+
23
+ ## Installation
24
+
25
+ ```bash
26
+ npm install -g clawvault
27
+ openclaw hooks install clawvault
28
+ openclaw hooks enable clawvault
29
+
30
+ # Verify
31
+ openclaw hooks list --verbose
32
+ openclaw hooks info clawvault
33
+ openclaw hooks check
34
+ ```
35
+
36
+ After enabling, restart your OpenClaw gateway process so hook registration reloads.
37
+
38
+ ## Requirements
39
+
40
+ - ClawVault CLI installed globally
41
+ - Vault initialized (`clawvault setup` or `CLAWVAULT_PATH` set)
42
+
43
+ ## What It Does
44
+
45
+ ### Gateway Startup
46
+
47
+ 1. Runs `clawvault recover --clear`
48
+ 2. If context death detected, injects warning into first agent turn
49
+ 3. Clears dirty death flag for clean session start
50
+
51
+ ### Command: /new
52
+
53
+ 1. Creates automatic checkpoint with session info
54
+ 2. Captures state even if agent forgot to handoff
55
+ 3. Ensures continuity across session resets
56
+
57
+ ### Session Start
58
+
59
+ 1. Extracts the initial user prompt (`context.initialPrompt` or first user message)
60
+ 2. Runs `clawvault context "<prompt>" --format json --profile auto -v <vaultPath>`
61
+ - Delegates profile selection to the shared context intent policy (`incident`, `planning`, `handoff`, or `default`)
62
+ 3. Injects up to 4 relevant context bullets into session messages
63
+
64
+ Injection format:
65
+
66
+ ```text
67
+ [ClawVault] Relevant context for this task:
68
+ - <title> (<age>): <snippet>
69
+ - <title> (<age>): <snippet>
70
+ ```
71
+
72
+ ### Event Compatibility
73
+
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
+
76
+ ## Configuration
77
+
78
+ ### Plugin Configuration (Recommended)
79
+
80
+ Configure the plugin via OpenClaw's config system:
81
+
82
+ ```bash
83
+ # Set vault path
84
+ openclaw config set plugins.entries.clawvault.config.vaultPath ~/my-vault
85
+
86
+ # View current config
87
+ openclaw config get plugins.entries.clawvault
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.entries.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
112
+
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`.