clawvault 3.0.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 (291) hide show
  1. package/README.md +352 -20
  2. package/bin/clawvault.js +8 -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 -10
  6. package/bin/register-maintenance-commands.js +39 -3
  7. package/bin/register-query-commands.js +58 -29
  8. package/bin/register-task-commands.js +18 -1
  9. package/bin/register-task-commands.test.js +16 -0
  10. package/bin/register-vault-operations-commands.js +29 -1
  11. package/bin/register-workgraph-commands.js +1368 -0
  12. package/dashboard/lib/graph-diff.js +104 -0
  13. package/dashboard/lib/graph-diff.test.js +75 -0
  14. package/dashboard/lib/vault-parser.js +556 -0
  15. package/dashboard/lib/vault-parser.test.js +254 -0
  16. package/dashboard/public/app.js +796 -0
  17. package/dashboard/public/index.html +52 -0
  18. package/dashboard/public/styles.css +221 -0
  19. package/dashboard/server.js +374 -0
  20. package/dist/{chunk-F2JEUD4J.js → chunk-23YDQ3QU.js} +6 -8
  21. package/dist/{chunk-C7OK5WKP.js → chunk-2JQ3O2YL.js} +4 -4
  22. package/dist/{chunk-VR5NE7PZ.js → chunk-2RAZ4ZFE.js} +1 -1
  23. package/dist/chunk-2ZDO52B4.js +52 -0
  24. package/dist/{chunk-ZZA73MFY.js → chunk-33DOSHTA.js} +176 -36
  25. package/dist/chunk-33VSQP4J.js +37 -0
  26. package/dist/chunk-4BQTQMJP.js +93 -0
  27. package/dist/{chunk-GUKMRGM7.js → chunk-4OXMU5S2.js} +1 -1
  28. package/dist/{chunk-62YTUT6J.js → chunk-4PY655YM.js} +15 -3
  29. package/dist/chunk-6FH3IULF.js +352 -0
  30. package/dist/{chunk-3NSBOUT3.js → chunk-77Q5CSPJ.js} +404 -80
  31. package/dist/{chunk-4VQTUVH7.js → chunk-7YZWHM36.js} +52 -26
  32. package/dist/chunk-BSJ6RIT7.js +447 -0
  33. package/dist/chunk-BUEW6IIK.js +364 -0
  34. package/dist/{chunk-WGRQ6HDV.js → chunk-CLJTREDS.js} +74 -14
  35. package/dist/chunk-EK6S23ZB.js +469 -0
  36. package/dist/{chunk-LNJA2UGL.js → chunk-ESFLMDRB.js} +9 -86
  37. package/dist/{chunk-H34S76MB.js → chunk-ESVS6K2B.js} +6 -6
  38. package/dist/{chunk-WAZ3NLWL.js → chunk-F55HGNU4.js} +0 -47
  39. package/dist/{chunk-QK3UCXWL.js → chunk-FHFUXL6G.js} +2 -2
  40. package/dist/{chunk-YKTA5JOJ.js → chunk-GAOWA7GR.js} +212 -46
  41. package/dist/chunk-GGA32J2R.js +784 -0
  42. package/dist/chunk-GNJL4YGR.js +79 -0
  43. package/dist/chunk-MDIH26GC.js +183 -0
  44. package/dist/{chunk-LYHGEHXG.js → chunk-MFAWT5O5.js} +0 -1
  45. package/dist/chunk-MM6QGW3P.js +207 -0
  46. package/dist/{chunk-P5EPF6MB.js → chunk-MW5C6ZQA.js} +110 -13
  47. package/dist/chunk-NCKFNBHJ.js +257 -0
  48. package/dist/{chunk-QBLMXKF2.js → chunk-OIWVQYQF.js} +1 -1
  49. package/dist/{chunk-42MXU7A6.js → chunk-P62WHA27.js} +58 -47
  50. package/dist/chunk-PBACDKKP.js +66 -0
  51. package/dist/{chunk-VGLOTGAS.js → chunk-QSHD36LH.js} +2 -2
  52. package/dist/{chunk-OZ7RIXTO.js → chunk-QSRRMEYM.js} +2 -2
  53. package/dist/chunk-QVEERJSP.js +152 -0
  54. package/dist/{chunk-N2AXRYLC.js → chunk-QWQ3TIKS.js} +1 -1
  55. package/dist/{chunk-3DHXQHYG.js → chunk-R2MIW5G7.js} +1 -1
  56. package/dist/{chunk-SJSFRIYS.js → chunk-SLXOR3CC.js} +2 -2
  57. package/dist/chunk-SS4B7P7V.js +99 -0
  58. package/dist/{chunk-JY6FYXIT.js → chunk-STCQGCEQ.js} +6 -11
  59. package/dist/chunk-U4O6C46S.js +154 -0
  60. package/dist/{chunk-ITPEXLHA.js → chunk-URXDAUVH.js} +24 -5
  61. package/dist/chunk-VSL7KY3M.js +189 -0
  62. package/dist/{chunk-U55BGUAU.js → chunk-W4SPAEE7.js} +6 -6
  63. package/dist/chunk-WMGIIABP.js +15 -0
  64. package/dist/{chunk-3D6BCTP6.js → chunk-X3SPPUFG.js} +51 -39
  65. package/dist/{chunk-THRJVD4L.js → chunk-Y6VJKXGL.js} +1 -1
  66. package/dist/{chunk-ZVVFWOLW.js → chunk-ZN54U2OZ.js} +123 -10
  67. package/dist/cli/index.js +32 -25
  68. package/dist/commands/archive.js +3 -3
  69. package/dist/commands/backlog.js +3 -3
  70. package/dist/commands/blocked.js +3 -3
  71. package/dist/commands/canvas.d.ts +15 -0
  72. package/dist/commands/canvas.js +200 -0
  73. package/dist/commands/checkpoint.js +2 -2
  74. package/dist/commands/compat.js +2 -2
  75. package/dist/commands/context.js +8 -6
  76. package/dist/commands/doctor.d.ts +11 -7
  77. package/dist/commands/doctor.js +18 -16
  78. package/dist/commands/embed.js +5 -6
  79. package/dist/commands/entities.js +2 -2
  80. package/dist/commands/graph.js +4 -4
  81. package/dist/commands/inject.d.ts +1 -1
  82. package/dist/commands/inject.js +5 -6
  83. package/dist/commands/kanban.js +4 -4
  84. package/dist/commands/link.js +5 -5
  85. package/dist/commands/migrate-observations.js +4 -4
  86. package/dist/commands/observe.d.ts +0 -1
  87. package/dist/commands/observe.js +14 -13
  88. package/dist/commands/project.js +5 -5
  89. package/dist/commands/rebuild-embeddings.d.ts +21 -0
  90. package/dist/commands/rebuild-embeddings.js +91 -0
  91. package/dist/commands/rebuild.js +12 -11
  92. package/dist/commands/recover.js +3 -3
  93. package/dist/commands/reflect.js +6 -7
  94. package/dist/commands/repair-session.js +1 -1
  95. package/dist/commands/replay.js +14 -14
  96. package/dist/commands/session-recap.js +1 -1
  97. package/dist/commands/setup.d.ts +2 -90
  98. package/dist/commands/setup.js +3 -21
  99. package/dist/commands/shell-init.js +1 -1
  100. package/dist/commands/sleep.d.ts +1 -1
  101. package/dist/commands/sleep.js +20 -19
  102. package/dist/commands/status.d.ts +2 -0
  103. package/dist/commands/status.js +57 -35
  104. package/dist/commands/sync-bd.d.ts +10 -0
  105. package/dist/commands/sync-bd.js +10 -0
  106. package/dist/commands/tailscale.js +3 -3
  107. package/dist/commands/task.js +4 -4
  108. package/dist/commands/template.js +2 -2
  109. package/dist/commands/wake.d.ts +1 -1
  110. package/dist/commands/wake.js +11 -10
  111. package/dist/commands/workgraph.d.ts +124 -0
  112. package/dist/commands/workgraph.js +38 -0
  113. package/dist/index.d.ts +337 -191
  114. package/dist/index.js +387 -118
  115. package/dist/{inject-Bzi5E-By.d.cts → inject-DYUrDqQO.d.ts} +3 -3
  116. package/dist/ledger-B7g7jhqG.d.ts +44 -0
  117. package/dist/lib/auto-linker.js +2 -2
  118. package/dist/lib/canvas-layout.d.ts +100 -16
  119. package/dist/lib/canvas-layout.js +21 -78
  120. package/dist/lib/config.d.ts +27 -3
  121. package/dist/lib/config.js +4 -2
  122. package/dist/lib/entity-index.js +1 -1
  123. package/dist/lib/project-utils.js +4 -4
  124. package/dist/lib/session-repair.js +1 -1
  125. package/dist/lib/session-utils.js +1 -1
  126. package/dist/lib/tailscale.js +1 -1
  127. package/dist/lib/task-utils.js +3 -3
  128. package/dist/lib/template-engine.js +1 -1
  129. package/dist/lib/webdav.js +1 -1
  130. package/dist/onnxruntime_binding-5QEF3SUC.node +0 -0
  131. package/dist/onnxruntime_binding-BKPKNEGC.node +0 -0
  132. package/dist/onnxruntime_binding-FMOXGIUT.node +0 -0
  133. package/dist/onnxruntime_binding-OI2KMXC5.node +0 -0
  134. package/dist/onnxruntime_binding-UX44MLAZ.node +0 -0
  135. package/dist/onnxruntime_binding-Y2W7N7WY.node +0 -0
  136. package/dist/openclaw-plugin.d.ts +8 -0
  137. package/dist/openclaw-plugin.js +14 -0
  138. package/dist/registry-BR4326o0.d.ts +30 -0
  139. package/dist/store-CA-6sKCJ.d.ts +34 -0
  140. package/dist/thread-B9LhXNU0.d.ts +41 -0
  141. package/dist/transformers.node-A2ZRORSQ.js +46775 -0
  142. package/dist/{types-Y2_Um2Ls.d.cts → types-BbWJoC1c.d.ts} +1 -44
  143. package/dist/workgraph/index.d.ts +5 -0
  144. package/dist/workgraph/index.js +23 -0
  145. package/dist/workgraph/ledger.d.ts +2 -0
  146. package/dist/workgraph/ledger.js +25 -0
  147. package/dist/workgraph/registry.d.ts +2 -0
  148. package/dist/workgraph/registry.js +19 -0
  149. package/dist/workgraph/store.d.ts +2 -0
  150. package/dist/workgraph/store.js +25 -0
  151. package/dist/workgraph/thread.d.ts +2 -0
  152. package/dist/workgraph/thread.js +25 -0
  153. package/dist/workgraph/types.d.ts +54 -0
  154. package/dist/workgraph/types.js +7 -0
  155. package/hooks/clawvault/HOOK.md +34 -4
  156. package/hooks/clawvault/handler.js +760 -78
  157. package/hooks/clawvault/handler.test.js +235 -79
  158. package/hooks/clawvault/openclaw.plugin.json +72 -0
  159. package/openclaw.plugin.json +65 -38
  160. package/package.json +15 -18
  161. package/dist/chunk-3RG5ZIWI.js +0 -10
  162. package/dist/chunk-6U6MK36V.js +0 -205
  163. package/dist/chunk-7R7O6STJ.js +0 -88
  164. package/dist/chunk-CMB7UL7C.js +0 -327
  165. package/dist/chunk-DEFFDRVP.js +0 -938
  166. package/dist/chunk-E7MFQB6D.js +0 -163
  167. package/dist/chunk-GAJV4IGR.js +0 -82
  168. package/dist/chunk-GQSLDZTS.js +0 -560
  169. package/dist/chunk-K234IDRJ.js +0 -1073
  170. package/dist/chunk-MFM6K7PU.js +0 -374
  171. package/dist/chunk-MXSSG3QU.js +0 -42
  172. package/dist/chunk-PAH27GSN.js +0 -108
  173. package/dist/cli/index.cjs +0 -10033
  174. package/dist/cli/index.d.cts +0 -5
  175. package/dist/commands/archive.cjs +0 -287
  176. package/dist/commands/archive.d.cts +0 -11
  177. package/dist/commands/backlog.cjs +0 -721
  178. package/dist/commands/backlog.d.cts +0 -53
  179. package/dist/commands/blocked.cjs +0 -204
  180. package/dist/commands/blocked.d.cts +0 -26
  181. package/dist/commands/checkpoint.cjs +0 -244
  182. package/dist/commands/checkpoint.d.cts +0 -41
  183. package/dist/commands/compat.cjs +0 -369
  184. package/dist/commands/compat.d.cts +0 -28
  185. package/dist/commands/context.cjs +0 -2989
  186. package/dist/commands/context.d.cts +0 -2
  187. package/dist/commands/doctor.cjs +0 -3062
  188. package/dist/commands/doctor.d.cts +0 -21
  189. package/dist/commands/embed.cjs +0 -232
  190. package/dist/commands/embed.d.cts +0 -17
  191. package/dist/commands/entities.cjs +0 -141
  192. package/dist/commands/entities.d.cts +0 -7
  193. package/dist/commands/graph.cjs +0 -501
  194. package/dist/commands/graph.d.cts +0 -21
  195. package/dist/commands/inject.cjs +0 -1636
  196. package/dist/commands/inject.d.cts +0 -2
  197. package/dist/commands/kanban.cjs +0 -884
  198. package/dist/commands/kanban.d.cts +0 -63
  199. package/dist/commands/link.cjs +0 -965
  200. package/dist/commands/link.d.cts +0 -11
  201. package/dist/commands/migrate-observations.cjs +0 -362
  202. package/dist/commands/migrate-observations.d.cts +0 -19
  203. package/dist/commands/observe.cjs +0 -4099
  204. package/dist/commands/observe.d.cts +0 -23
  205. package/dist/commands/project.cjs +0 -1341
  206. package/dist/commands/project.d.cts +0 -85
  207. package/dist/commands/rebuild.cjs +0 -3136
  208. package/dist/commands/rebuild.d.cts +0 -11
  209. package/dist/commands/recover.cjs +0 -361
  210. package/dist/commands/recover.d.cts +0 -38
  211. package/dist/commands/reflect.cjs +0 -1008
  212. package/dist/commands/reflect.d.cts +0 -11
  213. package/dist/commands/repair-session.cjs +0 -457
  214. package/dist/commands/repair-session.d.cts +0 -38
  215. package/dist/commands/replay.cjs +0 -4103
  216. package/dist/commands/replay.d.cts +0 -16
  217. package/dist/commands/session-recap.cjs +0 -353
  218. package/dist/commands/session-recap.d.cts +0 -27
  219. package/dist/commands/setup.cjs +0 -1345
  220. package/dist/commands/setup.d.cts +0 -100
  221. package/dist/commands/shell-init.cjs +0 -75
  222. package/dist/commands/shell-init.d.cts +0 -7
  223. package/dist/commands/sleep.cjs +0 -6028
  224. package/dist/commands/sleep.d.cts +0 -36
  225. package/dist/commands/status.cjs +0 -2736
  226. package/dist/commands/status.d.cts +0 -52
  227. package/dist/commands/tailscale.cjs +0 -1532
  228. package/dist/commands/tailscale.d.cts +0 -52
  229. package/dist/commands/task.cjs +0 -1236
  230. package/dist/commands/task.d.cts +0 -97
  231. package/dist/commands/template.cjs +0 -457
  232. package/dist/commands/template.d.cts +0 -36
  233. package/dist/commands/wake.cjs +0 -2626
  234. package/dist/commands/wake.d.cts +0 -22
  235. package/dist/context-BUGaWpyL.d.cts +0 -46
  236. package/dist/index.cjs +0 -14526
  237. package/dist/index.d.cts +0 -858
  238. package/dist/inject-Bzi5E-By.d.ts +0 -137
  239. package/dist/lib/auto-linker.cjs +0 -176
  240. package/dist/lib/auto-linker.d.cts +0 -26
  241. package/dist/lib/canvas-layout.cjs +0 -136
  242. package/dist/lib/canvas-layout.d.cts +0 -31
  243. package/dist/lib/config.cjs +0 -78
  244. package/dist/lib/config.d.cts +0 -11
  245. package/dist/lib/entity-index.cjs +0 -84
  246. package/dist/lib/entity-index.d.cts +0 -26
  247. package/dist/lib/project-utils.cjs +0 -864
  248. package/dist/lib/project-utils.d.cts +0 -97
  249. package/dist/lib/session-repair.cjs +0 -239
  250. package/dist/lib/session-repair.d.cts +0 -110
  251. package/dist/lib/session-utils.cjs +0 -209
  252. package/dist/lib/session-utils.d.cts +0 -63
  253. package/dist/lib/tailscale.cjs +0 -1183
  254. package/dist/lib/tailscale.d.cts +0 -225
  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/lib/webdav.cjs +0 -568
  260. package/dist/lib/webdav.d.cts +0 -109
  261. package/dist/plugin/index.cjs +0 -1907
  262. package/dist/plugin/index.d.cts +0 -36
  263. package/dist/plugin/index.d.ts +0 -36
  264. package/dist/plugin/index.js +0 -572
  265. package/dist/plugin/inject.cjs +0 -356
  266. package/dist/plugin/inject.d.cts +0 -54
  267. package/dist/plugin/inject.d.ts +0 -54
  268. package/dist/plugin/inject.js +0 -17
  269. package/dist/plugin/observe.cjs +0 -631
  270. package/dist/plugin/observe.d.cts +0 -39
  271. package/dist/plugin/observe.d.ts +0 -39
  272. package/dist/plugin/observe.js +0 -18
  273. package/dist/plugin/templates.cjs +0 -593
  274. package/dist/plugin/templates.d.cts +0 -52
  275. package/dist/plugin/templates.d.ts +0 -52
  276. package/dist/plugin/templates.js +0 -25
  277. package/dist/plugin/types.cjs +0 -18
  278. package/dist/plugin/types.d.cts +0 -209
  279. package/dist/plugin/types.d.ts +0 -209
  280. package/dist/plugin/types.js +0 -0
  281. package/dist/plugin/vault.cjs +0 -927
  282. package/dist/plugin/vault.d.cts +0 -68
  283. package/dist/plugin/vault.d.ts +0 -68
  284. package/dist/plugin/vault.js +0 -22
  285. package/dist/types-Y2_Um2Ls.d.ts +0 -205
  286. package/templates/memory-event.md +0 -67
  287. package/templates/party.md +0 -63
  288. package/templates/primitive-registry.yaml +0 -551
  289. package/templates/run.md +0 -68
  290. package/templates/trigger.md +0 -68
  291. package/templates/workspace.md +0 -50
package/dist/index.js CHANGED
@@ -1,27 +1,52 @@
1
- import {
2
- setupCommand
3
- } from "./chunk-DEFFDRVP.js";
4
- import {
5
- rebuildCommand,
6
- registerRebuildCommand
7
- } from "./chunk-VGLOTGAS.js";
8
1
  import {
9
2
  registerReplayCommand,
10
3
  replayCommand
11
- } from "./chunk-JY6FYXIT.js";
4
+ } from "./chunk-STCQGCEQ.js";
12
5
  import {
13
6
  buildSessionRecap,
14
7
  formatSessionRecapMarkdown,
15
8
  sessionRecapCommand
16
9
  } from "./chunk-ZKGY7WTT.js";
10
+ import {
11
+ setupCommand
12
+ } from "./chunk-BUEW6IIK.js";
13
+ import {
14
+ registerSyncBdCommand,
15
+ syncBdCommand
16
+ } from "./chunk-SS4B7P7V.js";
17
+ import {
18
+ migrateObservations,
19
+ migrateObservationsCommand,
20
+ registerMigrateObservationsCommand
21
+ } from "./chunk-2JQ3O2YL.js";
22
+ import {
23
+ EmbeddingCache,
24
+ cosineSimilarity,
25
+ embed,
26
+ embedBatch,
27
+ hybridSearch,
28
+ reciprocalRankFusion,
29
+ semanticSearch
30
+ } from "./chunk-U4O6C46S.js";
31
+ import {
32
+ rebuildCommand,
33
+ registerRebuildCommand
34
+ } from "./chunk-QSHD36LH.js";
17
35
  import {
18
36
  doctor
19
- } from "./chunk-YKTA5JOJ.js";
37
+ } from "./chunk-GAOWA7GR.js";
38
+ import "./chunk-7YZWHM36.js";
20
39
  import "./chunk-7ZRP733D.js";
40
+ import {
41
+ checkOpenClawCompatibility,
42
+ compatCommand,
43
+ compatibilityExitCode
44
+ } from "./chunk-X3SPPUFG.js";
45
+ import "./chunk-J7ZWCI2C.js";
21
46
  import {
22
47
  graphCommand,
23
48
  graphSummary
24
- } from "./chunk-OZ7RIXTO.js";
49
+ } from "./chunk-QSRRMEYM.js";
25
50
  import {
26
51
  buildKanbanLanes,
27
52
  extractCardSlug,
@@ -31,19 +56,10 @@ import {
31
56
  kanbanCommand,
32
57
  parseKanbanMarkdown,
33
58
  syncKanbanBoard
34
- } from "./chunk-GUKMRGM7.js";
35
- import "./chunk-4VQTUVH7.js";
36
- import "./chunk-J7ZWCI2C.js";
37
- import {
38
- migrateObservations,
39
- migrateObservationsCommand,
40
- registerMigrateObservationsCommand
41
- } from "./chunk-C7OK5WKP.js";
59
+ } from "./chunk-4OXMU5S2.js";
42
60
  import {
43
- registerCliCommands,
44
- registerReweaveCommand,
45
- reweaveCommand
46
- } from "./chunk-GAJV4IGR.js";
61
+ registerCliCommands
62
+ } from "./chunk-33VSQP4J.js";
47
63
  import {
48
64
  registerTailscaleCommands,
49
65
  registerTailscaleDiscoverCommand,
@@ -54,7 +70,7 @@ import {
54
70
  tailscaleServeCommand,
55
71
  tailscaleStatusCommand,
56
72
  tailscaleSyncCommand
57
- } from "./chunk-THRJVD4L.js";
73
+ } from "./chunk-Y6VJKXGL.js";
58
74
  import {
59
75
  CLAWVAULT_SERVE_PATH,
60
76
  DEFAULT_SERVE_PORT,
@@ -77,32 +93,53 @@ import {
77
93
  syncWithPeer
78
94
  } from "./chunk-TIGW564L.js";
79
95
  import "./chunk-IVRIKYFE.js";
96
+ import "./chunk-GGA32J2R.js";
97
+ import "./chunk-VSL7KY3M.js";
98
+ import "./chunk-QVEERJSP.js";
99
+ import "./chunk-4BQTQMJP.js";
100
+ import "./chunk-MM6QGW3P.js";
101
+ import "./chunk-WMGIIABP.js";
80
102
  import {
81
103
  SessionWatcher,
82
104
  observeCommand,
83
105
  registerObserveCommand
84
- } from "./chunk-F2JEUD4J.js";
106
+ } from "./chunk-23YDQ3QU.js";
85
107
  import {
86
108
  parseSessionFile
87
- } from "./chunk-P5EPF6MB.js";
109
+ } from "./chunk-MW5C6ZQA.js";
88
110
  import {
89
111
  reflectCommand,
90
112
  registerReflectCommand
91
- } from "./chunk-SJSFRIYS.js";
113
+ } from "./chunk-SLXOR3CC.js";
92
114
  import {
93
115
  runReflection
94
- } from "./chunk-H34S76MB.js";
116
+ } from "./chunk-ESVS6K2B.js";
117
+ import {
118
+ buildContext,
119
+ contextCommand,
120
+ formatContextMarkdown,
121
+ inferContextProfile,
122
+ normalizeContextProfileInput,
123
+ registerContextCommand,
124
+ resolveContextProfile
125
+ } from "./chunk-ZN54U2OZ.js";
95
126
  import {
96
127
  getObserverStaleness,
97
128
  getScaledObservationThresholdBytes,
98
129
  observeActiveSessions,
99
130
  parseSessionSourceLabel
100
- } from "./chunk-LNJA2UGL.js";
131
+ } from "./chunk-ESFLMDRB.js";
132
+ import "./chunk-HRLWZGMA.js";
101
133
  import {
102
134
  Compressor,
103
135
  Observer,
104
- Reflector
105
- } from "./chunk-3NSBOUT3.js";
136
+ Reflector,
137
+ createDefaultAdapter,
138
+ createFactExtractionAdapter,
139
+ createGeminiFlashAdapter,
140
+ createLlmFunction,
141
+ resolveFactExtractionMode
142
+ } from "./chunk-77Q5CSPJ.js";
106
143
  import {
107
144
  archiveProject,
108
145
  createProject,
@@ -111,12 +148,41 @@ import {
111
148
  listProjects,
112
149
  readProject,
113
150
  updateProject
114
- } from "./chunk-62YTUT6J.js";
115
- import "./chunk-HRLWZGMA.js";
151
+ } from "./chunk-4PY655YM.js";
152
+ import {
153
+ ClawVault,
154
+ createVault,
155
+ findVault
156
+ } from "./chunk-CLJTREDS.js";
157
+ import {
158
+ FactStore,
159
+ extractFactsLlm,
160
+ extractFactsRuleBased,
161
+ factId,
162
+ normalizeEntity
163
+ } from "./chunk-BSJ6RIT7.js";
164
+ import "./chunk-FHFUXL6G.js";
116
165
  import {
117
166
  embedCommand,
118
167
  registerEmbedCommand
119
- } from "./chunk-7R7O6STJ.js";
168
+ } from "./chunk-PBACDKKP.js";
169
+ import {
170
+ loadVaultQmdConfig,
171
+ removeQmdCollection
172
+ } from "./chunk-6FH3IULF.js";
173
+ import {
174
+ QMD_INSTALL_COMMAND,
175
+ QMD_INSTALL_URL,
176
+ QmdConfigurationError,
177
+ QmdUnavailableError,
178
+ SearchEngine,
179
+ extractTags,
180
+ extractWikiLinks,
181
+ getQmdErrorDetails,
182
+ hasQmd,
183
+ qmdEmbed,
184
+ qmdUpdate
185
+ } from "./chunk-EK6S23ZB.js";
120
186
  import {
121
187
  buildInjectionResult,
122
188
  deterministicInjectMatches,
@@ -124,11 +190,7 @@ import {
124
190
  injectCommand,
125
191
  registerInjectCommand,
126
192
  runPromptInjection
127
- } from "./chunk-U55BGUAU.js";
128
- import {
129
- requestLlmCompletion,
130
- resolveLlmProvider
131
- } from "./chunk-E7MFQB6D.js";
193
+ } from "./chunk-W4SPAEE7.js";
132
194
  import {
133
195
  SUPPORTED_CONFIG_KEYS,
134
196
  addRouteRule,
@@ -141,12 +203,21 @@ import {
141
203
  resetConfig,
142
204
  setConfigValue,
143
205
  testRouteRule
144
- } from "./chunk-ITPEXLHA.js";
145
- import "./chunk-PAH27GSN.js";
206
+ } from "./chunk-URXDAUVH.js";
207
+ import {
208
+ requestLlmCompletion,
209
+ resolveLlmProvider
210
+ } from "./chunk-NCKFNBHJ.js";
211
+ import {
212
+ DEFAULT_CATEGORIES,
213
+ DEFAULT_CONFIG,
214
+ MEMORY_TYPES,
215
+ TYPE_TO_CATEGORY
216
+ } from "./chunk-2CDEETQN.js";
146
217
  import {
147
218
  archiveCommand,
148
219
  registerArchiveCommand
149
- } from "./chunk-VR5NE7PZ.js";
220
+ } from "./chunk-2RAZ4ZFE.js";
150
221
  import {
151
222
  archiveObservations
152
223
  } from "./chunk-MQUJNOHK.js";
@@ -154,7 +225,14 @@ import {
154
225
  findNearestVaultPath,
155
226
  getVaultPath,
156
227
  resolveVaultPath
157
- } from "./chunk-MXSSG3QU.js";
228
+ } from "./chunk-GNJL4YGR.js";
229
+ import {
230
+ MEMORY_GRAPH_SCHEMA_VERSION,
231
+ buildOrUpdateMemoryGraphIndex,
232
+ getMemoryGraph,
233
+ loadMemoryGraphIndex
234
+ } from "./chunk-33DOSHTA.js";
235
+ import "./chunk-Z2XBWN7A.js";
158
236
  import {
159
237
  appendTransition,
160
238
  buildTransitionEvent,
@@ -167,77 +245,259 @@ import {
167
245
  queryTransitions,
168
246
  readAllTransitions,
169
247
  updateTask
170
- } from "./chunk-N2AXRYLC.js";
171
- import "./chunk-LYHGEHXG.js";
248
+ } from "./chunk-QWQ3TIKS.js";
249
+ import "./chunk-MFAWT5O5.js";
172
250
  import {
173
251
  buildTemplateVariables,
174
252
  renderTemplate
175
253
  } from "./chunk-7766SIJP.js";
176
- import {
177
- checkOpenClawCompatibility,
178
- compatCommand,
179
- compatibilityExitCode
180
- } from "./chunk-3D6BCTP6.js";
181
- import {
182
- buildContext,
183
- contextCommand,
184
- formatContextMarkdown,
185
- inferContextProfile,
186
- normalizeContextProfileInput,
187
- registerContextCommand,
188
- resolveContextProfile
189
- } from "./chunk-ZVVFWOLW.js";
190
- import {
191
- ClawVault,
192
- createVault,
193
- findVault
194
- } from "./chunk-WGRQ6HDV.js";
195
- import {
196
- QMD_INSTALL_COMMAND,
197
- QMD_INSTALL_URL,
198
- QmdUnavailableError,
199
- SearchEngine,
200
- bm25RankChunks,
201
- classifyQuestion,
202
- entitySimilarity,
203
- extractDates,
204
- extractEntities,
205
- extractPreferences,
206
- extractTags,
207
- extractWikiLinks,
208
- filterSuperseded,
209
- getSupersessionInfo,
210
- hasQmd,
211
- isKnowledgeUpdate,
212
- isSuperseded,
213
- qmdEmbed,
214
- qmdUpdate,
215
- reweave,
216
- sentenceChunk,
217
- stripSupersededObservations
218
- } from "./chunk-K234IDRJ.js";
219
- import {
220
- DEFAULT_CATEGORIES,
221
- DEFAULT_CONFIG,
222
- MEMORY_TYPES,
223
- TYPE_TO_CATEGORY
224
- } from "./chunk-2CDEETQN.js";
225
- import {
226
- MEMORY_GRAPH_SCHEMA_VERSION,
227
- buildOrUpdateMemoryGraphIndex,
228
- getMemoryGraph,
229
- loadMemoryGraphIndex
230
- } from "./chunk-ZZA73MFY.js";
231
- import "./chunk-QK3UCXWL.js";
232
- import "./chunk-Z2XBWN7A.js";
233
- import "./chunk-3RG5ZIWI.js";
254
+ import "./chunk-2ZDO52B4.js";
234
255
 
235
256
  // src/index.ts
257
+ import * as fs2 from "fs";
258
+
259
+ // src/commands/migrate.ts
236
260
  import * as fs from "fs";
261
+ import * as path from "path";
262
+ import { execFileSync } from "child_process";
263
+ function addQmdCollection(name, rootPath) {
264
+ execFileSync("qmd", ["collection", "add", name, rootPath], { stdio: "ignore", shell: process.platform === "win32" });
265
+ }
266
+ function updateVaultConfig(vaultPath, updates) {
267
+ const configPath = path.join(vaultPath, ".clawvault.json");
268
+ let config = {};
269
+ if (fs.existsSync(configPath)) {
270
+ try {
271
+ config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
272
+ } catch {
273
+ config = {};
274
+ }
275
+ }
276
+ if (updates.qmdCollection !== void 0) {
277
+ config.qmdCollection = updates.qmdCollection;
278
+ }
279
+ if (updates.qmdRoot !== void 0) {
280
+ config.qmdRoot = updates.qmdRoot;
281
+ }
282
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n");
283
+ }
284
+ function fixStaleCollectionName(issue, dryRun) {
285
+ const details = issue.details;
286
+ const action = {
287
+ type: "stale_collection_name",
288
+ description: `Rename collection "${details.oldName}" to "${details.newName}"`,
289
+ success: false
290
+ };
291
+ if (dryRun) {
292
+ action.success = true;
293
+ action.description += " (dry run)";
294
+ return action;
295
+ }
296
+ try {
297
+ removeQmdCollection(details.oldName);
298
+ addQmdCollection(details.newName, details.root);
299
+ action.success = true;
300
+ } catch (err) {
301
+ action.error = err?.message || "Failed to rename collection";
302
+ }
303
+ return action;
304
+ }
305
+ function fixMissingQmdCollection(issue, dryRun) {
306
+ const details = issue.details;
307
+ const action = {
308
+ type: "missing_qmd_collection",
309
+ description: `Create qmd collection "${details.collectionName}" at "${details.expectedRoot}"`,
310
+ success: false
311
+ };
312
+ if (dryRun) {
313
+ action.success = true;
314
+ action.description += " (dry run)";
315
+ return action;
316
+ }
317
+ try {
318
+ addQmdCollection(details.collectionName, details.expectedRoot);
319
+ action.success = true;
320
+ } catch (err) {
321
+ action.error = err?.message || "Failed to create collection";
322
+ }
323
+ return action;
324
+ }
325
+ function fixWrongVaultPath(issue, dryRun) {
326
+ const details = issue.details;
327
+ const action = {
328
+ type: "wrong_vault_path",
329
+ description: `Update collection "${details.collectionName}" path from "${details.currentRoot}" to "${details.expectedRoot}"`,
330
+ success: false
331
+ };
332
+ if (dryRun) {
333
+ action.success = true;
334
+ action.description += " (dry run)";
335
+ return action;
336
+ }
337
+ try {
338
+ removeQmdCollection(details.collectionName);
339
+ addQmdCollection(details.collectionName, details.expectedRoot);
340
+ action.success = true;
341
+ } catch (err) {
342
+ action.error = err?.message || "Failed to update collection path";
343
+ }
344
+ return action;
345
+ }
346
+ function fixOrphanedCollection(issue, dryRun) {
347
+ const details = issue.details;
348
+ const action = {
349
+ type: "orphaned_collection",
350
+ description: `Remove orphaned collection "${details.collectionName}"`,
351
+ success: false
352
+ };
353
+ if (dryRun) {
354
+ action.success = true;
355
+ action.description += " (dry run)";
356
+ return action;
357
+ }
358
+ try {
359
+ removeQmdCollection(details.collectionName);
360
+ action.success = true;
361
+ } catch (err) {
362
+ action.error = err?.message || "Failed to remove orphaned collection";
363
+ }
364
+ return action;
365
+ }
366
+ function fixMissingQmdConfig(issue, vaultPath, dryRun) {
367
+ const vaultConfig = loadVaultQmdConfig(vaultPath);
368
+ const action = {
369
+ type: "missing_qmd_config",
370
+ description: `Add qmdCollection="${vaultConfig.qmdCollection}" and qmdRoot="${vaultConfig.qmdRoot}" to .clawvault.json`,
371
+ success: false
372
+ };
373
+ if (dryRun) {
374
+ action.success = true;
375
+ action.description += " (dry run)";
376
+ return action;
377
+ }
378
+ try {
379
+ updateVaultConfig(vaultPath, {
380
+ qmdCollection: vaultConfig.qmdCollection,
381
+ qmdRoot: vaultConfig.qmdRoot
382
+ });
383
+ action.success = true;
384
+ } catch (err) {
385
+ action.error = err?.message || "Failed to update vault config";
386
+ }
387
+ return action;
388
+ }
389
+ function fixIssue(issue, vaultPath, dryRun) {
390
+ if (!issue.autoFixable) {
391
+ return null;
392
+ }
393
+ switch (issue.type) {
394
+ case "stale_collection_name":
395
+ return fixStaleCollectionName(issue, dryRun);
396
+ case "missing_qmd_collection":
397
+ return fixMissingQmdCollection(issue, dryRun);
398
+ case "wrong_vault_path":
399
+ return fixWrongVaultPath(issue, dryRun);
400
+ case "orphaned_collection":
401
+ return fixOrphanedCollection(issue, dryRun);
402
+ case "missing_qmd_config":
403
+ return fixMissingQmdConfig(issue, vaultPath, dryRun);
404
+ default:
405
+ return null;
406
+ }
407
+ }
408
+ async function migrate(options = {}) {
409
+ const vaultPath = resolveVaultPath({ explicitPath: options.vaultPath });
410
+ const dryRun = options.dryRun ?? false;
411
+ if (!hasQmd()) {
412
+ return {
413
+ vaultPath,
414
+ issuesFound: 1,
415
+ issuesFixed: 0,
416
+ actions: [{
417
+ type: "missing_qmd_collection",
418
+ description: "qmd is not installed",
419
+ success: false,
420
+ error: `Install qmd first: ${QMD_INSTALL_COMMAND}
421
+ More info: ${QMD_INSTALL_URL}`
422
+ }],
423
+ dryRun
424
+ };
425
+ }
426
+ const report = await doctor(vaultPath);
427
+ const issues = report.migrationIssues;
428
+ const actions = [];
429
+ for (const issue of issues) {
430
+ const action = fixIssue(issue, vaultPath, dryRun);
431
+ if (action) {
432
+ actions.push(action);
433
+ }
434
+ }
435
+ const issuesFixed = actions.filter((a) => a.success).length;
436
+ return {
437
+ vaultPath,
438
+ issuesFound: issues.length,
439
+ issuesFixed,
440
+ actions,
441
+ dryRun
442
+ };
443
+ }
444
+ function formatMigrateResult(result) {
445
+ const lines = [];
446
+ lines.push("ClawVault Migration Report");
447
+ lines.push("-".repeat(30));
448
+ lines.push(`Vault: ${result.vaultPath}`);
449
+ lines.push(`Mode: ${result.dryRun ? "Dry Run" : "Live"}`);
450
+ lines.push("");
451
+ if (result.issuesFound === 0) {
452
+ lines.push("\u2713 No migration issues found. Your vault is up to date.");
453
+ return lines.join("\n");
454
+ }
455
+ lines.push(`Found ${result.issuesFound} issue(s)`);
456
+ lines.push("");
457
+ for (const action of result.actions) {
458
+ const prefix = action.success ? "\u2713" : "\u2717";
459
+ lines.push(`${prefix} ${action.description}`);
460
+ if (action.error) {
461
+ lines.push(` Error: ${action.error}`);
462
+ }
463
+ }
464
+ lines.push("");
465
+ if (result.dryRun) {
466
+ lines.push(`Would fix ${result.issuesFixed}/${result.issuesFound} issue(s).`);
467
+ lines.push("Run without --dry-run to apply changes.");
468
+ } else {
469
+ lines.push(`Fixed ${result.issuesFixed}/${result.issuesFound} issue(s).`);
470
+ if (result.issuesFixed < result.issuesFound) {
471
+ lines.push("Some issues require manual intervention.");
472
+ }
473
+ }
474
+ return lines.join("\n");
475
+ }
476
+ async function migrateCommand(options = {}) {
477
+ const result = await migrate(options);
478
+ if (options.json) {
479
+ console.log(JSON.stringify(result, null, 2));
480
+ } else {
481
+ console.log(formatMigrateResult(result));
482
+ }
483
+ return result;
484
+ }
485
+ function registerMigrateCommand(program) {
486
+ program.command("migrate").description("Auto-fix common v2\u2192v3 migration issues (stale collections, missing qmd config, wrong paths)").option("-v, --vault <path>", "Vault path").option("--dry-run", "Preview changes without applying them").option("--force", "Force migration even if no issues detected").option("--json", "Output results as JSON").action(async (rawOptions) => {
487
+ await migrateCommand({
488
+ vaultPath: rawOptions.vault,
489
+ dryRun: rawOptions.dryRun,
490
+ force: rawOptions.force,
491
+ json: rawOptions.json
492
+ });
493
+ });
494
+ }
495
+
496
+ // src/index.ts
237
497
  function readPackageVersion() {
238
498
  try {
239
499
  const pkgUrl = new URL("../package.json", import.meta.url);
240
- const pkg = JSON.parse(fs.readFileSync(pkgUrl, "utf-8"));
500
+ const pkg = JSON.parse(fs2.readFileSync(pkgUrl, "utf-8"));
241
501
  return pkg.version ?? "0.0.0";
242
502
  } catch {
243
503
  return "0.0.0";
@@ -254,11 +514,14 @@ export {
254
514
  DEFAULT_CATEGORIES,
255
515
  DEFAULT_CONFIG,
256
516
  DEFAULT_SERVE_PORT,
517
+ EmbeddingCache,
518
+ FactStore,
257
519
  MEMORY_GRAPH_SCHEMA_VERSION,
258
520
  MEMORY_TYPES,
259
521
  Observer,
260
522
  QMD_INSTALL_COMMAND,
261
523
  QMD_INSTALL_URL,
524
+ QmdConfigurationError,
262
525
  QmdUnavailableError,
263
526
  Reflector,
264
527
  SUPPORTED_CONFIG_KEYS,
@@ -271,7 +534,6 @@ export {
271
534
  archiveCommand,
272
535
  archiveObservations,
273
536
  archiveProject,
274
- bm25RankChunks,
275
537
  buildContext,
276
538
  buildInjectionResult,
277
539
  buildKanbanLanes,
@@ -281,30 +543,34 @@ export {
281
543
  buildTransitionEvent,
282
544
  checkOpenClawCompatibility,
283
545
  checkPeerClawVault,
284
- classifyQuestion,
285
546
  compareManifests,
286
547
  compatCommand,
287
548
  compatibilityExitCode,
288
549
  completeTask,
289
550
  configureTailscaleServe,
290
551
  contextCommand,
552
+ cosineSimilarity,
291
553
  countBlockedTransitions,
554
+ createDefaultAdapter,
555
+ createFactExtractionAdapter,
556
+ createGeminiFlashAdapter,
557
+ createLlmFunction,
292
558
  createProject,
293
559
  createVault,
294
560
  deterministicInjectMatches,
295
561
  discoverClawVaultPeers,
296
562
  doctor,
563
+ embed,
564
+ embedBatch,
297
565
  embedCommand,
298
- entitySimilarity,
299
566
  extractCardSlug,
300
- extractDates,
301
- extractEntities,
302
- extractPreferences,
567
+ extractFactsLlm,
568
+ extractFactsRuleBased,
303
569
  extractTags,
304
570
  extractWikiLinks,
571
+ factId,
305
572
  fetchRemoteFile,
306
573
  fetchRemoteManifest,
307
- filterSuperseded,
308
574
  findNearestVaultPath,
309
575
  findPeer,
310
576
  findVault,
@@ -321,8 +587,8 @@ export {
321
587
  getOnlinePeers,
322
588
  getProjectActivity,
323
589
  getProjectTasks,
590
+ getQmdErrorDetails,
324
591
  getScaledObservationThresholdBytes,
325
- getSupersessionInfo,
326
592
  getTailscaleStatus,
327
593
  getTailscaleVersion,
328
594
  getVaultPath,
@@ -330,13 +596,12 @@ export {
330
596
  graphSummary,
331
597
  hasQmd,
332
598
  hasTailscale,
599
+ hybridSearch,
333
600
  importKanbanBoard,
334
601
  indexInjectableItems,
335
602
  inferContextProfile,
336
603
  injectCommand,
337
- isKnowledgeUpdate,
338
604
  isRegression,
339
- isSuperseded,
340
605
  kanbanCommand,
341
606
  listConfig,
342
607
  listDependentTasks,
@@ -345,9 +610,12 @@ export {
345
610
  listSubtasks,
346
611
  loadMemoryGraphIndex,
347
612
  matchRouteRule,
613
+ migrate,
614
+ migrateCommand,
348
615
  migrateObservations,
349
616
  migrateObservationsCommand,
350
617
  normalizeContextProfileInput,
618
+ normalizeEntity,
351
619
  observeActiveSessions,
352
620
  observeCommand,
353
621
  parseKanbanMarkdown,
@@ -360,6 +628,7 @@ export {
360
628
  readAllTransitions,
361
629
  readProject,
362
630
  rebuildCommand,
631
+ reciprocalRankFusion,
363
632
  reflectCommand,
364
633
  registerArchiveCommand,
365
634
  registerCliCommands,
@@ -367,12 +636,13 @@ export {
367
636
  registerContextCommand,
368
637
  registerEmbedCommand,
369
638
  registerInjectCommand,
639
+ registerMigrateCommand,
370
640
  registerMigrateObservationsCommand,
371
641
  registerObserveCommand,
372
642
  registerRebuildCommand,
373
643
  registerReflectCommand,
374
644
  registerReplayCommand,
375
- registerReweaveCommand,
645
+ registerSyncBdCommand,
376
646
  registerTailscaleCommands,
377
647
  registerTailscaleDiscoverCommand,
378
648
  registerTailscaleServeCommand,
@@ -384,20 +654,19 @@ export {
384
654
  requestLlmCompletion,
385
655
  resetConfig,
386
656
  resolveContextProfile,
657
+ resolveFactExtractionMode,
387
658
  resolveLlmProvider,
388
659
  resolvePeerIP,
389
660
  resolveVaultPath,
390
- reweave,
391
- reweaveCommand,
392
661
  runPromptInjection,
393
662
  runReflection,
394
- sentenceChunk,
663
+ semanticSearch,
395
664
  serveVault,
396
665
  sessionRecapCommand,
397
666
  setConfigValue,
398
667
  setupCommand,
399
668
  stopTailscaleServe,
400
- stripSupersededObservations,
669
+ syncBdCommand,
401
670
  syncKanbanBoard,
402
671
  syncWithPeer,
403
672
  tailscaleDiscoverCommand,