volute 0.49.0 → 0.50.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 (210) hide show
  1. package/README.md +2 -2
  2. package/dist/{accept-KYNC5X3U.js → accept-5NK5XJB5.js} +2 -1
  3. package/dist/{activity-events-GJJAI2WT.js → activity-events-H7YI3BTF.js} +3 -3
  4. package/dist/{ai-service-A7FS7EC3.js → ai-service-V4CTNGI3.js} +5 -4
  5. package/dist/{archive-7E3YE6VF.js → archive-ORM3ENHI.js} +3 -3
  6. package/dist/{auth-ABYLOEZ7.js → auth-DT7GY7EZ.js} +10 -6
  7. package/dist/{avatar-image-6ATV2IOZ.js → avatar-image-QEPAP3A5.js} +3 -3
  8. package/dist/{backup-XYAMT4CU.js → backup-IE6PMXJO.js} +11 -12
  9. package/dist/{bridge-3FNSWLNQ.js → bridge-YK7NTRU5.js} +2 -1
  10. package/dist/{channels-SGQZHNQJ.js → channels-FSAHOQWI.js} +2 -1
  11. package/dist/{chat-OGXAEXMV.js → chat-W5K6HCBE.js} +9 -9
  12. package/dist/{chunk-3B427GUK.js → chunk-3BAFMGCJ.js} +2 -2
  13. package/dist/{chunk-4B62E4CG.js → chunk-4CN7OCJE.js} +2 -2
  14. package/dist/{chunk-VNRSXEBF.js → chunk-574M6I7F.js} +38 -5
  15. package/dist/{chunk-HCYQRME2.js → chunk-5FVANDON.js} +2 -2
  16. package/dist/{chunk-P4LHVRNE.js → chunk-5IIVOWSP.js} +27 -19
  17. package/dist/{chunk-TXJL36ZQ.js → chunk-5PKFJHCR.js} +2 -2
  18. package/dist/{chunk-JPGHSXSV.js → chunk-5TPC4KCV.js} +23 -9
  19. package/dist/{chunk-YIJGKHIS.js → chunk-632FJ23O.js} +24 -20
  20. package/dist/{chunk-IH5TKXX6.js → chunk-636GFQNE.js} +11 -11
  21. package/dist/{chunk-EFT2OALG.js → chunk-6BM2I736.js} +20 -5
  22. package/dist/{chunk-JCBPU57A.js → chunk-74T3CEXK.js} +6 -6
  23. package/dist/{chunk-EG5LSKHU.js → chunk-77IZUVBB.js} +2 -2
  24. package/dist/{chunk-K3JOLGWF.js → chunk-7DXLIYPY.js} +76 -63
  25. package/dist/chunk-7FDWPQCU.js +289 -0
  26. package/dist/chunk-7OZWKHA3.js +548 -0
  27. package/dist/{chunk-PY24ZL62.js → chunk-7UWXAJMK.js} +1 -1
  28. package/dist/{chunk-MG3Z34YE.js → chunk-7XDOTN4R.js} +1 -1
  29. package/dist/{chunk-SX72DOO3.js → chunk-AFSLNUTT.js} +1 -1
  30. package/dist/{chunk-DVN6DNMI.js → chunk-AJWFDIEY.js} +17 -2
  31. package/dist/chunk-ALIVXDM4.js +1014 -0
  32. package/dist/{chunk-RSBL3FAD.js → chunk-CAIYV33P.js} +234 -24
  33. package/dist/{chunk-ZX46PGCC.js → chunk-E5S3ILVA.js} +1 -1
  34. package/dist/{chunk-SHKM5RGD.js → chunk-EEOMA4DX.js} +1 -1
  35. package/dist/chunk-EQKSRVDE.js +2857 -0
  36. package/dist/chunk-FNJCBRD3.js +31 -0
  37. package/dist/{chunk-EADX54RG.js → chunk-HW6Q7AMB.js} +4 -4
  38. package/dist/chunk-JI67D7O2.js +1222 -0
  39. package/dist/{chunk-KHCKZ36O.js → chunk-KAEZOVP6.js} +1 -1
  40. package/dist/chunk-LNNI3MS4.js +54 -0
  41. package/dist/{chunk-BCG45AQB.js → chunk-M74I3HHF.js} +15 -5
  42. package/dist/chunk-MLZBBLMT.js +109 -0
  43. package/dist/{chunk-5T5YMX6S.js → chunk-PW65BXY5.js} +5 -0
  44. package/dist/{chunk-NOIAHMJB.js → chunk-QFVGPKJI.js} +1 -1
  45. package/dist/{chunk-VIUH5CHQ.js → chunk-SFRYRW37.js} +50 -33
  46. package/dist/{chunk-L27YYONJ.js → chunk-SSNZ6ZNN.js} +1 -1
  47. package/dist/{chunk-GWVFDUNB.js → chunk-TGJHGVBZ.js} +8 -10
  48. package/dist/{chunk-6HGEZJDH.js → chunk-U3EJJ7JN.js} +2 -2
  49. package/dist/{chunk-4DSGN4FL.js → chunk-UC6BNMGT.js} +43 -13
  50. package/dist/{chunk-JBIFXB6I.js → chunk-WBBKYUGF.js} +3 -5
  51. package/dist/{chunk-FBBS4BVR.js → chunk-X67VT4QO.js} +1 -1
  52. package/dist/{chunk-DAIIMBLB.js → chunk-YQOYZ6G7.js} +3 -5
  53. package/dist/{chunk-JCWB2ITW.js → chunk-ZUG76D3P.js} +35 -5
  54. package/dist/cli.js +34 -27
  55. package/dist/{clock-6JZL2FS6.js → clock-LH7UFNLJ.js} +4 -3
  56. package/dist/{cloud-sync-VFDTNNCA.js → cloud-sync-IDJFVDEP.js} +22 -19
  57. package/dist/{config-RPSLA2HX.js → config-UGJS57VT.js} +3 -3
  58. package/dist/{conversations-TUM5PJJ4.js → conversations-S2232Y5I.js} +8 -4
  59. package/dist/{create-Z5FSDNVZ.js → create-2M7DAHQX.js} +2 -2
  60. package/dist/{create-VIQVP3QB.js → create-M727VUDF.js} +2 -1
  61. package/dist/{daemon-client-ZFY5MOAL.js → daemon-client-VVYFZI2D.js} +2 -1
  62. package/dist/{daemon-restart-54L4B6AQ.js → daemon-restart-2AAGYFHE.js} +6 -7
  63. package/dist/daemon.js +1625 -529
  64. package/dist/{db-F6UMFRYD.js → db-QAY45Z56.js} +2 -2
  65. package/dist/{delete-ESEP7NGQ.js → delete-O7PEFQDF.js} +1 -1
  66. package/dist/delivery-manager-B4OKWD2P.js +33 -0
  67. package/dist/{delivery-router-VUOL5YSA.js → delivery-router-JE7SHYNU.js} +7 -5
  68. package/dist/{down-6X7KX7BZ.js → down-D4IRNEMJ.js} +5 -5
  69. package/dist/echo-text-WYAAODBV.js +39 -0
  70. package/dist/{env-ZYMSCB7B.js → env-ABM5IMA7.js} +3 -2
  71. package/dist/{env-KUL4XKN2.js → env-AZK5X4W7.js} +3 -3
  72. package/dist/{exec-FBXA3CM4.js → exec-2H65LMTA.js} +3 -3
  73. package/dist/{export-TNBPDH77.js → export-3E3EL6W3.js} +4 -4
  74. package/dist/{extension-J4ZQ2GHV.js → extension-MRYJWSMV.js} +2 -1
  75. package/dist/{extensions-AWNO3SZF.js → extensions-7KP3X6G7.js} +22 -19
  76. package/dist/{files-BVBRJJ2P.js → files-6BMKVG5G.js} +5 -4
  77. package/dist/{import-ZUNKMCKC.js → import-UPNTEBBT.js} +8 -8
  78. package/dist/{isolation-OPCZQRTH.js → isolation-OKDFM6WA.js} +5 -3
  79. package/dist/{join-34TR2GXQ.js → join-PYA36HEC.js} +1 -1
  80. package/dist/{list-PMUXZNAM.js → list-4BVGH7AN.js} +8 -3
  81. package/dist/{login-KAKNFCW5.js → login-MOXVLULE.js} +4 -3
  82. package/dist/{login-LKNLCJPA.js → login-RJJTCVR3.js} +2 -1
  83. package/dist/{logout-YZRMZ3O2.js → logout-BYV433X6.js} +2 -1
  84. package/dist/{logout-RLT62RQP.js → logout-DWD3OQVT.js} +4 -3
  85. package/dist/message-delivery-3456PXB7.js +43 -0
  86. package/dist/migrate-thread-config-4A5LW36Z.js +90 -0
  87. package/dist/{mind-IF6CGMFW.js → mind-NYRALSV2.js} +19 -19
  88. package/dist/{mind-activity-tracker-YMMERB6B.js → mind-activity-tracker-L7GCYXQR.js} +4 -4
  89. package/dist/{mind-contacts-BKUFPUCU.js → mind-contacts-QYU4TPEA.js} +3 -2
  90. package/dist/{mind-history-WI5OI3BW.js → mind-history-NXXOOTX6.js} +30 -7
  91. package/dist/{mind-list-OTHV4ZO4.js → mind-list-SYRA7CH5.js} +3 -2
  92. package/dist/{mind-profile-LUG353ZT.js → mind-profile-MRCVZPYT.js} +1 -1
  93. package/dist/mind-service-5TA7UJAT.js +47 -0
  94. package/dist/{mind-sleep-VBV7YRSU.js → mind-sleep-TH6BRQ5X.js} +4 -3
  95. package/dist/{mind-status-BJNPGXKC.js → mind-status-Z2LQFA6F.js} +3 -2
  96. package/dist/{mind-wake-LVTZ55EZ.js → mind-wake-LDGPRA42.js} +2 -1
  97. package/dist/{package-PD67VPHB.js → package-XYSV7NUT.js} +23 -23
  98. package/dist/{prompts-MDHDLWEX.js → prompts-QKFPX6DQ.js} +3 -3
  99. package/dist/{read-YSWUXYL7.js → read-ZXGUT4QC.js} +5 -3
  100. package/dist/{register-TWQDKQRT.js → register-OX4HRSGC.js} +2 -1
  101. package/dist/{registry-3ELJPUGJ.js → registry-4UF6OCOE.js} +6 -4
  102. package/dist/{reject-SXGCYN4A.js → reject-TWB4QJHG.js} +2 -1
  103. package/dist/{restart-5F5QDBOG.js → restart-AGEGNSYQ.js} +2 -1
  104. package/dist/{sandbox-XPYA7UIF.js → sandbox-EGEU5GGE.js} +7 -4
  105. package/dist/scheduler-UV6RUJ7P.js +25 -0
  106. package/dist/{schema-6YONVTKZ.js → schema-C2GIPD4V.js} +3 -3
  107. package/dist/{seed-NQED7PSX.js → seed-3IMBOAGK.js} +1 -1
  108. package/dist/{seed-check-TYD7RRZY.js → seed-check-NRJEQZST.js} +14 -5
  109. package/dist/{seed-cmd-QF3F2G4S.js → seed-cmd-U73XVQMI.js} +3 -3
  110. package/dist/{seed-create-XOO4N2OE.js → seed-create-FBLNVSUP.js} +4 -4
  111. package/dist/{seed-readiness-3LRYASA4.js → seed-readiness-QRA46ZJQ.js} +4 -5
  112. package/dist/{seed-sprout-HSBBGSS2.js → seed-sprout-3B4SZX7J.js} +9 -9
  113. package/dist/{send-IHRJYNXA.js → send-NBRZJXKX.js} +32 -10
  114. package/dist/{service-YCOPCTSZ.js → service-XMXAXGJD.js} +4 -4
  115. package/dist/{service-install-Y46OTF55.js → service-install-MOKTEG7B.js} +5 -5
  116. package/dist/{setup-TCN7VH5U.js → setup-CAJFOR2N.js} +10 -3
  117. package/dist/{setup-F4TE64YI.js → setup-JGYAXXW7.js} +6 -7
  118. package/dist/{skill-4CYJLYVY.js → skill-NXIHDQCG.js} +3 -2
  119. package/dist/skills/dreaming/references/INSTALL.md +2 -2
  120. package/dist/skills/imagegen/SKILL.md +21 -4
  121. package/dist/skills/imagegen/scripts/imagegen.ts +124 -21
  122. package/dist/skills/tending/SKILL.md +7 -7
  123. package/dist/skills/volute-mind/SKILL.md +3 -3
  124. package/dist/skills/volute-mind/references/integrations.md +2 -2
  125. package/dist/skills/volute-mind/references/routing.md +15 -15
  126. package/dist/{skills-NN5UZCUU.js → skills-5MSMT7PT.js} +4 -5
  127. package/dist/sleep-manager-LIEPO6WG.js +41 -0
  128. package/dist/{spirit-SSJMYC6A.js → spirit-IL5EMWYZ.js} +10 -7
  129. package/dist/spirit-availability-YFEGJNJ2.js +42 -0
  130. package/dist/{split-JF2VWTXA.js → split-BU5VWX6P.js} +1 -1
  131. package/dist/{sprout-AXA2SECQ.js → sprout-UPXGJ5HX.js} +1 -1
  132. package/dist/{src-YH6PQ7LJ.js → src-HGNE2XG4.js} +7 -1
  133. package/dist/{src-ZN4LXMPI.js → src-LCSOQY6Z.js} +57 -51
  134. package/dist/{src-JAOVXO5W.js → src-UDMJZ6MH.js} +8 -8
  135. package/dist/{start-BTVMTP3K.js → start-MUMNFR52.js} +2 -1
  136. package/dist/{status-VJGXMQ4L.js → status-IL67CYM4.js} +7 -6
  137. package/dist/{stop-YORESK4U.js → stop-EKERNYTX.js} +2 -1
  138. package/dist/system-events-A6IGCEC3.js +46 -0
  139. package/dist/system-install-YZSWCPDK.js +8 -0
  140. package/dist/{systems-5MH2ELQE.js → systems-VDRUZXNF.js} +5 -4
  141. package/dist/{tailscale-AMMVKDXB.js → tailscale-SJUW2ETR.js} +2 -2
  142. package/dist/{template-staleness-HKGCTS3H.js → template-staleness-T27VCGYA.js} +3 -3
  143. package/dist/{turn-tracker-JQ2YUUY2.js → turn-tracker-6EI2EL7G.js} +6 -6
  144. package/dist/{up-SDLTLPAO.js → up-CLL4665A.js} +5 -6
  145. package/dist/{update-WEA4N2TR.js → update-HVAUCQPN.js} +5 -5
  146. package/dist/{update-check-DZOTONII.js → update-check-2MGBBAFF.js} +3 -3
  147. package/dist/{upgrade-K5FIQPQD.js → upgrade-LIE46UBB.js} +1 -1
  148. package/dist/variant-cleanup-HJ7Z75R6.js +22 -0
  149. package/dist/{version-notify-WFA5XB5A.js → version-notify-7BUHWZNT.js} +10 -27
  150. package/dist/web-assets/assets/index-ClsUcXiW.js +95 -0
  151. package/dist/web-assets/assets/index-Dz3wTbtR.css +1 -0
  152. package/dist/web-assets/index.html +2 -2
  153. package/dist/xai-P42CRCZA.js +129 -0
  154. package/drizzle/0014_system_events.sql +26 -0
  155. package/drizzle/0015_rename_session_to_thread.sql +12 -0
  156. package/drizzle/0016_brain_to_human.sql +4 -0
  157. package/drizzle/0017_event_history_rows.sql +9 -0
  158. package/drizzle/meta/_journal.json +28 -0
  159. package/package.json +23 -23
  160. package/packages/extensions/notes/dist/ui/assets/index-BBs8pyel.js +67 -0
  161. package/packages/extensions/notes/dist/ui/index.html +1 -1
  162. package/packages/extensions/pages/dist/ui/assets/index-B589e8Xe.js +2 -0
  163. package/packages/extensions/pages/dist/ui/index.html +1 -1
  164. package/packages/extensions/plan/dist/ui/assets/index-B8s8wxyt.js +67 -0
  165. package/packages/extensions/plan/dist/ui/index.html +1 -1
  166. package/templates/_base/.init/.config/prompts.json +1 -0
  167. package/templates/_base/.init/.local/hooks/startup-context.ts +24 -9
  168. package/templates/_base/home/.config/routes.json +2 -2
  169. package/templates/_base/home/VOLUTE.md +18 -5
  170. package/templates/_base/src/lib/daemon-client.ts +1 -1
  171. package/templates/_base/src/lib/event-turn.ts +39 -0
  172. package/templates/_base/src/lib/format-prefix.ts +21 -2
  173. package/templates/_base/src/lib/router.ts +6 -2
  174. package/templates/_base/src/lib/routing.ts +8 -8
  175. package/templates/_base/src/lib/startup.ts +9 -1
  176. package/templates/_base/src/lib/types.ts +7 -1
  177. package/templates/_base/src/lib/volute-server.ts +30 -1
  178. package/templates/claude/.init/.config/routes.json +3 -3
  179. package/templates/claude/.init/CLAUDE.md +1 -1
  180. package/templates/claude/package.json.tmpl +4 -4
  181. package/templates/claude/src/agent.ts +4 -1
  182. package/templates/claude/src/lib/hooks/reply-instructions.ts +26 -1
  183. package/templates/codex/.init/.config/routes.json +3 -3
  184. package/templates/codex/.init/AGENTS.md +1 -1
  185. package/templates/codex/package.json.tmpl +4 -4
  186. package/templates/codex/src/agent.ts +11 -11
  187. package/templates/codex/src/lib/turn-context.ts +51 -0
  188. package/templates/pi/.init/.config/routes.json +3 -3
  189. package/templates/pi/.init/MINDS.md +1 -1
  190. package/templates/pi/package.json.tmpl +6 -6
  191. package/templates/pi/src/agent.ts +9 -1
  192. package/templates/pi/src/lib/event-handler.ts +1 -1
  193. package/templates/pi/src/lib/reply-instructions-extension.ts +28 -1
  194. package/dist/chunk-NJHN6IRB.js +0 -177
  195. package/dist/chunk-QQBOI3QA.js +0 -5345
  196. package/dist/chunk-XTEKINWG.js +0 -158
  197. package/dist/delivery-manager-RBXBPVWM.js +0 -36
  198. package/dist/echo-text-B6NZ5FGE.js +0 -36
  199. package/dist/message-delivery-ABPV76EA.js +0 -42
  200. package/dist/mind-service-42GDO4KH.js +0 -44
  201. package/dist/notices-N6BCGHFV.js +0 -25
  202. package/dist/scheduler-K7Y7Z7FQ.js +0 -34
  203. package/dist/sleep-manager-DSPXFHGX.js +0 -38
  204. package/dist/system-chat-M2XOBKEM.js +0 -40
  205. package/dist/variant-cleanup-P4MBNLJD.js +0 -33
  206. package/dist/web-assets/assets/index-BostMFoR.css +0 -1
  207. package/dist/web-assets/assets/index-CKlqUkyG.js +0 -92
  208. package/packages/extensions/notes/dist/ui/assets/index-D0-DgYyj.js +0 -67
  209. package/packages/extensions/pages/dist/ui/assets/index-DtzftuPA.js +0 -2
  210. package/packages/extensions/plan/dist/ui/assets/index-Cfzs-0G9.js +0 -67
@@ -18,79 +18,79 @@ var cmd = subcommands({
18
18
  commands: {
19
19
  create: {
20
20
  description: "Create a new mind (see 'volute seed create' for the recommended path)",
21
- run: (args) => import("./create-Z5FSDNVZ.js").then((m) => m.run(args))
21
+ run: (args) => import("./create-2M7DAHQX.js").then((m) => m.run(args))
22
22
  },
23
23
  start: {
24
24
  description: "Start a mind",
25
- run: (args) => import("./start-BTVMTP3K.js").then((m) => m.run(args))
25
+ run: (args) => import("./start-MUMNFR52.js").then((m) => m.run(args))
26
26
  },
27
27
  stop: {
28
28
  description: "Stop a mind",
29
- run: (args) => import("./stop-YORESK4U.js").then((m) => m.run(args))
29
+ run: (args) => import("./stop-EKERNYTX.js").then((m) => m.run(args))
30
30
  },
31
31
  restart: {
32
32
  description: "Restart a mind",
33
- run: (args) => import("./restart-5F5QDBOG.js").then((m) => m.run(args))
33
+ run: (args) => import("./restart-AGEGNSYQ.js").then((m) => m.run(args))
34
34
  },
35
35
  delete: {
36
36
  description: "Delete a mind",
37
- run: (args) => import("./delete-ESEP7NGQ.js").then((m) => m.run(args))
37
+ run: (args) => import("./delete-O7PEFQDF.js").then((m) => m.run(args))
38
38
  },
39
39
  list: {
40
40
  description: "List all minds",
41
- run: (args) => import("./mind-list-OTHV4ZO4.js").then((m) => m.run(args))
41
+ run: (args) => import("./mind-list-SYRA7CH5.js").then((m) => m.run(args))
42
42
  },
43
43
  status: {
44
44
  description: "Check mind status",
45
- run: (args) => import("./mind-status-BJNPGXKC.js").then((m) => m.run(args))
45
+ run: (args) => import("./mind-status-Z2LQFA6F.js").then((m) => m.run(args))
46
46
  },
47
47
  history: {
48
48
  description: "View mind activity history",
49
- run: (args) => import("./mind-history-WI5OI3BW.js").then((m) => m.run(transformMindFlag(args)))
49
+ run: (args) => import("./mind-history-NXXOOTX6.js").then((m) => m.run(transformMindFlag(args)))
50
50
  },
51
51
  contacts: {
52
52
  description: "Who a mind has recently been in contact with",
53
- run: (args) => import("./mind-contacts-BKUFPUCU.js").then((m) => m.run(transformMindFlag(args)))
53
+ run: (args) => import("./mind-contacts-QYU4TPEA.js").then((m) => m.run(transformMindFlag(args)))
54
54
  },
55
55
  profile: {
56
56
  description: "Update mind profile",
57
- run: (args) => import("./mind-profile-LUG353ZT.js").then((m) => m.run(args))
57
+ run: (args) => import("./mind-profile-MRCVZPYT.js").then((m) => m.run(args))
58
58
  },
59
59
  upgrade: {
60
60
  description: "Upgrade mind to latest template",
61
- run: (args) => import("./upgrade-K5FIQPQD.js").then((m) => m.run(args))
61
+ run: (args) => import("./upgrade-LIE46UBB.js").then((m) => m.run(args))
62
62
  },
63
63
  import: {
64
64
  description: "Import an OpenClaw workspace",
65
- run: (args) => import("./import-ZUNKMCKC.js").then((m) => m.run(args))
65
+ run: (args) => import("./import-UPNTEBBT.js").then((m) => m.run(args))
66
66
  },
67
67
  export: {
68
68
  description: "Export a mind",
69
- run: (args) => import("./export-TNBPDH77.js").then((m) => m.run(args))
69
+ run: (args) => import("./export-3E3EL6W3.js").then((m) => m.run(args))
70
70
  },
71
71
  split: {
72
72
  description: "Split off a variant",
73
- run: (args) => import("./split-JF2VWTXA.js").then((m) => m.run(args))
73
+ run: (args) => import("./split-BU5VWX6P.js").then((m) => m.run(args))
74
74
  },
75
75
  join: {
76
76
  description: "Join a variant back into its parent",
77
- run: (args) => import("./join-34TR2GXQ.js").then((m) => m.run(args))
77
+ run: (args) => import("./join-PYA36HEC.js").then((m) => m.run(args))
78
78
  },
79
79
  sleep: {
80
80
  description: "(legacy) Use 'volute clock sleep' instead",
81
- run: (args) => import("./mind-sleep-VBV7YRSU.js").then((m) => m.run(args))
81
+ run: (args) => import("./mind-sleep-TH6BRQ5X.js").then((m) => m.run(args))
82
82
  },
83
83
  wake: {
84
84
  description: "(legacy) Use 'volute clock wake' instead",
85
- run: (args) => import("./mind-wake-LVTZ55EZ.js").then((m) => m.run(args))
85
+ run: (args) => import("./mind-wake-LDGPRA42.js").then((m) => m.run(args))
86
86
  },
87
87
  seed: {
88
88
  description: "(legacy) Use 'volute seed create' instead",
89
- run: (args) => import("./seed-NQED7PSX.js").then((m) => m.run(args))
89
+ run: (args) => import("./seed-3IMBOAGK.js").then((m) => m.run(args))
90
90
  },
91
91
  sprout: {
92
92
  description: "(legacy) Use 'volute seed sprout' instead",
93
- run: (args) => import("./sprout-AXA2SECQ.js").then((m) => m.run(args))
93
+ run: (args) => import("./sprout-UPXGJ5HX.js").then((m) => m.run(args))
94
94
  }
95
95
  },
96
96
  footer: "Mind name can be omitted (where applicable) if VOLUTE_MIND is set."
@@ -4,11 +4,11 @@ import {
4
4
  markIdle,
5
5
  onMindEvent,
6
6
  stopAll
7
- } from "./chunk-ZX46PGCC.js";
8
- import "./chunk-3B427GUK.js";
7
+ } from "./chunk-E5S3ILVA.js";
8
+ import "./chunk-3BAFMGCJ.js";
9
9
  import "./chunk-QUSMYGNQ.js";
10
- import "./chunk-RSBL3FAD.js";
11
- import "./chunk-P4LHVRNE.js";
10
+ import "./chunk-CAIYV33P.js";
11
+ import "./chunk-5IIVOWSP.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
  export {
14
14
  getActiveMinds,
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  relativeAge
4
- } from "./chunk-SHKM5RGD.js";
4
+ } from "./chunk-EEOMA4DX.js";
5
5
  import {
6
6
  resolveMindName
7
7
  } from "./chunk-BTY4WNFE.js";
8
8
  import {
9
9
  daemonFetch
10
- } from "./chunk-BCG45AQB.js";
10
+ } from "./chunk-M74I3HHF.js";
11
11
  import {
12
12
  getClient,
13
13
  urlOf
@@ -16,6 +16,7 @@ import {
16
16
  command
17
17
  } from "./chunk-TXSA4Q3V.js";
18
18
  import "./chunk-O7IGP7ZW.js";
19
+ import "./chunk-FNJCBRD3.js";
19
20
  import "./chunk-K3NQKI34.js";
20
21
 
21
22
  // packages/cli/src/commands/mind-contacts.ts
@@ -1,14 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  compactTime,
4
+ formatSender,
4
5
  isCompact
5
- } from "./chunk-5T5YMX6S.js";
6
+ } from "./chunk-PW65BXY5.js";
6
7
  import {
7
8
  resolveMindName
8
9
  } from "./chunk-BTY4WNFE.js";
9
10
  import {
10
11
  daemonFetch
11
- } from "./chunk-BCG45AQB.js";
12
+ } from "./chunk-M74I3HHF.js";
12
13
  import {
13
14
  getClient,
14
15
  urlOf
@@ -17,21 +18,39 @@ import {
17
18
  command
18
19
  } from "./chunk-TXSA4Q3V.js";
19
20
  import "./chunk-O7IGP7ZW.js";
21
+ import "./chunk-FNJCBRD3.js";
20
22
  import "./chunk-K3NQKI34.js";
21
23
 
22
24
  // packages/cli/src/commands/mind-history.ts
23
25
  function normalizeTimestamp(dateStr) {
24
26
  return dateStr.endsWith("Z") ? dateStr : `${dateStr}Z`;
25
27
  }
28
+ function eventLabel(row) {
29
+ if (row.metadata) {
30
+ try {
31
+ const meta = JSON.parse(row.metadata);
32
+ if (typeof meta.label === "string" && meta.label) return meta.label;
33
+ } catch {
34
+ }
35
+ }
36
+ return row.channel?.split(":")[1] || "event";
37
+ }
26
38
  function formatRow(row) {
27
39
  const time = new Date(normalizeTimestamp(row.created_at)).toLocaleString();
28
40
  const channel = row.channel ?? "";
29
41
  switch (row.type) {
30
42
  case "inbound":
31
43
  case "outbound": {
32
- const sender = row.sender ?? (row.type === "outbound" ? "mind" : "unknown");
44
+ const sender = formatSender(
45
+ row.sender ?? (row.type === "outbound" ? "mind" : "unknown"),
46
+ row.sender_display_name
47
+ );
33
48
  return `[${time}] [${channel}] ${sender}: ${row.content ?? ""}`;
34
49
  }
50
+ // A system event has no sender and no channel to reply to — never render it in the
51
+ // `[channel] sender: content` message shape.
52
+ case "event":
53
+ return `[${time}] [event: ${eventLabel(row)}] ${row.content ?? ""}`;
35
54
  case "text":
36
55
  return `[${time}] [text] ${row.content ?? ""}`;
37
56
  case "thinking":
@@ -88,7 +107,7 @@ function formatRow(row) {
88
107
  return `[${time}] [summary${range}] ${row.content ?? ""}`;
89
108
  }
90
109
  case "session_start":
91
- return `[${time}] [session_start] ${row.session ?? ""}`;
110
+ return `[${time}] [session_start] ${row.thread ?? ""}`;
92
111
  default:
93
112
  return `[${time}] [${row.type}] ${row.content ?? ""}`;
94
113
  }
@@ -102,6 +121,10 @@ function formatRowCompact(row) {
102
121
  const sender = row.sender ?? (row.type === "outbound" ? "mind" : "unknown");
103
122
  return `[${time}] [${channel}] ${sender}: ${row.content ?? ""}`;
104
123
  }
124
+ // A system event has no sender and no channel to reply to — never render it in the
125
+ // `[channel] sender: content` message shape.
126
+ case "event":
127
+ return `[${time}] [event: ${eventLabel(row)}] ${row.content ?? ""}`;
105
128
  case "text":
106
129
  return `[${time}] [text] ${row.content ?? ""}`;
107
130
  case "thinking":
@@ -144,7 +167,7 @@ function formatRowCompact(row) {
144
167
  return `[${time}] [summary${range}] ${row.content ?? ""}`;
145
168
  }
146
169
  case "session_start":
147
- return `[${time}] [session_start] ${row.session ?? ""}`;
170
+ return `[${time}] [session_start] ${row.thread ?? ""}`;
148
171
  default:
149
172
  return `[${time}] [${row.type}] ${row.content ?? ""}`;
150
173
  }
@@ -224,7 +247,7 @@ var cmd = command({
224
247
  flags: {
225
248
  mind: { type: "string", description: "Mind name" },
226
249
  channel: { type: "string", description: "Filter by channel" },
227
- session: { type: "string", description: "Filter by session" },
250
+ thread: { type: "string", description: "Filter by thread" },
228
251
  preset: { type: "string", description: "Use a preset view" },
229
252
  limit: { type: "string", description: "Number of entries to show" },
230
253
  full: { type: "boolean", description: "Show full details" },
@@ -313,7 +336,7 @@ var cmd = command({
313
336
  const client = getClient();
314
337
  const url = client.api.minds[":name"].history.$url({ param: { name } });
315
338
  if (flags.channel) url.searchParams.set("channel", flags.channel);
316
- if (flags.session) url.searchParams.set("session", flags.session);
339
+ if (flags.thread) url.searchParams.set("session", flags.thread);
317
340
  if (flags.preset) url.searchParams.set("preset", flags.preset);
318
341
  if (flags.limit) url.searchParams.set("limit", flags.limit);
319
342
  if (flags.full) url.searchParams.set("full", "true");
@@ -2,10 +2,11 @@
2
2
  import {
3
3
  relativeAge,
4
4
  run
5
- } from "./chunk-SHKM5RGD.js";
6
- import "./chunk-BCG45AQB.js";
5
+ } from "./chunk-EEOMA4DX.js";
6
+ import "./chunk-M74I3HHF.js";
7
7
  import "./chunk-TXSA4Q3V.js";
8
8
  import "./chunk-O7IGP7ZW.js";
9
+ import "./chunk-FNJCBRD3.js";
9
10
  import "./chunk-K3NQKI34.js";
10
11
  export {
11
12
  relativeAge,
@@ -29,7 +29,7 @@ var cmd = command({
29
29
  );
30
30
  process.exit(1);
31
31
  }
32
- const { daemonFetch } = await import("./daemon-client-ZFY5MOAL.js");
32
+ const { daemonFetch } = await import("./daemon-client-VVYFZI2D.js");
33
33
  const body = {};
34
34
  if (displayName) body.displayName = displayName;
35
35
  if (description) body.description = description;
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ buildSeedOrientation,
4
+ recordMissingCredentialsNotice,
5
+ sleepMind,
6
+ startMindFull,
7
+ startSpiritFull,
8
+ stopMindFull,
9
+ stopSpiritFull,
10
+ wakeMind
11
+ } from "./chunk-EQKSRVDE.js";
12
+ import "./chunk-SFRYRW37.js";
13
+ import "./chunk-RRZ4RQQU.js";
14
+ import "./chunk-7FDWPQCU.js";
15
+ import "./chunk-JI67D7O2.js";
16
+ import "./chunk-ALIVXDM4.js";
17
+ import "./chunk-6BM2I736.js";
18
+ import "./chunk-7DXLIYPY.js";
19
+ import "./chunk-TGJHGVBZ.js";
20
+ import "./chunk-UC6BNMGT.js";
21
+ import "./chunk-7OZWKHA3.js";
22
+ import "./chunk-LNNI3MS4.js";
23
+ import "./chunk-5TPC4KCV.js";
24
+ import "./chunk-ZUG76D3P.js";
25
+ import "./chunk-574M6I7F.js";
26
+ import "./chunk-E5S3ILVA.js";
27
+ import "./chunk-3BAFMGCJ.js";
28
+ import "./chunk-X67VT4QO.js";
29
+ import "./chunk-DW4TRDOZ.js";
30
+ import "./chunk-WCFSBH33.js";
31
+ import "./chunk-AJWFDIEY.js";
32
+ import "./chunk-7UWXAJMK.js";
33
+ import "./chunk-632FJ23O.js";
34
+ import "./chunk-QUSMYGNQ.js";
35
+ import "./chunk-CAIYV33P.js";
36
+ import "./chunk-5IIVOWSP.js";
37
+ import "./chunk-K3NQKI34.js";
38
+ export {
39
+ buildSeedOrientation,
40
+ recordMissingCredentialsNotice,
41
+ sleepMind,
42
+ startMindFull,
43
+ startSpiritFull,
44
+ stopMindFull,
45
+ stopSpiritFull,
46
+ wakeMind
47
+ };
@@ -1,19 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  parseDuration
4
- } from "./chunk-JCBPU57A.js";
5
- import "./chunk-5T5YMX6S.js";
4
+ } from "./chunk-74T3CEXK.js";
5
+ import "./chunk-PW65BXY5.js";
6
6
  import {
7
7
  resolveMindName
8
8
  } from "./chunk-BTY4WNFE.js";
9
9
  import {
10
10
  daemonFetch
11
- } from "./chunk-BCG45AQB.js";
11
+ } from "./chunk-M74I3HHF.js";
12
12
  import "./chunk-LOPXTW6H.js";
13
13
  import {
14
14
  command
15
15
  } from "./chunk-TXSA4Q3V.js";
16
16
  import "./chunk-O7IGP7ZW.js";
17
+ import "./chunk-FNJCBRD3.js";
17
18
  import "./chunk-K3NQKI34.js";
18
19
 
19
20
  // packages/cli/src/commands/mind-sleep.ts
@@ -4,11 +4,12 @@ import {
4
4
  } from "./chunk-BTY4WNFE.js";
5
5
  import {
6
6
  daemonFetch
7
- } from "./chunk-BCG45AQB.js";
7
+ } from "./chunk-M74I3HHF.js";
8
8
  import {
9
9
  command
10
10
  } from "./chunk-TXSA4Q3V.js";
11
11
  import "./chunk-O7IGP7ZW.js";
12
+ import "./chunk-FNJCBRD3.js";
12
13
  import "./chunk-K3NQKI34.js";
13
14
 
14
15
  // packages/cli/src/commands/mind-status.ts
@@ -53,7 +54,7 @@ ${label}: ${mind.lastNotice.detail}`);
53
54
  console.log(`
54
55
  Channels:`);
55
56
  for (const ch of mind.channels) {
56
- console.log(` ${ch.type}: ${ch.status}`);
57
+ console.log(` ${ch.displayName ?? ch.name}: ${ch.status}`);
57
58
  }
58
59
  }
59
60
  if (mind.variants && mind.variants.length > 0) {
@@ -4,11 +4,12 @@ import {
4
4
  } from "./chunk-BTY4WNFE.js";
5
5
  import {
6
6
  daemonFetch
7
- } from "./chunk-BCG45AQB.js";
7
+ } from "./chunk-M74I3HHF.js";
8
8
  import {
9
9
  command
10
10
  } from "./chunk-TXSA4Q3V.js";
11
11
  import "./chunk-O7IGP7ZW.js";
12
+ import "./chunk-FNJCBRD3.js";
12
13
  import "./chunk-K3NQKI34.js";
13
14
 
14
15
  // packages/cli/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.49.0",
7
+ version: "0.50.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,44 +70,44 @@ var package_default = {
70
70
  "db:migrate": "drizzle-kit migrate"
71
71
  },
72
72
  dependencies: {
73
- "@anthropic-ai/sandbox-runtime": "^0.0.56",
74
- "@earendil-works/pi-ai": "^0.80.3",
75
- "@hono/node-server": "^2.0.6",
73
+ "@anthropic-ai/sandbox-runtime": "^0.0.65",
74
+ "@earendil-works/pi-ai": "^0.80.6",
75
+ "@hono/node-server": "^2.0.8",
76
76
  "@hono/zod-validator": "^0.8.0",
77
77
  "@libsql/client": "^0.17.4",
78
78
  "@slack/bolt": "^4.7.3",
79
- "adm-zip": "^0.5.17",
79
+ "adm-zip": "^0.6.0",
80
80
  bcryptjs: "^3.0.3",
81
- "cron-parser": "^5.6.0",
82
- "discord.js": "^14.26.4",
81
+ "cron-parser": "^5.6.2",
82
+ "discord.js": "^14.26.5",
83
83
  "drizzle-orm": "^0.45.2",
84
- hono: "^4.12.26",
85
- "isomorphic-dompurify": "^2.36.0",
84
+ hono: "^4.12.30",
85
+ "isomorphic-dompurify": "^3.18.0",
86
86
  libsql: "^0.5.29",
87
87
  replicate: "^1.4.0",
88
- sharp: "^0.35.2",
88
+ sharp: "^0.35.3",
89
89
  telegraf: "^4.16.3",
90
- undici: "^6.24.1",
90
+ undici: "^7.28.0",
91
91
  zod: "^4.4.3"
92
92
  },
93
93
  devDependencies: {
94
- "@anthropic-ai/claude-agent-sdk": "^0.3.197",
95
- "@biomejs/biome": "2.5.0",
96
- "@earendil-works/pi-coding-agent": "^0.80.3",
97
- "@sveltejs/vite-plugin-svelte": "^7.1.2",
94
+ "@anthropic-ai/claude-agent-sdk": "^0.3.207",
95
+ "@biomejs/biome": "2.5.3",
96
+ "@earendil-works/pi-coding-agent": "^0.80.6",
97
+ "@sveltejs/vite-plugin-svelte": "^7.2.0",
98
98
  "@types/adm-zip": "^0.5.8",
99
- "@types/node": "^26.0.0",
100
- dompurify: "^3.4.11",
99
+ "@types/node": "^26.1.1",
100
+ dompurify: "3.4.11",
101
101
  "drizzle-kit": "^0.31.10",
102
102
  knip: "^6.26.0",
103
- lefthook: "^2.1.9",
104
- marked: "^18.0.5",
105
- svelte: "^5.56.3",
106
- "svelte-check": "4.7.1",
103
+ lefthook: "^2.1.10",
104
+ marked: "^18.0.6",
105
+ svelte: "^5.56.4",
106
+ "svelte-check": "4.7.2",
107
107
  tsup: "^8.5.1",
108
- tsx: "^4.22.4",
108
+ tsx: "^4.23.1",
109
109
  typescript: "^6.0.3",
110
- vite: "^8.0.16"
110
+ vite: "^8.1.4"
111
111
  },
112
112
  overrides: {
113
113
  esrap: "2.2.11"
@@ -8,9 +8,9 @@ import {
8
8
  getPrompt,
9
9
  getPromptIfCustom,
10
10
  substitute
11
- } from "./chunk-JPGHSXSV.js";
12
- import "./chunk-RSBL3FAD.js";
13
- import "./chunk-P4LHVRNE.js";
11
+ } from "./chunk-5TPC4KCV.js";
12
+ import "./chunk-CAIYV33P.js";
13
+ import "./chunk-5IIVOWSP.js";
14
14
  import "./chunk-K3NQKI34.js";
15
15
  export {
16
16
  MEMORY_PLACEHOLDER_MARKER,
@@ -1,18 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  compactTime,
4
+ formatSender,
4
5
  isCompact
5
- } from "./chunk-5T5YMX6S.js";
6
+ } from "./chunk-PW65BXY5.js";
6
7
  import {
7
8
  resolveMindName
8
9
  } from "./chunk-BTY4WNFE.js";
9
10
  import {
10
11
  daemonFetch
11
- } from "./chunk-BCG45AQB.js";
12
+ } from "./chunk-M74I3HHF.js";
12
13
  import {
13
14
  command
14
15
  } from "./chunk-TXSA4Q3V.js";
15
16
  import "./chunk-O7IGP7ZW.js";
17
+ import "./chunk-FNJCBRD3.js";
16
18
  import "./chunk-K3NQKI34.js";
17
19
 
18
20
  // packages/cli/src/commands/chat/read.ts
@@ -71,7 +73,7 @@ var cmd = command({
71
73
  }
72
74
  const compact = isCompact();
73
75
  for (const msg of data.items) {
74
- const sender = msg.sender_name ?? msg.role;
76
+ const sender = compact ? msg.sender_name ?? msg.role : formatSender(msg.sender_name ?? msg.role, msg.sender_display_name);
75
77
  const text = Array.isArray(msg.content) ? msg.content.filter((b) => b.type === "text").map((b) => b.text).join("") : msg.content;
76
78
  if (compact) {
77
79
  const time = compactTime(msg.created_at);
@@ -4,11 +4,12 @@ import {
4
4
  } from "./chunk-VHWGEJ4V.js";
5
5
  import {
6
6
  daemonFetch
7
- } from "./chunk-BCG45AQB.js";
7
+ } from "./chunk-M74I3HHF.js";
8
8
  import {
9
9
  command
10
10
  } from "./chunk-TXSA4Q3V.js";
11
11
  import "./chunk-O7IGP7ZW.js";
12
+ import "./chunk-FNJCBRD3.js";
12
13
  import "./chunk-K3NQKI34.js";
13
14
 
14
15
  // packages/cli/src/commands/systems/register.ts
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
- SPIRIT_NAME,
4
3
  addMind,
5
4
  addSpirit,
6
5
  addVariant,
@@ -15,6 +14,7 @@ import {
15
14
  isSpiritName,
16
15
  mindDir,
17
16
  mindTmpDir,
17
+ mindTmpEnv,
18
18
  nextPort,
19
19
  readAllMinds,
20
20
  readRegistry,
@@ -27,14 +27,14 @@ import {
27
27
  setMindTemplateHash,
28
28
  stateDir,
29
29
  validateMindName,
30
+ validateSpiritName,
30
31
  voluteHome,
31
32
  voluteSystemDir,
32
33
  voluteUserHome
33
- } from "./chunk-RSBL3FAD.js";
34
- import "./chunk-P4LHVRNE.js";
34
+ } from "./chunk-CAIYV33P.js";
35
+ import "./chunk-5IIVOWSP.js";
35
36
  import "./chunk-K3NQKI34.js";
36
37
  export {
37
- SPIRIT_NAME,
38
38
  addMind,
39
39
  addSpirit,
40
40
  addVariant,
@@ -49,6 +49,7 @@ export {
49
49
  isSpiritName,
50
50
  mindDir,
51
51
  mindTmpDir,
52
+ mindTmpEnv,
52
53
  nextPort,
53
54
  readAllMinds,
54
55
  readRegistry,
@@ -61,6 +62,7 @@ export {
61
62
  setMindTemplateHash,
62
63
  stateDir,
63
64
  validateMindName,
65
+ validateSpiritName,
64
66
  voluteHome,
65
67
  voluteSystemDir,
66
68
  voluteUserHome
@@ -4,11 +4,12 @@ import {
4
4
  } from "./chunk-BTY4WNFE.js";
5
5
  import {
6
6
  daemonFetch
7
- } from "./chunk-BCG45AQB.js";
7
+ } from "./chunk-M74I3HHF.js";
8
8
  import {
9
9
  command
10
10
  } from "./chunk-TXSA4Q3V.js";
11
11
  import "./chunk-O7IGP7ZW.js";
12
+ import "./chunk-FNJCBRD3.js";
12
13
  import "./chunk-K3NQKI34.js";
13
14
 
14
15
  // packages/cli/src/commands/chat/reject.ts
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-BTY4WNFE.js";
5
5
  import {
6
6
  daemonFetch
7
- } from "./chunk-BCG45AQB.js";
7
+ } from "./chunk-M74I3HHF.js";
8
8
  import {
9
9
  getClient,
10
10
  urlOf
@@ -13,6 +13,7 @@ import {
13
13
  command
14
14
  } from "./chunk-TXSA4Q3V.js";
15
15
  import "./chunk-O7IGP7ZW.js";
16
+ import "./chunk-FNJCBRD3.js";
16
17
  import "./chunk-K3NQKI34.js";
17
18
 
18
19
  // packages/cli/src/commands/restart.ts
@@ -6,12 +6,13 @@ import {
6
6
  isSandboxEnabled,
7
7
  isSandboxOptional,
8
8
  shellEscape,
9
+ shellTempWritePaths,
10
+ voluteCliPaths,
9
11
  wrapForSandbox
10
- } from "./chunk-JCWB2ITW.js";
11
- import "./chunk-NJHN6IRB.js";
12
+ } from "./chunk-ZUG76D3P.js";
12
13
  import "./chunk-QUSMYGNQ.js";
13
- import "./chunk-RSBL3FAD.js";
14
- import "./chunk-P4LHVRNE.js";
14
+ import "./chunk-CAIYV33P.js";
15
+ import "./chunk-5IIVOWSP.js";
15
16
  import "./chunk-K3NQKI34.js";
16
17
  export {
17
18
  SandboxUnavailableError,
@@ -20,5 +21,7 @@ export {
20
21
  isSandboxEnabled,
21
22
  isSandboxOptional,
22
23
  shellEscape,
24
+ shellTempWritePaths,
25
+ voluteCliPaths,
23
26
  wrapForSandbox
24
27
  };
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ Scheduler,
4
+ getScheduler,
5
+ initScheduler
6
+ } from "./chunk-7FDWPQCU.js";
7
+ import "./chunk-ALIVXDM4.js";
8
+ import "./chunk-7DXLIYPY.js";
9
+ import "./chunk-7OZWKHA3.js";
10
+ import "./chunk-LNNI3MS4.js";
11
+ import "./chunk-5TPC4KCV.js";
12
+ import "./chunk-ZUG76D3P.js";
13
+ import "./chunk-WCFSBH33.js";
14
+ import "./chunk-AJWFDIEY.js";
15
+ import "./chunk-7UWXAJMK.js";
16
+ import "./chunk-632FJ23O.js";
17
+ import "./chunk-QUSMYGNQ.js";
18
+ import "./chunk-CAIYV33P.js";
19
+ import "./chunk-5IIVOWSP.js";
20
+ import "./chunk-K3NQKI34.js";
21
+ export {
22
+ Scheduler,
23
+ getScheduler,
24
+ initScheduler
25
+ };