volute 0.30.1 → 0.31.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 (169) hide show
  1. package/dist/{accept-E3PAH3QJ.js → accept-GAKQ3MEH.js} +4 -4
  2. package/dist/{activity-events-BKBPPUBP.js → activity-events-T5ZRCVAL.js} +2 -2
  3. package/dist/{ai-service-VAJT5UBS.js → ai-service-UWUPM4T6.js} +5 -3
  4. package/dist/api.d.ts +238 -111
  5. package/dist/{archive-WWDBWYN2.js → archive-YBNSJYZZ.js} +2 -2
  6. package/dist/auth-T5AW2USD.js +43 -0
  7. package/dist/{bridge-RO37CUFM.js → bridge-4AJ3EY26.js} +4 -4
  8. package/dist/{chat-TCUNPFGO.js → chat-7YLT7FI3.js} +8 -8
  9. package/dist/{chunk-EFVHR7KH.js → chunk-4OUOFS23.js} +24 -5
  10. package/dist/{chunk-G3GBKZGG.js → chunk-57OKQMP3.js} +54 -2
  11. package/dist/chunk-6QIUN46C.js +38 -0
  12. package/dist/{chunk-FSM45XD5.js → chunk-AAO77TZX.js} +1 -1
  13. package/dist/{chunk-DTC6EH5I.js → chunk-BC3P3QCK.js} +1 -1
  14. package/dist/{chunk-P7VFDSSG.js → chunk-BNC43CSY.js} +2 -2
  15. package/dist/{chunk-QVAQ5454.js → chunk-BWKIHH7B.js} +3080 -2099
  16. package/dist/{chunk-IKHDUZRH.js → chunk-DAXJKPHZ.js} +2 -2
  17. package/dist/{chunk-P27RV5WM.js → chunk-EKDWA7E4.js} +3 -1
  18. package/dist/{chunk-S5LR3XYJ.js → chunk-EMPFLFTG.js} +1 -1
  19. package/dist/{chunk-2C2VXEBB.js → chunk-FAHDKPEH.js} +18 -56
  20. package/dist/{chunk-W5OOPLNP.js → chunk-HDKY4TWU.js} +3 -3
  21. package/dist/{chunk-EFP3PE6C.js → chunk-HR5JKIDG.js} +2 -12
  22. package/dist/{chunk-JGFRDMR6.js → chunk-LX6T3GKQ.js} +1 -1
  23. package/dist/{chunk-2NDZC3S7.js → chunk-NOWVQ7AL.js} +447 -299
  24. package/dist/{chunk-ZWKTUQEL.js → chunk-NV3TYNWX.js} +1 -1
  25. package/dist/{chunk-NSBFETWP.js → chunk-PNQCXLSV.js} +7 -26
  26. package/dist/chunk-R5QJBZZG.js +175 -0
  27. package/dist/{chunk-MDPCSXZ4.js → chunk-S2TZLSDH.js} +4 -4
  28. package/dist/{chunk-FXHXHI2A.js → chunk-SNVPRRT7.js} +3 -6
  29. package/dist/{chunk-UPA6COHU.js → chunk-WRS3B556.js} +5 -5
  30. package/dist/{chunk-HHTXM4JT.js → chunk-X62AXPR7.js} +36 -4
  31. package/dist/cli.js +74 -23
  32. package/dist/{clock-G3ALCMLJ.js → clock-LJCG426D.js} +10 -8
  33. package/dist/{cloud-sync-JV4LJOK3.js → cloud-sync-O3LXIRN6.js} +13 -13
  34. package/dist/{conversations-7KVQV7EZ.js → conversations-RKKGP5IA.js} +7 -7
  35. package/dist/{create-VQSQHJQW.js → create-TL623TFC.js} +1 -1
  36. package/dist/{create-JTLS7GX3.js → create-WUTIIRI2.js} +4 -4
  37. package/dist/daemon-client-CVGM25DM.js +11 -0
  38. package/dist/{daemon-restart-4JGBHEJ4.js → daemon-restart-EZP7XH3V.js} +6 -7
  39. package/dist/daemon.js +1879 -1727
  40. package/dist/{db-HMFPIRO2.js → db-SW5PL6QA.js} +1 -1
  41. package/dist/{delete-JESHKE7F.js → delete-Z6HAG35F.js} +1 -1
  42. package/dist/down-TS4XQBA4.js +13 -0
  43. package/dist/{env-CLXXT7M2.js → env-NHESNNSP.js} +4 -4
  44. package/dist/{export-EGA5M5PB.js → export-EVMP7GWY.js} +3 -3
  45. package/dist/{extension-WZ4SUPJB.js → extension-LR7EW3JF.js} +5 -6
  46. package/dist/{extensions-ECO4RPFQ.js → extensions-NGEJI7JH.js} +7 -7
  47. package/dist/{files-4VEJDASH.js → files-3SM7V33S.js} +5 -5
  48. package/dist/{history-EJMMLXDO.js → history-PQD3LXEP.js} +4 -4
  49. package/dist/{import-YCGPMBSI.js → import-PR2OCGQJ.js} +3 -3
  50. package/dist/{join-2GBJKZEN.js → join-R4EN5CWQ.js} +1 -1
  51. package/dist/{list-Q6O7FGAN.js → list-B4XNUOFO.js} +4 -4
  52. package/dist/{login-RL6AU2SM.js → login-62JVY6A2.js} +4 -4
  53. package/dist/{login-RET5WESK.js → login-URWP6S2N.js} +2 -2
  54. package/dist/{logout-CGAGJN3L.js → logout-NXJQJDLI.js} +2 -2
  55. package/dist/{logout-JRPBEMMR.js → logout-ZK2N62T3.js} +2 -2
  56. package/dist/message-delivery-UJHCLVU4.js +30 -0
  57. package/dist/{mind-LUWRQUQ5.js → mind-E2ZV2WRX.js} +17 -17
  58. package/dist/{mind-activity-tracker-VYN2ZZ2M.js → mind-activity-tracker-ASNZBMLC.js} +3 -3
  59. package/dist/{mind-list-V5WW5DUA.js → mind-list-BEI7E5WY.js} +2 -2
  60. package/dist/mind-manager-IPA6DZXD.js +26 -0
  61. package/dist/{mind-sleep-R6PTNNW4.js → mind-sleep-CANABWJI.js} +4 -4
  62. package/dist/{mind-status-I4ISFJ6I.js → mind-status-6WKZVUOP.js} +2 -2
  63. package/dist/{mind-wake-67ZQEWAV.js → mind-wake-RZKLH2IN.js} +4 -4
  64. package/dist/{package-OYUD4ZJ4.js → package-NU4CA7OU.js} +3 -3
  65. package/dist/{pages-watcher-Z3PKNROC.js → pages-watcher-72OVPRMH.js} +4 -3
  66. package/dist/read-THL362EI.js +74 -0
  67. package/dist/{register-NZDSTLP3.js → register-QAQELAS6.js} +4 -4
  68. package/dist/{registry-ODSALQQL.js → registry-ASXCQCNH.js} +1 -1
  69. package/dist/{reject-2HZOJEIJ.js → reject-AYPBNPNL.js} +4 -4
  70. package/dist/{restart-QHS3NT64.js → restart-6SKPV3T2.js} +4 -4
  71. package/dist/{sandbox-O5FUSF43.js → sandbox-6ZEWQDVU.js} +3 -3
  72. package/dist/{seed-WUQMPLDM.js → seed-OWX2AW75.js} +36 -12
  73. package/dist/{send-OAN3RYYY.js → send-ZO4BTWXK.js} +5 -5
  74. package/dist/{setup-QMDK5RZX.js → setup-7CFITEQN.js} +2 -4
  75. package/dist/{setup-XJH3E7YM.js → setup-ZXBXG7E4.js} +6 -8
  76. package/dist/{skill-FZIN4W4Q.js → skill-YFXP67A2.js} +4 -4
  77. package/dist/skills/dreaming/references/INSTALL.md +2 -3
  78. package/dist/skills/dreaming/scripts/dream.ts +3 -25
  79. package/dist/skills/volute-mind/SKILL.md +1 -1
  80. package/dist/sleep-manager-TPS6OGCA.js +30 -0
  81. package/dist/{split-EXYGGGQN.js → split-MI62KJUU.js} +1 -1
  82. package/dist/{sprout-AXQ6H5DB.js → sprout-FDVI2CGN.js} +5 -6
  83. package/dist/{start-MTOVL6SY.js → start-D64BRKPH.js} +4 -4
  84. package/dist/{status-ZRO37MWR.js → status-ZZWBYFGE.js} +4 -5
  85. package/dist/{stop-OK5WEPVC.js → stop-OP2CTXCO.js} +4 -4
  86. package/dist/system-chat-B43GIXQU.js +30 -0
  87. package/dist/{systems-W3BBMSOZ.js → systems-EQPPT4B7.js} +5 -5
  88. package/dist/{tailscale-BM72RXCJ.js → tailscale-6DJKUMNF.js} +1 -1
  89. package/dist/up-TDXEP3VA.js +16 -0
  90. package/dist/{update-PLPHMMZ2.js → update-KUJXATRS.js} +4 -5
  91. package/dist/{update-check-CVCN7MF6.js → update-check-5WVSU37T.js} +2 -2
  92. package/dist/{upgrade-I6NPCYUU.js → upgrade-KBHCWX6T.js} +1 -1
  93. package/dist/{version-notify-2NTWVEHL.js → version-notify-75ELVKPV.js} +17 -21
  94. package/dist/web-assets/assets/index-BM1cTzBg.js +72 -0
  95. package/dist/web-assets/assets/index-BfJkKTPF.css +1 -0
  96. package/dist/web-assets/ext-theme.css +1 -0
  97. package/dist/web-assets/index.html +2 -2
  98. package/drizzle/0000_baseline.sql +152 -0
  99. package/drizzle/0001_add_conversation_private.sql +1 -0
  100. package/drizzle/0002_turns.sql +21 -0
  101. package/drizzle/0003_turn_feed_links.sql +11 -0
  102. package/drizzle/meta/0000_snapshot.json +3 -223
  103. package/drizzle/meta/0001_snapshot.json +3 -294
  104. package/drizzle/meta/0002_snapshot.json +3 -335
  105. package/drizzle/meta/0003_snapshot.json +3 -413
  106. package/drizzle/meta/_journal.json +8 -106
  107. package/package.json +3 -3
  108. package/packages/extensions/notes/dist/ui/assets/{index-DgawVO5g.css → index-B8GdTnXs.css} +1 -1
  109. package/packages/extensions/notes/dist/ui/assets/index-CDpGTCWb.js +2 -0
  110. package/packages/extensions/notes/dist/ui/index.html +2 -2
  111. package/packages/extensions/notes/skills/notes/SKILL.md +8 -8
  112. package/packages/extensions/pages/skills/pages/SKILL.md +7 -4
  113. package/packages/extensions/pages/skills/pages/scripts/pages.mjs +58 -0
  114. package/templates/_base/.init/.config/bin/volute +27 -0
  115. package/templates/_base/src/lib/auto-commit.ts +82 -43
  116. package/templates/_base/src/lib/daemon-client.ts +19 -23
  117. package/templates/_base/src/lib/router.ts +17 -1
  118. package/templates/_base/src/lib/startup.ts +6 -8
  119. package/templates/_base/src/lib/volute-server.ts +2 -5
  120. package/templates/claude/src/agent.ts +2 -1
  121. package/templates/claude/src/lib/hooks/auto-commit.ts +7 -3
  122. package/templates/claude/src/server.ts +0 -9
  123. package/templates/pi/package.json.tmpl +1 -1
  124. package/templates/pi/src/agent.ts +1 -1
  125. package/templates/pi/src/lib/event-handler.ts +5 -3
  126. package/dist/chunk-7D47T4RB.js +0 -84
  127. package/dist/chunk-CVH6Y2YG.js +0 -59
  128. package/dist/chunk-LIRWLNAK.js +0 -729
  129. package/dist/daemon-client-BCTFGVCZ.js +0 -9
  130. package/dist/down-NGBMGORS.js +0 -14
  131. package/dist/message-delivery-6YMVNOEC.js +0 -28
  132. package/dist/migrate-registry-to-db-FK35IPEH.js +0 -110
  133. package/dist/mind-manager-YFCOIAAX.js +0 -18
  134. package/dist/read-WQMPTSN2.js +0 -46
  135. package/dist/sleep-manager-O7YQFCV5.js +0 -30
  136. package/dist/up-BXUAIDXB.js +0 -17
  137. package/dist/web-assets/assets/index--kREqKl9.js +0 -72
  138. package/dist/web-assets/assets/index-BXYTG0nJ.css +0 -1
  139. package/drizzle/0000_flaky_mariko_yashida.sql +0 -34
  140. package/drizzle/0001_careless_warpath.sql +0 -12
  141. package/drizzle/0002_wealthy_the_call.sql +0 -6
  142. package/drizzle/0003_clean_ego.sql +0 -12
  143. package/drizzle/0004_magical_silverclaw.sql +0 -1
  144. package/drizzle/0005_rename_agents_to_minds.sql +0 -11
  145. package/drizzle/0006_mind_history.sql +0 -20
  146. package/drizzle/0007_system_prompts.sql +0 -5
  147. package/drizzle/0008_volute_channels.sql +0 -24
  148. package/drizzle/0009_shared_skills.sql +0 -9
  149. package/drizzle/0010_delivery_queue.sql +0 -12
  150. package/drizzle/0011_rename_human_to_brain.sql +0 -1
  151. package/drizzle/0012_activity.sql +0 -11
  152. package/drizzle/0013_user_profiles.sql +0 -3
  153. package/drizzle/0014_conversation_reads.sql +0 -7
  154. package/drizzle/0015_notes.sql +0 -23
  155. package/drizzle/0016_note_reactions_and_replies.sql +0 -15
  156. package/drizzle/0017_minds.sql +0 -16
  157. package/drizzle/meta/0004_snapshot.json +0 -410
  158. package/drizzle/meta/0005_snapshot.json +0 -410
  159. package/drizzle/meta/0006_snapshot.json +0 -7
  160. package/drizzle/meta/0007_snapshot.json +0 -7
  161. package/drizzle/meta/0008_snapshot.json +0 -7
  162. package/drizzle/meta/0009_snapshot.json +0 -7
  163. package/drizzle/meta/0010_snapshot.json +0 -7
  164. package/drizzle/meta/0011_snapshot.json +0 -7
  165. package/drizzle/meta/0012_snapshot.json +0 -7
  166. package/drizzle/meta/0013_snapshot.json +0 -7
  167. package/packages/extensions/notes/dist/ui/assets/index-qUWoeC4c.js +0 -2
  168. package/packages/extensions/notes/skills/notes/scripts/notes.mjs +0 -185
  169. package/templates/_base/home/public/.gitkeep +0 -0
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getDb
4
- } from "./chunk-HHTXM4JT.js";
4
+ } from "./chunk-X62AXPR7.js";
5
5
  import "./chunk-K3NQKI34.js";
6
6
  export {
7
7
  getDb
@@ -13,7 +13,7 @@ async function run(args) {
13
13
  force: { type: "boolean" }
14
14
  });
15
15
  const name = resolveMindName({ mind: positional[0] });
16
- const { daemonFetch } = await import("./daemon-client-BCTFGVCZ.js");
16
+ const { daemonFetch } = await import("./daemon-client-CVGM25DM.js");
17
17
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
18
18
  const client = getClient();
19
19
  const url = urlOf(client.api.minds[":name"].$url({ param: { name } })) + (flags.force ? "?force=true" : "");
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ run,
4
+ stopDaemon
5
+ } from "./chunk-BNC43CSY.js";
6
+ import "./chunk-SNVPRRT7.js";
7
+ import "./chunk-57OKQMP3.js";
8
+ import "./chunk-X62AXPR7.js";
9
+ import "./chunk-K3NQKI34.js";
10
+ export {
11
+ run,
12
+ stopDaemon
13
+ };
@@ -2,9 +2,6 @@
2
2
  import {
3
3
  promptLine
4
4
  } from "./chunk-SSI47XP2.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-EFVHR7KH.js";
8
5
  import {
9
6
  getClient,
10
7
  urlOf
@@ -12,7 +9,10 @@ import {
12
9
  import {
13
10
  parseArgs
14
11
  } from "./chunk-D424ZQGI.js";
15
- import "./chunk-HHTXM4JT.js";
12
+ import {
13
+ daemonFetch
14
+ } from "./chunk-4OUOFS23.js";
15
+ import "./chunk-X62AXPR7.js";
16
16
  import "./chunk-K3NQKI34.js";
17
17
 
18
18
  // src/commands/env.ts
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  addHistoryToArchive,
4
4
  createExportArchive
5
- } from "./chunk-DTC6EH5I.js";
5
+ } from "./chunk-BC3P3QCK.js";
6
6
  import {
7
7
  parseArgs
8
8
  } from "./chunk-D424ZQGI.js";
9
9
  import {
10
10
  findMind,
11
11
  mindDir
12
- } from "./chunk-HHTXM4JT.js";
12
+ } from "./chunk-X62AXPR7.js";
13
13
  import "./chunk-K3NQKI34.js";
14
14
 
15
15
  // src/commands/export.ts
@@ -63,7 +63,7 @@ async function run(args) {
63
63
  });
64
64
  if (includeHistory) {
65
65
  try {
66
- const { daemonFetch } = await import("./daemon-client-BCTFGVCZ.js");
66
+ const { daemonFetch } = await import("./daemon-client-CVGM25DM.js");
67
67
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
68
68
  const client = getClient();
69
69
  const res = await daemonFetch(
@@ -1,12 +1,11 @@
1
1
  #!/usr/bin/env node
2
- import {
3
- daemonFetch
4
- } from "./chunk-EFVHR7KH.js";
5
2
  import {
6
3
  exec
7
- } from "./chunk-CVH6Y2YG.js";
8
- import "./chunk-G3GBKZGG.js";
9
- import "./chunk-HHTXM4JT.js";
4
+ } from "./chunk-57OKQMP3.js";
5
+ import {
6
+ daemonFetch
7
+ } from "./chunk-4OUOFS23.js";
8
+ import "./chunk-X62AXPR7.js";
10
9
  import "./chunk-K3NQKI34.js";
11
10
 
12
11
  // src/commands/extension.ts
@@ -7,14 +7,14 @@ import {
7
7
  notifyExtensionsDaemonStop,
8
8
  notifyExtensionsMindStart,
9
9
  notifyExtensionsMindStop
10
- } from "./chunk-2NDZC3S7.js";
11
- import "./chunk-P27RV5WM.js";
12
- import "./chunk-MDPCSXZ4.js";
10
+ } from "./chunk-NOWVQ7AL.js";
11
+ import "./chunk-R5QJBZZG.js";
12
+ import "./chunk-EKDWA7E4.js";
13
+ import "./chunk-S2TZLSDH.js";
13
14
  import "./chunk-YUIHSKR6.js";
14
- import "./chunk-CVH6Y2YG.js";
15
- import "./chunk-G3GBKZGG.js";
16
- import "./chunk-7D47T4RB.js";
17
- import "./chunk-HHTXM4JT.js";
15
+ import "./chunk-57OKQMP3.js";
16
+ import "./chunk-6QIUN46C.js";
17
+ import "./chunk-X62AXPR7.js";
18
18
  import "./chunk-K3NQKI34.js";
19
19
  export {
20
20
  getExtensionStandardSkills,
@@ -2,16 +2,16 @@
2
2
  import {
3
3
  resolveMindName
4
4
  } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-EFVHR7KH.js";
8
5
  import {
9
6
  formatFileSize
10
- } from "./chunk-JGFRDMR6.js";
7
+ } from "./chunk-LX6T3GKQ.js";
11
8
  import {
12
9
  parseArgs
13
10
  } from "./chunk-D424ZQGI.js";
14
- import "./chunk-HHTXM4JT.js";
11
+ import {
12
+ daemonFetch
13
+ } from "./chunk-4OUOFS23.js";
14
+ import "./chunk-X62AXPR7.js";
15
15
  import "./chunk-K3NQKI34.js";
16
16
 
17
17
  // src/commands/chat/files.ts
@@ -2,9 +2,6 @@
2
2
  import {
3
3
  resolveMindName
4
4
  } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-EFVHR7KH.js";
8
5
  import {
9
6
  getClient,
10
7
  urlOf
@@ -12,7 +9,10 @@ import {
12
9
  import {
13
10
  parseArgs
14
11
  } from "./chunk-D424ZQGI.js";
15
- import "./chunk-HHTXM4JT.js";
12
+ import {
13
+ daemonFetch
14
+ } from "./chunk-4OUOFS23.js";
15
+ import "./chunk-X62AXPR7.js";
16
16
  import "./chunk-K3NQKI34.js";
17
17
 
18
18
  // src/commands/history.ts
@@ -6,11 +6,11 @@ import {
6
6
  parseNameFromIdentity,
7
7
  run,
8
8
  sessionMatchesWorkspace
9
- } from "./chunk-UPA6COHU.js";
10
- import "./chunk-ZWKTUQEL.js";
9
+ } from "./chunk-WRS3B556.js";
10
+ import "./chunk-NV3TYNWX.js";
11
11
  import "./chunk-YUIHSKR6.js";
12
12
  import "./chunk-D424ZQGI.js";
13
- import "./chunk-HHTXM4JT.js";
13
+ import "./chunk-X62AXPR7.js";
14
14
  import "./chunk-K3NQKI34.js";
15
15
  export {
16
16
  findOpenClawSession,
@@ -20,7 +20,7 @@ async function run(args) {
20
20
  process.exit(1);
21
21
  }
22
22
  console.log(`Joining variant ${variantName}...`);
23
- const { daemonFetch } = await import("./daemon-client-BCTFGVCZ.js");
23
+ const { daemonFetch } = await import("./daemon-client-CVGM25DM.js");
24
24
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
25
25
  const client = getClient();
26
26
  const statusRes = await daemonFetch(
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  resolveMindName
4
4
  } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-EFVHR7KH.js";
8
5
  import {
9
6
  parseArgs
10
7
  } from "./chunk-D424ZQGI.js";
11
- import "./chunk-HHTXM4JT.js";
8
+ import {
9
+ daemonFetch
10
+ } from "./chunk-4OUOFS23.js";
11
+ import "./chunk-X62AXPR7.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
 
14
14
  // src/commands/chat/list.ts
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  promptLine
4
4
  } from "./chunk-SSI47XP2.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-EFVHR7KH.js";
8
5
  import {
9
6
  parseArgs
10
7
  } from "./chunk-D424ZQGI.js";
11
- import "./chunk-HHTXM4JT.js";
8
+ import {
9
+ daemonFetch
10
+ } from "./chunk-4OUOFS23.js";
11
+ import "./chunk-X62AXPR7.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
 
14
14
  // src/commands/systems/login.ts
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-SSI47XP2.js";
6
6
  import {
7
7
  daemonFetch
8
- } from "./chunk-EFVHR7KH.js";
8
+ } from "./chunk-4OUOFS23.js";
9
9
  import {
10
10
  voluteUserHome
11
- } from "./chunk-HHTXM4JT.js";
11
+ } from "./chunk-X62AXPR7.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
 
14
14
  // src/commands/login.ts
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  daemonFetch
4
- } from "./chunk-EFVHR7KH.js";
4
+ } from "./chunk-4OUOFS23.js";
5
5
  import {
6
6
  voluteUserHome
7
- } from "./chunk-HHTXM4JT.js";
7
+ } from "./chunk-X62AXPR7.js";
8
8
  import "./chunk-K3NQKI34.js";
9
9
 
10
10
  // src/commands/logout.ts
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  daemonFetch
4
- } from "./chunk-EFVHR7KH.js";
5
- import "./chunk-HHTXM4JT.js";
4
+ } from "./chunk-4OUOFS23.js";
5
+ import "./chunk-X62AXPR7.js";
6
6
  import "./chunk-K3NQKI34.js";
7
7
 
8
8
  // src/commands/systems/logout.ts
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ deliverMessage,
4
+ recordInbound,
5
+ resolveSleepAction,
6
+ tagRecentInbound,
7
+ tagUntaggedInbound
8
+ } from "./chunk-BWKIHH7B.js";
9
+ import "./chunk-FAHDKPEH.js";
10
+ import "./chunk-DAXJKPHZ.js";
11
+ import "./chunk-AAO77TZX.js";
12
+ import "./chunk-NOWVQ7AL.js";
13
+ import "./chunk-R5QJBZZG.js";
14
+ import "./chunk-EKDWA7E4.js";
15
+ import "./chunk-S2TZLSDH.js";
16
+ import "./chunk-NV3TYNWX.js";
17
+ import "./chunk-PNQCXLSV.js";
18
+ import "./chunk-YUIHSKR6.js";
19
+ import "./chunk-57OKQMP3.js";
20
+ import "./chunk-6QIUN46C.js";
21
+ import "./chunk-A6TUJJ3L.js";
22
+ import "./chunk-X62AXPR7.js";
23
+ import "./chunk-K3NQKI34.js";
24
+ export {
25
+ deliverMessage,
26
+ recordInbound,
27
+ resolveSleepAction,
28
+ tagRecentInbound,
29
+ tagUntaggedInbound
30
+ };
@@ -6,58 +6,58 @@ async function run(args) {
6
6
  const subcommand = args[0];
7
7
  switch (subcommand) {
8
8
  case "create":
9
- await import("./create-VQSQHJQW.js").then((m) => m.run(args.slice(1)));
9
+ await import("./create-TL623TFC.js").then((m) => m.run(args.slice(1)));
10
10
  break;
11
11
  case "start":
12
- await import("./start-MTOVL6SY.js").then((m) => m.run(args.slice(1)));
12
+ await import("./start-D64BRKPH.js").then((m) => m.run(args.slice(1)));
13
13
  break;
14
14
  case "stop":
15
- await import("./stop-OK5WEPVC.js").then((m) => m.run(args.slice(1)));
15
+ await import("./stop-OP2CTXCO.js").then((m) => m.run(args.slice(1)));
16
16
  break;
17
17
  case "restart":
18
- await import("./restart-QHS3NT64.js").then((m) => m.run(args.slice(1)));
18
+ await import("./restart-6SKPV3T2.js").then((m) => m.run(args.slice(1)));
19
19
  break;
20
20
  case "delete":
21
- await import("./delete-JESHKE7F.js").then((m) => m.run(args.slice(1)));
21
+ await import("./delete-Z6HAG35F.js").then((m) => m.run(args.slice(1)));
22
22
  break;
23
23
  case "list":
24
- await import("./mind-list-V5WW5DUA.js").then((m) => m.run(args.slice(1)));
24
+ await import("./mind-list-BEI7E5WY.js").then((m) => m.run(args.slice(1)));
25
25
  break;
26
26
  case "status":
27
- await import("./mind-status-I4ISFJ6I.js").then((m) => m.run(args.slice(1)));
27
+ await import("./mind-status-6WKZVUOP.js").then((m) => m.run(args.slice(1)));
28
28
  break;
29
29
  case "history": {
30
30
  const rest = args.slice(1);
31
31
  const historyArgs = transformMindFlag(rest);
32
- await import("./history-EJMMLXDO.js").then((m) => m.run(historyArgs));
32
+ await import("./history-PQD3LXEP.js").then((m) => m.run(historyArgs));
33
33
  break;
34
34
  }
35
35
  case "upgrade":
36
- await import("./upgrade-I6NPCYUU.js").then((m) => m.run(args.slice(1)));
36
+ await import("./upgrade-KBHCWX6T.js").then((m) => m.run(args.slice(1)));
37
37
  break;
38
38
  case "import":
39
- await import("./import-YCGPMBSI.js").then((m) => m.run(args.slice(1)));
39
+ await import("./import-PR2OCGQJ.js").then((m) => m.run(args.slice(1)));
40
40
  break;
41
41
  case "export":
42
- await import("./export-EGA5M5PB.js").then((m) => m.run(args.slice(1)));
42
+ await import("./export-EVMP7GWY.js").then((m) => m.run(args.slice(1)));
43
43
  break;
44
44
  case "seed":
45
- await import("./seed-WUQMPLDM.js").then((m) => m.run(args.slice(1)));
45
+ await import("./seed-OWX2AW75.js").then((m) => m.run(args.slice(1)));
46
46
  break;
47
47
  case "sprout":
48
- await import("./sprout-AXQ6H5DB.js").then((m) => m.run(args.slice(1)));
48
+ await import("./sprout-FDVI2CGN.js").then((m) => m.run(args.slice(1)));
49
49
  break;
50
50
  case "sleep":
51
- await import("./mind-sleep-R6PTNNW4.js").then((m) => m.run(args.slice(1)));
51
+ await import("./mind-sleep-CANABWJI.js").then((m) => m.run(args.slice(1)));
52
52
  break;
53
53
  case "wake":
54
- await import("./mind-wake-67ZQEWAV.js").then((m) => m.run(args.slice(1)));
54
+ await import("./mind-wake-RZKLH2IN.js").then((m) => m.run(args.slice(1)));
55
55
  break;
56
56
  case "split":
57
- await import("./split-EXYGGGQN.js").then((m) => m.run(args.slice(1)));
57
+ await import("./split-MI62KJUU.js").then((m) => m.run(args.slice(1)));
58
58
  break;
59
59
  case "join":
60
- await import("./join-2GBJKZEN.js").then((m) => m.run(args.slice(1)));
60
+ await import("./join-R4EN5CWQ.js").then((m) => m.run(args.slice(1)));
61
61
  break;
62
62
  case "--help":
63
63
  case "-h":
@@ -4,10 +4,10 @@ import {
4
4
  markIdle,
5
5
  onMindEvent,
6
6
  stopAll
7
- } from "./chunk-FSM45XD5.js";
8
- import "./chunk-P27RV5WM.js";
7
+ } from "./chunk-AAO77TZX.js";
8
+ import "./chunk-EKDWA7E4.js";
9
9
  import "./chunk-YUIHSKR6.js";
10
- import "./chunk-HHTXM4JT.js";
10
+ import "./chunk-X62AXPR7.js";
11
11
  import "./chunk-K3NQKI34.js";
12
12
  export {
13
13
  getActiveMinds,
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  daemonFetch
4
- } from "./chunk-EFVHR7KH.js";
5
- import "./chunk-HHTXM4JT.js";
4
+ } from "./chunk-4OUOFS23.js";
5
+ import "./chunk-X62AXPR7.js";
6
6
  import "./chunk-K3NQKI34.js";
7
7
 
8
8
  // src/commands/mind-list.ts
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ MindManager,
4
+ getMindManager,
5
+ initMindManager
6
+ } from "./chunk-BWKIHH7B.js";
7
+ import "./chunk-FAHDKPEH.js";
8
+ import "./chunk-DAXJKPHZ.js";
9
+ import "./chunk-AAO77TZX.js";
10
+ import "./chunk-NOWVQ7AL.js";
11
+ import "./chunk-R5QJBZZG.js";
12
+ import "./chunk-EKDWA7E4.js";
13
+ import "./chunk-S2TZLSDH.js";
14
+ import "./chunk-NV3TYNWX.js";
15
+ import "./chunk-PNQCXLSV.js";
16
+ import "./chunk-YUIHSKR6.js";
17
+ import "./chunk-57OKQMP3.js";
18
+ import "./chunk-6QIUN46C.js";
19
+ import "./chunk-A6TUJJ3L.js";
20
+ import "./chunk-X62AXPR7.js";
21
+ import "./chunk-K3NQKI34.js";
22
+ export {
23
+ MindManager,
24
+ getMindManager,
25
+ initMindManager
26
+ };
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  resolveMindName
4
4
  } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-EFVHR7KH.js";
8
5
  import {
9
6
  parseArgs
10
7
  } from "./chunk-D424ZQGI.js";
11
- import "./chunk-HHTXM4JT.js";
8
+ import {
9
+ daemonFetch
10
+ } from "./chunk-4OUOFS23.js";
11
+ import "./chunk-X62AXPR7.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
 
14
14
  // src/commands/mind-sleep.ts
@@ -4,8 +4,8 @@ import {
4
4
  } from "./chunk-NAOW2CLO.js";
5
5
  import {
6
6
  daemonFetch
7
- } from "./chunk-EFVHR7KH.js";
8
- import "./chunk-HHTXM4JT.js";
7
+ } from "./chunk-4OUOFS23.js";
8
+ import "./chunk-X62AXPR7.js";
9
9
  import "./chunk-K3NQKI34.js";
10
10
 
11
11
  // src/commands/mind-status.ts
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  resolveMindName
4
4
  } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-EFVHR7KH.js";
8
5
  import {
9
6
  parseArgs
10
7
  } from "./chunk-D424ZQGI.js";
11
- import "./chunk-HHTXM4JT.js";
8
+ import {
9
+ daemonFetch
10
+ } from "./chunk-4OUOFS23.js";
11
+ import "./chunk-X62AXPR7.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
 
14
14
  // src/commands/mind-wake.ts
@@ -4,7 +4,7 @@ import "./chunk-K3NQKI34.js";
4
4
  // package.json
5
5
  var package_default = {
6
6
  name: "volute",
7
- version: "0.30.1",
7
+ version: "0.31.0",
8
8
  description: "CLI for creating and managing self-modifying AI minds powered by the Claude Agent SDK",
9
9
  type: "module",
10
10
  license: "MIT",
@@ -70,6 +70,7 @@ var package_default = {
70
70
  "@hono/node-server": "^1.19.9",
71
71
  "@hono/zod-validator": "^0.7.6",
72
72
  "@libsql/client": "^0.17.0",
73
+ "@mariozechner/pi-ai": "^0.58.1",
73
74
  "@slack/bolt": "^4.6.0",
74
75
  "adm-zip": "^0.5.16",
75
76
  bcryptjs: "^3.0.3",
@@ -79,13 +80,12 @@ var package_default = {
79
80
  hono: "^4.11.7",
80
81
  libsql: "^0.5.22",
81
82
  telegraf: "^4.16.3",
82
- "@mariozechner/pi-ai": "^0.52.7",
83
83
  zod: "^4.3.6"
84
84
  },
85
85
  devDependencies: {
86
86
  "@anthropic-ai/claude-agent-sdk": "^0.2.34",
87
87
  "@biomejs/biome": "2.3.14",
88
- "@mariozechner/pi-coding-agent": "^0.52.7",
88
+ "@mariozechner/pi-coding-agent": "^0.58.1",
89
89
  "@sveltejs/vite-plugin-svelte": "^6.2.4",
90
90
  "@types/adm-zip": "^0.5.7",
91
91
  "@types/bcryptjs": "^2.4.6",
@@ -2,18 +2,19 @@
2
2
  import {
3
3
  getCachedRecentPages,
4
4
  getCachedSites,
5
+ invalidateCache,
5
6
  startSystemWatcher,
6
7
  startWatcher,
7
8
  stopAllWatchers,
8
9
  stopWatcher
9
- } from "./chunk-EFP3PE6C.js";
10
- import "./chunk-P27RV5WM.js";
10
+ } from "./chunk-HR5JKIDG.js";
11
11
  import "./chunk-YUIHSKR6.js";
12
- import "./chunk-HHTXM4JT.js";
12
+ import "./chunk-X62AXPR7.js";
13
13
  import "./chunk-K3NQKI34.js";
14
14
  export {
15
15
  getCachedRecentPages,
16
16
  getCachedSites,
17
+ invalidateCache,
17
18
  startSystemWatcher,
18
19
  startWatcher,
19
20
  stopAllWatchers,
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ resolveMindName
4
+ } from "./chunk-NAOW2CLO.js";
5
+ import {
6
+ parseArgs
7
+ } from "./chunk-D424ZQGI.js";
8
+ import {
9
+ daemonFetch
10
+ } from "./chunk-4OUOFS23.js";
11
+ import "./chunk-X62AXPR7.js";
12
+ import "./chunk-K3NQKI34.js";
13
+
14
+ // src/commands/chat/read.ts
15
+ async function resolveConversationId(mindName, input) {
16
+ if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(input)) {
17
+ return input;
18
+ }
19
+ const res = await daemonFetch(`/api/minds/${encodeURIComponent(mindName)}/conversations`);
20
+ if (!res.ok) {
21
+ return input;
22
+ }
23
+ const convs = await res.json();
24
+ const cleaned = input.replace(/^[@#]/, "");
25
+ const lower = cleaned.toLowerCase();
26
+ const channelMatch = convs.find((c) => c.type === "channel" && c.name?.toLowerCase() === lower);
27
+ if (channelMatch) return channelMatch.id;
28
+ const titleMatch = convs.find((c) => c.title?.toLowerCase() === lower);
29
+ if (titleMatch) return titleMatch.id;
30
+ const dmMatch = convs.find(
31
+ (c) => c.type === "dm" && c.title?.toLowerCase().split(/,\s*/).some((name) => name === lower)
32
+ );
33
+ if (dmMatch) return dmMatch.id;
34
+ const prefixMatch = convs.find((c) => c.id.startsWith(input));
35
+ if (prefixMatch) return prefixMatch.id;
36
+ return input;
37
+ }
38
+ async function run(args) {
39
+ const { positional, flags } = parseArgs(args, {
40
+ mind: { type: "string" },
41
+ limit: { type: "number" }
42
+ });
43
+ const input = positional[0];
44
+ if (!input) {
45
+ console.error("Usage: volute chat read <conversation> [--limit N] [--mind <name>]");
46
+ process.exit(1);
47
+ }
48
+ const mindName = resolveMindName(flags);
49
+ const conversationId = await resolveConversationId(mindName, input);
50
+ const limit = String(flags.limit ?? 50);
51
+ const res = await daemonFetch(
52
+ `/api/minds/${encodeURIComponent(mindName)}/conversations/${encodeURIComponent(conversationId)}/messages?limit=${limit}`
53
+ );
54
+ if (!res.ok) {
55
+ console.error(`Failed to read conversation: ${res.status}`);
56
+ process.exit(1);
57
+ }
58
+ const data = await res.json();
59
+ if (!Array.isArray(data.items)) {
60
+ console.error("Unexpected response format from server");
61
+ process.exit(1);
62
+ }
63
+ for (const msg of data.items) {
64
+ const sender = msg.sender_name ?? msg.role;
65
+ const text = Array.isArray(msg.content) ? msg.content.filter((b) => b.type === "text").map((b) => b.text).join("") : msg.content;
66
+ const time = new Date(
67
+ msg.created_at.endsWith("Z") ? msg.created_at : `${msg.created_at}Z`
68
+ ).toLocaleString();
69
+ console.log(`[${time}] ${sender}: ${text}`);
70
+ }
71
+ }
72
+ export {
73
+ run
74
+ };
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  promptLine
4
4
  } from "./chunk-SSI47XP2.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-EFVHR7KH.js";
8
5
  import {
9
6
  parseArgs
10
7
  } from "./chunk-D424ZQGI.js";
11
- import "./chunk-HHTXM4JT.js";
8
+ import {
9
+ daemonFetch
10
+ } from "./chunk-4OUOFS23.js";
11
+ import "./chunk-X62AXPR7.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
 
14
14
  // src/commands/systems/register.ts
@@ -21,7 +21,7 @@ import {
21
21
  voluteHome,
22
22
  voluteSystemDir,
23
23
  voluteUserHome
24
- } from "./chunk-HHTXM4JT.js";
24
+ } from "./chunk-X62AXPR7.js";
25
25
  import "./chunk-K3NQKI34.js";
26
26
  export {
27
27
  addMind,