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
package/dist/index.js CHANGED
@@ -1,27 +1,52 @@
1
- import {
2
- setupCommand
3
- } from "./chunk-3ZIH425O.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-H62BP7RI.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,45 +56,90 @@ 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";
59
+ } from "./chunk-4OXMU5S2.js";
37
60
  import {
38
- migrateObservations,
39
- migrateObservationsCommand,
40
- registerMigrateObservationsCommand
41
- } from "./chunk-C7OK5WKP.js";
61
+ registerCliCommands
62
+ } from "./chunk-33VSQP4J.js";
42
63
  import {
43
- registerCliCommands,
44
- registerReweaveCommand,
45
- reweaveCommand
46
- } from "./chunk-YCUNCH2I.js";
64
+ registerTailscaleCommands,
65
+ registerTailscaleDiscoverCommand,
66
+ registerTailscaleServeCommand,
67
+ registerTailscaleStatusCommand,
68
+ registerTailscaleSyncCommand,
69
+ tailscaleDiscoverCommand,
70
+ tailscaleServeCommand,
71
+ tailscaleStatusCommand,
72
+ tailscaleSyncCommand
73
+ } from "./chunk-Y6VJKXGL.js";
74
+ import {
75
+ CLAWVAULT_SERVE_PATH,
76
+ DEFAULT_SERVE_PORT,
77
+ checkPeerClawVault,
78
+ compareManifests,
79
+ configureTailscaleServe,
80
+ discoverClawVaultPeers,
81
+ fetchRemoteFile,
82
+ fetchRemoteManifest,
83
+ findPeer,
84
+ generateVaultManifest,
85
+ getOnlinePeers,
86
+ getTailscaleStatus,
87
+ getTailscaleVersion,
88
+ hasTailscale,
89
+ pushFileToRemote,
90
+ resolvePeerIP,
91
+ serveVault,
92
+ stopTailscaleServe,
93
+ syncWithPeer
94
+ } from "./chunk-TIGW564L.js";
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";
47
102
  import {
48
103
  SessionWatcher,
49
104
  observeCommand,
50
105
  registerObserveCommand
51
- } from "./chunk-F2JEUD4J.js";
106
+ } from "./chunk-23YDQ3QU.js";
52
107
  import {
53
108
  parseSessionFile
54
- } from "./chunk-P5EPF6MB.js";
109
+ } from "./chunk-MW5C6ZQA.js";
55
110
  import {
56
111
  reflectCommand,
57
112
  registerReflectCommand
58
- } from "./chunk-SJSFRIYS.js";
113
+ } from "./chunk-SLXOR3CC.js";
59
114
  import {
60
115
  runReflection
61
- } 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";
62
126
  import {
63
127
  getObserverStaleness,
64
128
  getScaledObservationThresholdBytes,
65
129
  observeActiveSessions,
66
130
  parseSessionSourceLabel
67
- } from "./chunk-LNJA2UGL.js";
131
+ } from "./chunk-ESFLMDRB.js";
132
+ import "./chunk-HRLWZGMA.js";
68
133
  import {
69
134
  Compressor,
70
135
  Observer,
71
- Reflector
72
- } from "./chunk-3NSBOUT3.js";
136
+ Reflector,
137
+ createDefaultAdapter,
138
+ createFactExtractionAdapter,
139
+ createGeminiFlashAdapter,
140
+ createLlmFunction,
141
+ resolveFactExtractionMode
142
+ } from "./chunk-77Q5CSPJ.js";
73
143
  import {
74
144
  archiveProject,
75
145
  createProject,
@@ -78,12 +148,41 @@ import {
78
148
  listProjects,
79
149
  readProject,
80
150
  updateProject
81
- } from "./chunk-62YTUT6J.js";
82
- 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";
83
165
  import {
84
166
  embedCommand,
85
167
  registerEmbedCommand
86
- } from "./chunk-OCGVIN3L.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";
87
186
  import {
88
187
  buildInjectionResult,
89
188
  deterministicInjectMatches,
@@ -91,11 +190,7 @@ import {
91
190
  injectCommand,
92
191
  registerInjectCommand,
93
192
  runPromptInjection
94
- } from "./chunk-U55BGUAU.js";
95
- import {
96
- requestLlmCompletion,
97
- resolveLlmProvider
98
- } from "./chunk-E7MFQB6D.js";
193
+ } from "./chunk-W4SPAEE7.js";
99
194
  import {
100
195
  SUPPORTED_CONFIG_KEYS,
101
196
  addRouteRule,
@@ -108,12 +203,21 @@ import {
108
203
  resetConfig,
109
204
  setConfigValue,
110
205
  testRouteRule
111
- } from "./chunk-ITPEXLHA.js";
112
- 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";
113
217
  import {
114
218
  archiveCommand,
115
219
  registerArchiveCommand
116
- } from "./chunk-VR5NE7PZ.js";
220
+ } from "./chunk-2RAZ4ZFE.js";
117
221
  import {
118
222
  archiveObservations
119
223
  } from "./chunk-MQUJNOHK.js";
@@ -121,7 +225,14 @@ import {
121
225
  findNearestVaultPath,
122
226
  getVaultPath,
123
227
  resolveVaultPath
124
- } 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";
125
236
  import {
126
237
  appendTransition,
127
238
  buildTransitionEvent,
@@ -134,77 +245,259 @@ import {
134
245
  queryTransitions,
135
246
  readAllTransitions,
136
247
  updateTask
137
- } from "./chunk-N2AXRYLC.js";
138
- import "./chunk-LYHGEHXG.js";
248
+ } from "./chunk-QWQ3TIKS.js";
249
+ import "./chunk-MFAWT5O5.js";
139
250
  import {
140
251
  buildTemplateVariables,
141
252
  renderTemplate
142
253
  } from "./chunk-7766SIJP.js";
143
- import {
144
- checkOpenClawCompatibility,
145
- compatCommand,
146
- compatibilityExitCode
147
- } from "./chunk-33UGEQRT.js";
148
- import {
149
- buildContext,
150
- contextCommand,
151
- formatContextMarkdown,
152
- inferContextProfile,
153
- normalizeContextProfileInput,
154
- registerContextCommand,
155
- resolveContextProfile
156
- } from "./chunk-3WRJEKN4.js";
157
- import {
158
- ClawVault,
159
- createVault,
160
- findVault
161
- } from "./chunk-LI4O6NVK.js";
162
- import {
163
- QMD_INSTALL_COMMAND,
164
- QMD_INSTALL_URL,
165
- QmdUnavailableError,
166
- SearchEngine,
167
- bm25RankChunks,
168
- classifyQuestion,
169
- entitySimilarity,
170
- extractDates,
171
- extractEntities,
172
- extractPreferences,
173
- extractTags,
174
- extractWikiLinks,
175
- filterSuperseded,
176
- getSupersessionInfo,
177
- hasQmd,
178
- isKnowledgeUpdate,
179
- isSuperseded,
180
- qmdEmbed,
181
- qmdUpdate,
182
- reweave,
183
- sentenceChunk,
184
- stripSupersededObservations
185
- } from "./chunk-D2H45LON.js";
186
- import {
187
- DEFAULT_CATEGORIES,
188
- DEFAULT_CONFIG,
189
- MEMORY_TYPES,
190
- TYPE_TO_CATEGORY
191
- } from "./chunk-2CDEETQN.js";
192
- import {
193
- MEMORY_GRAPH_SCHEMA_VERSION,
194
- buildOrUpdateMemoryGraphIndex,
195
- getMemoryGraph,
196
- loadMemoryGraphIndex
197
- } from "./chunk-ZZA73MFY.js";
198
- import "./chunk-QK3UCXWL.js";
199
- import "./chunk-Z2XBWN7A.js";
200
- import "./chunk-3RG5ZIWI.js";
254
+ import "./chunk-2ZDO52B4.js";
201
255
 
202
256
  // src/index.ts
257
+ import * as fs2 from "fs";
258
+
259
+ // src/commands/migrate.ts
203
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
204
497
  function readPackageVersion() {
205
498
  try {
206
499
  const pkgUrl = new URL("../package.json", import.meta.url);
207
- const pkg = JSON.parse(fs.readFileSync(pkgUrl, "utf-8"));
500
+ const pkg = JSON.parse(fs2.readFileSync(pkgUrl, "utf-8"));
208
501
  return pkg.version ?? "0.0.0";
209
502
  } catch {
210
503
  return "0.0.0";
@@ -215,15 +508,20 @@ function registerCommanderCommands(program) {
215
508
  return registerCliCommands(program);
216
509
  }
217
510
  export {
511
+ CLAWVAULT_SERVE_PATH,
218
512
  ClawVault,
219
513
  Compressor,
220
514
  DEFAULT_CATEGORIES,
221
515
  DEFAULT_CONFIG,
516
+ DEFAULT_SERVE_PORT,
517
+ EmbeddingCache,
518
+ FactStore,
222
519
  MEMORY_GRAPH_SCHEMA_VERSION,
223
520
  MEMORY_TYPES,
224
521
  Observer,
225
522
  QMD_INSTALL_COMMAND,
226
523
  QMD_INSTALL_URL,
524
+ QmdConfigurationError,
227
525
  QmdUnavailableError,
228
526
  Reflector,
229
527
  SUPPORTED_CONFIG_KEYS,
@@ -236,7 +534,6 @@ export {
236
534
  archiveCommand,
237
535
  archiveObservations,
238
536
  archiveProject,
239
- bm25RankChunks,
240
537
  buildContext,
241
538
  buildInjectionResult,
242
539
  buildKanbanLanes,
@@ -245,51 +542,66 @@ export {
245
542
  buildTemplateVariables,
246
543
  buildTransitionEvent,
247
544
  checkOpenClawCompatibility,
248
- classifyQuestion,
545
+ checkPeerClawVault,
546
+ compareManifests,
249
547
  compatCommand,
250
548
  compatibilityExitCode,
251
549
  completeTask,
550
+ configureTailscaleServe,
252
551
  contextCommand,
552
+ cosineSimilarity,
253
553
  countBlockedTransitions,
554
+ createDefaultAdapter,
555
+ createFactExtractionAdapter,
556
+ createGeminiFlashAdapter,
557
+ createLlmFunction,
254
558
  createProject,
255
559
  createVault,
256
560
  deterministicInjectMatches,
561
+ discoverClawVaultPeers,
257
562
  doctor,
563
+ embed,
564
+ embedBatch,
258
565
  embedCommand,
259
- entitySimilarity,
260
566
  extractCardSlug,
261
- extractDates,
262
- extractEntities,
263
- extractPreferences,
567
+ extractFactsLlm,
568
+ extractFactsRuleBased,
264
569
  extractTags,
265
570
  extractWikiLinks,
266
- filterSuperseded,
571
+ factId,
572
+ fetchRemoteFile,
573
+ fetchRemoteManifest,
267
574
  findNearestVaultPath,
575
+ findPeer,
268
576
  findVault,
269
577
  formatContextMarkdown,
270
578
  formatKanbanCard,
271
579
  formatSessionRecapMarkdown,
272
580
  formatTransitionsTable,
273
581
  generateKanbanMarkdown,
582
+ generateVaultManifest,
274
583
  getConfig,
275
584
  getConfigValue,
276
585
  getMemoryGraph,
277
586
  getObserverStaleness,
587
+ getOnlinePeers,
278
588
  getProjectActivity,
279
589
  getProjectTasks,
590
+ getQmdErrorDetails,
280
591
  getScaledObservationThresholdBytes,
281
- getSupersessionInfo,
592
+ getTailscaleStatus,
593
+ getTailscaleVersion,
282
594
  getVaultPath,
283
595
  graphCommand,
284
596
  graphSummary,
285
597
  hasQmd,
598
+ hasTailscale,
599
+ hybridSearch,
286
600
  importKanbanBoard,
287
601
  indexInjectableItems,
288
602
  inferContextProfile,
289
603
  injectCommand,
290
- isKnowledgeUpdate,
291
604
  isRegression,
292
- isSuperseded,
293
605
  kanbanCommand,
294
606
  listConfig,
295
607
  listDependentTasks,
@@ -298,20 +610,25 @@ export {
298
610
  listSubtasks,
299
611
  loadMemoryGraphIndex,
300
612
  matchRouteRule,
613
+ migrate,
614
+ migrateCommand,
301
615
  migrateObservations,
302
616
  migrateObservationsCommand,
303
617
  normalizeContextProfileInput,
618
+ normalizeEntity,
304
619
  observeActiveSessions,
305
620
  observeCommand,
306
621
  parseKanbanMarkdown,
307
622
  parseSessionFile,
308
623
  parseSessionSourceLabel,
624
+ pushFileToRemote,
309
625
  qmdEmbed,
310
626
  qmdUpdate,
311
627
  queryTransitions,
312
628
  readAllTransitions,
313
629
  readProject,
314
630
  rebuildCommand,
631
+ reciprocalRankFusion,
315
632
  reflectCommand,
316
633
  registerArchiveCommand,
317
634
  registerCliCommands,
@@ -319,30 +636,43 @@ export {
319
636
  registerContextCommand,
320
637
  registerEmbedCommand,
321
638
  registerInjectCommand,
639
+ registerMigrateCommand,
322
640
  registerMigrateObservationsCommand,
323
641
  registerObserveCommand,
324
642
  registerRebuildCommand,
325
643
  registerReflectCommand,
326
644
  registerReplayCommand,
327
- registerReweaveCommand,
645
+ registerSyncBdCommand,
646
+ registerTailscaleCommands,
647
+ registerTailscaleDiscoverCommand,
648
+ registerTailscaleServeCommand,
649
+ registerTailscaleStatusCommand,
650
+ registerTailscaleSyncCommand,
328
651
  removeRouteRule,
329
652
  renderTemplate,
330
653
  replayCommand,
331
654
  requestLlmCompletion,
332
655
  resetConfig,
333
656
  resolveContextProfile,
657
+ resolveFactExtractionMode,
334
658
  resolveLlmProvider,
659
+ resolvePeerIP,
335
660
  resolveVaultPath,
336
- reweave,
337
- reweaveCommand,
338
661
  runPromptInjection,
339
662
  runReflection,
340
- sentenceChunk,
663
+ semanticSearch,
664
+ serveVault,
341
665
  sessionRecapCommand,
342
666
  setConfigValue,
343
667
  setupCommand,
344
- stripSupersededObservations,
668
+ stopTailscaleServe,
669
+ syncBdCommand,
345
670
  syncKanbanBoard,
671
+ syncWithPeer,
672
+ tailscaleDiscoverCommand,
673
+ tailscaleServeCommand,
674
+ tailscaleStatusCommand,
675
+ tailscaleSyncCommand,
346
676
  testRouteRule,
347
677
  updateProject,
348
678
  updateTask