volute 0.33.0 → 0.35.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 (255) hide show
  1. package/README.md +7 -6
  2. package/dist/accept-ZBDVVCEU.js +42 -0
  3. package/dist/activity-events-ZW4SDL2C.js +15 -0
  4. package/dist/{ai-service-SBY2WG7O.js → ai-service-LURBEDDB.js} +6 -6
  5. package/dist/{api-client-YPKOZP2O.js → api-client-3A77HMH7.js} +2 -2
  6. package/dist/api.d.ts +1 -5195
  7. package/dist/{archive-INXYFVCW.js → archive-ESU2FUN4.js} +4 -4
  8. package/dist/{auth-GKCDSO4T.js → auth-WX4TESEI.js} +6 -6
  9. package/dist/bridge-PXIO6PS2.js +206 -0
  10. package/dist/chat-QXAJF3FU.js +51 -0
  11. package/dist/{chunk-NNB4WIG7.js → chunk-2TGZJFAT.js} +3 -3
  12. package/dist/{chunk-6LXAAQ43.js → chunk-33ODGMFZ.js} +1 -1
  13. package/dist/{chunk-RPZZSXV3.js → chunk-5N7Y5WAM.js} +21 -2
  14. package/dist/chunk-5T5YMX6S.js +23 -0
  15. package/dist/{chunk-7J3HEVR7.js → chunk-5XJYUFZH.js} +28 -16
  16. package/dist/chunk-7KJOFUNN.js +22 -0
  17. package/dist/{chunk-2NGTS5UU.js → chunk-A2ZLHBHG.js} +2 -2
  18. package/dist/{chunk-KIEPMIM5.js → chunk-AN2W47GW.js} +2 -2
  19. package/dist/{chunk-G53F3JA4.js → chunk-AOB6GVRM.js} +1 -1
  20. package/dist/{chunk-LRCG2JLP.js → chunk-BDYXIWA5.js} +9 -5
  21. package/dist/{chunk-YUIHSKR6.js → chunk-BKF4WQCY.js} +2 -2
  22. package/dist/{chunk-N432I7QH.js → chunk-BMZQYACC.js} +2 -2
  23. package/dist/{chunk-NAOW2CLO.js → chunk-BTY4WNFE.js} +1 -1
  24. package/dist/{chunk-ALEF47VT.js → chunk-BV65KRHM.js} +2 -2
  25. package/dist/{chunk-KVK2DLWI.js → chunk-CORXD635.js} +4 -4
  26. package/dist/{chunk-PVY5W6QN.js → chunk-F7ZNLYKZ.js} +2 -2
  27. package/dist/{chunk-QTUVYI7W.js → chunk-FT5KETXZ.js} +3 -3
  28. package/dist/{chunk-C7I35G4R.js → chunk-IJHIXLVN.js} +44 -8
  29. package/dist/{chunk-JUKK7FPS.js → chunk-J6CJQDWI.js} +37 -28
  30. package/dist/{chunk-4RQBJWQX.js → chunk-LOPXTW6H.js} +1 -1
  31. package/dist/{chunk-RSX4OPZY.js → chunk-MDJGMOSD.js} +8 -137
  32. package/dist/{chunk-LOEJ4HPQ.js → chunk-N446KRP7.js} +3 -3
  33. package/dist/{chunk-I5KY25PQ.js → chunk-N5LMGYXX.js} +2 -2
  34. package/dist/{chunk-G6BSYHPK.js → chunk-NJK5SDGR.js} +1 -1
  35. package/dist/{chunk-D424ZQGI.js → chunk-O7IGP7ZW.js} +11 -3
  36. package/dist/{chunk-M7UL5S3Q.js → chunk-OTC67N2Z.js} +2 -2
  37. package/dist/{chunk-GY5HBI7A.js → chunk-PWQ2ITYG.js} +4 -4
  38. package/dist/{chunk-KTLFDYPT.js → chunk-QCH6K235.js} +1 -1
  39. package/dist/chunk-QHG4OMZL.js +145 -0
  40. package/dist/{chunk-SKLSMHXO.js → chunk-QWTR6AWZ.js} +3 -3
  41. package/dist/chunk-TXSA4Q3V.js +116 -0
  42. package/dist/{chunk-VH33ZWMW.js → chunk-VHJRZM2S.js} +2 -2
  43. package/dist/{chunk-SSI47XP2.js → chunk-VHWGEJ4V.js} +1 -1
  44. package/dist/chunk-VY3RB2V7.js +164 -0
  45. package/dist/chunk-WJPROOU5.js +8314 -0
  46. package/dist/{chunk-RVGLDGMI.js → chunk-WZRZFFCL.js} +25 -27
  47. package/dist/{chunk-JYVGHWEJ.js → chunk-XRQSAMX2.js} +4 -4
  48. package/dist/{chunk-OYAKCAVY.js → chunk-ZSR72JB3.js} +1 -1
  49. package/dist/{chunk-UKVWJRKN.js → chunk-ZX7EAV5J.js} +17 -7
  50. package/dist/cli.js +90 -29
  51. package/dist/clock-HSEKS5AR.js +289 -0
  52. package/dist/{cloud-sync-4NWLMFVH.js → cloud-sync-6JL4C24T.js} +22 -23
  53. package/dist/config-UTS7QULS.js +76 -0
  54. package/dist/connectors/discord-bridge.js +4 -4
  55. package/dist/connectors/slack-bridge.js +4 -4
  56. package/dist/connectors/telegram-bridge.js +4 -4
  57. package/dist/{conversations-AWI5SZW2.js → conversations-2PW57WO2.js} +6 -6
  58. package/dist/create-5BPOOJAN.js +75 -0
  59. package/dist/create-UVCK2CS6.js +50 -0
  60. package/dist/daemon-client-RVIKXGFQ.js +12 -0
  61. package/dist/daemon-restart-HSZ3BCX5.js +65 -0
  62. package/dist/daemon.js +1349 -1211
  63. package/dist/db-BDMH4SZ2.js +20 -0
  64. package/dist/db-BVBJ57TU.js +9 -0
  65. package/dist/delete-L5PAVDGQ.js +42 -0
  66. package/dist/delivery-manager-H5ZVBMCQ.js +31 -0
  67. package/dist/{delivery-router-FL45JL7N.js → delivery-router-HEJSJAHQ.js} +5 -5
  68. package/dist/down-74VXM45A.js +17 -0
  69. package/dist/env-E4XHO2BI.js +223 -0
  70. package/dist/exec-PY7THYH4.js +17 -0
  71. package/dist/export-OAS6QVBN.js +113 -0
  72. package/dist/extension-D74CNM7G.js +89 -0
  73. package/dist/extensions-XDDFY72A.js +49 -0
  74. package/dist/files-CWTK6V3H.js +53 -0
  75. package/dist/import-5A3T7QV4.js +143 -0
  76. package/dist/{isolation-LLAYQYDY.js → isolation-TK5RX2WM.js} +4 -4
  77. package/dist/join-DF5XSJAC.js +67 -0
  78. package/dist/lib-DYEZMGW7.js +6588 -0
  79. package/dist/list-PDMQM7ZV.js +53 -0
  80. package/dist/login-7TE6CIZF.js +60 -0
  81. package/dist/login-GOTAYLXP.js +51 -0
  82. package/dist/logout-6KIA74EV.js +29 -0
  83. package/dist/logout-T4XS6LRU.js +50 -0
  84. package/dist/message-delivery-GRC4W6P7.js +41 -0
  85. package/dist/mind-5IEYKV7I.js +97 -0
  86. package/dist/mind-activity-tracker-QBLIV7ZJ.js +18 -0
  87. package/dist/mind-history-IE2QH7U5.js +275 -0
  88. package/dist/mind-list-GEWHWAL4.js +38 -0
  89. package/dist/mind-manager-HFLB5653.js +31 -0
  90. package/dist/mind-profile-DCBDVF5B.js +53 -0
  91. package/dist/mind-service-X2CAA6W6.js +37 -0
  92. package/dist/mind-sleep-ITCF6OQA.js +47 -0
  93. package/dist/mind-status-X4SX3YUG.js +65 -0
  94. package/dist/mind-wake-KXMKMGWX.js +42 -0
  95. package/dist/{package-U3VFO273.js → package-D2FSVFAX.js} +11 -8
  96. package/dist/read-67VRP2DO.js +91 -0
  97. package/dist/{read-stdin-HQJ7774D.js → read-stdin-3X5VYKNS.js} +2 -2
  98. package/dist/register-SB7NXCOE.js +51 -0
  99. package/dist/{registry-PJ4S5PHQ.js → registry-GBSNW3HG.js} +3 -3
  100. package/dist/reject-MUR2KWJ4.js +40 -0
  101. package/dist/restart-5EGG4JXU.js +42 -0
  102. package/dist/{sandbox-GJOK4QLQ.js → sandbox-R37VIU36.js} +6 -6
  103. package/dist/scheduler-Y7O4CJXL.js +31 -0
  104. package/dist/{schema-PA3M5ZKH.js → schema-XVZ2CLKW.js} +4 -2
  105. package/dist/{seed-QDYVLG74.js → seed-EQORWX77.js} +3 -3
  106. package/dist/seed-check-KJNTL72M.js +35 -0
  107. package/dist/seed-cmd-ZM2XGVU2.js +30 -0
  108. package/dist/seed-create-DRWGGHEI.js +113 -0
  109. package/dist/seed-sprout-JYXGXOP3.js +148 -0
  110. package/dist/send-JBJJQ7CA.js +409 -0
  111. package/dist/service-WNPCNHOX.js +121 -0
  112. package/dist/{setup-XMCBE3LF.js → setup-BJ4YAY26.js} +155 -129
  113. package/dist/{setup-TISPCO22.js → setup-RHJRFURI.js} +4 -4
  114. package/dist/skill-TAAKEYBV.js +389 -0
  115. package/dist/skills/plan-coordinator/SKILL.md +60 -0
  116. package/dist/skills/volute-mind/SKILL.md +9 -227
  117. package/dist/skills/volute-mind/references/extensions.md +34 -0
  118. package/dist/skills/volute-mind/references/integrations.md +48 -0
  119. package/dist/skills/volute-mind/references/routing.md +86 -0
  120. package/dist/skills/volute-mind/references/sleep.md +33 -0
  121. package/dist/skills/volute-mind/references/variants.md +31 -0
  122. package/dist/{skills-7FV7EJTE.js → skills-EKMCQ46K.js} +12 -8
  123. package/dist/sleep-manager-7KFK3USC.js +35 -0
  124. package/dist/spirit-ZFRDXMG7.js +23 -0
  125. package/dist/split-AWVOYOPZ.js +64 -0
  126. package/dist/{sprout-WKLZXUIQ.js → sprout-HE4TITMK.js} +3 -3
  127. package/dist/start-3UXOPXQG.js +39 -0
  128. package/dist/status-ZK34WYIM.js +125 -0
  129. package/dist/stop-3XYIBGFM.js +41 -0
  130. package/dist/system-chat-IDPHYHY4.js +35 -0
  131. package/dist/systems-O43WGQY6.js +52 -0
  132. package/dist/{tailscale-XHQBZROW.js → tailscale-ZIZ2HWJ5.js} +5 -5
  133. package/dist/template-hash-A7FNHTB7.js +9 -0
  134. package/dist/up-77ICEDEW.js +19 -0
  135. package/dist/update-ANE5ZM7F.js +225 -0
  136. package/dist/{update-check-ZD6OOIYQ.js → update-check-UV55CBEP.js} +4 -4
  137. package/dist/upgrade-ZMDGC7M2.js +74 -0
  138. package/dist/variant-QWL2WSRI.js +62 -0
  139. package/dist/{version-notify-NBI2MTJO.js → version-notify-FXSEMXWW.js} +29 -28
  140. package/dist/{volute-config-HD7WWUQC.js → volute-config-D2XVS2YI.js} +2 -2
  141. package/dist/web-assets/assets/index-BhxWKvbB.css +1 -0
  142. package/dist/web-assets/assets/index-CHVKJ9II.js +75 -0
  143. package/dist/web-assets/ext-theme.css +48 -9
  144. package/dist/web-assets/index.html +2 -2
  145. package/dist/web-assets/sw.js +117 -0
  146. package/drizzle/0005_meta_summaries.sql +15 -0
  147. package/drizzle/meta/0005_snapshot.json +7 -0
  148. package/drizzle/meta/_journal.json +7 -0
  149. package/package.json +10 -7
  150. package/packages/extensions/pages/dist/ui/assets/index-DKZLNMED.js +2 -0
  151. package/packages/extensions/pages/dist/ui/index.html +1 -1
  152. package/packages/extensions/pages/skills/pages/SKILL.md +84 -9
  153. package/packages/extensions/plan/dist/ui/assets/index-CJj2gZnZ.css +1 -0
  154. package/packages/extensions/plan/dist/ui/assets/index-FMEJmvQz.js +61 -0
  155. package/packages/extensions/plan/dist/ui/index.html +14 -0
  156. package/packages/extensions/plan/skills/plan/SKILL.md +43 -0
  157. package/packages/extensions/plan/skills/plan/scripts/plan-hook.sh +37 -0
  158. package/templates/_base/home/VOLUTE.md +12 -19
  159. package/templates/_base/src/lib/auto-commit.ts +8 -8
  160. package/templates/_base/src/lib/context-breakdown.ts +450 -0
  161. package/templates/_base/src/lib/format-prefix.ts +17 -0
  162. package/templates/_base/src/lib/hook-loader.ts +8 -2
  163. package/templates/_base/src/lib/router.ts +75 -33
  164. package/templates/_base/src/lib/routing.ts +4 -1
  165. package/templates/_base/src/lib/startup.ts +16 -8
  166. package/templates/_base/src/lib/types.ts +2 -1
  167. package/templates/_base/src/lib/volute-server.ts +75 -8
  168. package/templates/claude/.init/CLAUDE.md +4 -10
  169. package/templates/claude/package.json.tmpl +1 -0
  170. package/templates/claude/src/agent.ts +108 -33
  171. package/templates/claude/src/lib/hooks/reply-instructions.ts +27 -7
  172. package/templates/claude/src/lib/stream-consumer.ts +2 -2
  173. package/templates/claude/src/server.ts +1 -0
  174. package/templates/codex/package.json.tmpl +1 -0
  175. package/templates/codex/src/agent.ts +80 -8
  176. package/templates/codex/src/server.ts +1 -4
  177. package/templates/pi/package.json.tmpl +1 -0
  178. package/templates/pi/src/agent.ts +115 -36
  179. package/templates/pi/src/lib/event-handler.ts +22 -7
  180. package/templates/pi/src/lib/reply-instructions-extension.ts +23 -4
  181. package/templates/pi/src/lib/subagents.ts +20 -17
  182. package/templates/pi/src/server.ts +2 -5
  183. package/dist/accept-D5VBM7JW.js +0 -42
  184. package/dist/activity-events-XJO3P4RR.js +0 -15
  185. package/dist/bridge-TXWWPPOJ.js +0 -207
  186. package/dist/chat-U5ZOME3O.js +0 -68
  187. package/dist/chunk-3Z2DPESO.js +0 -3634
  188. package/dist/chunk-A2A4KLFE.js +0 -1528
  189. package/dist/chunk-K3NQKI34.js +0 -10
  190. package/dist/chunk-NPKSDYA2.js +0 -156
  191. package/dist/chunk-PB65JZK2.js +0 -85
  192. package/dist/clock-BVH3V6E3.js +0 -266
  193. package/dist/config-H2H4UIF7.js +0 -72
  194. package/dist/create-2FK7Z46Y.js +0 -44
  195. package/dist/create-YWD2TIP4.js +0 -71
  196. package/dist/daemon-client-6QXHZ7US.js +0 -12
  197. package/dist/daemon-restart-GOBUKLX7.js +0 -52
  198. package/dist/db-F34YLV7D.js +0 -9
  199. package/dist/db-RA45JBFG.js +0 -16
  200. package/dist/delete-QTGWEDBI.js +0 -35
  201. package/dist/delivery-manager-PFAKEJTC.js +0 -32
  202. package/dist/down-FWWTEKXM.js +0 -15
  203. package/dist/env-JCOF2222.js +0 -191
  204. package/dist/export-SUYRLI5Q.js +0 -112
  205. package/dist/extension-OBTGKQQD.js +0 -175
  206. package/dist/extensions-KYNTVTMO.js +0 -30
  207. package/dist/files-65PMW5IK.js +0 -47
  208. package/dist/history-DKCDI3JO.js +0 -128
  209. package/dist/import-DDUFE7AY.js +0 -23
  210. package/dist/join-I5QEE3LG.js +0 -66
  211. package/dist/list-JQ463EDA.js +0 -41
  212. package/dist/login-D7ETSU4R.js +0 -47
  213. package/dist/login-RIJF2F4G.js +0 -47
  214. package/dist/logout-5MLHZALK.js +0 -40
  215. package/dist/logout-UZJRGY4Z.js +0 -21
  216. package/dist/message-delivery-DFF5SJRM.js +0 -42
  217. package/dist/mind-IOJFLEM5.js +0 -108
  218. package/dist/mind-activity-tracker-F6O4Q2SL.js +0 -18
  219. package/dist/mind-list-WUPMQDYQ.js +0 -30
  220. package/dist/mind-manager-NBJF5D26.js +0 -32
  221. package/dist/mind-profile-P67FEHOY.js +0 -47
  222. package/dist/mind-service-2MQ6UK5N.js +0 -38
  223. package/dist/mind-sleep-WW2IX7JT.js +0 -42
  224. package/dist/mind-status-L3EFFRPR.js +0 -56
  225. package/dist/mind-wake-VSSGW465.js +0 -37
  226. package/dist/read-EBY56C33.js +0 -75
  227. package/dist/register-HD74C4TT.js +0 -47
  228. package/dist/reject-UJKFBHRO.js +0 -40
  229. package/dist/restart-3UCMRUVC.js +0 -33
  230. package/dist/scheduler-ZZ7XGQG6.js +0 -32
  231. package/dist/seed-check-S2IX25RL.js +0 -32
  232. package/dist/seed-cmd-DKOUFEAU.js +0 -36
  233. package/dist/seed-create-4XBBOLRH.js +0 -112
  234. package/dist/seed-sprout-GQEIIQRT.js +0 -132
  235. package/dist/send-QIV2INHB.js +0 -373
  236. package/dist/skill-PSQGRRJX.js +0 -358
  237. package/dist/skills/shared-files/SKILL.md +0 -44
  238. package/dist/skills/shared-files/scripts/merge.ts +0 -72
  239. package/dist/skills/shared-files/scripts/pull.ts +0 -52
  240. package/dist/sleep-manager-JTXSN7NV.js +0 -36
  241. package/dist/spirit-VRONKFMF.js +0 -23
  242. package/dist/split-STOROBYJ.js +0 -63
  243. package/dist/start-K2NCUUCG.js +0 -33
  244. package/dist/status-3JBTFSMI.js +0 -115
  245. package/dist/stop-H26JZDXF.js +0 -32
  246. package/dist/system-chat-JAPOJ3KE.js +0 -36
  247. package/dist/systems-XRI52VCH.js +0 -61
  248. package/dist/template-hash-A6VVKOXJ.js +0 -9
  249. package/dist/up-M5AS6SBV.js +0 -18
  250. package/dist/update-UD543CXX.js +0 -215
  251. package/dist/upgrade-O4Q7WJM3.js +0 -67
  252. package/dist/variant-7TGZHOU3.js +0 -41
  253. package/dist/web-assets/assets/index-CWJrVveV.css +0 -1
  254. package/dist/web-assets/assets/index-DJt14FRI.js +0 -75
  255. package/packages/extensions/pages/dist/ui/assets/index-tLTROSk5.js +0 -2
@@ -1,42 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- deliverMessage,
4
- linkToolResultToTurn,
5
- recordInbound,
6
- recordOutbound,
7
- resolveSleepAction,
8
- tagRecentInbound,
9
- tagUntaggedInbound,
10
- tagUntaggedOutbound
11
- } from "./chunk-3Z2DPESO.js";
12
- import "./chunk-SKLSMHXO.js";
13
- import "./chunk-LOEJ4HPQ.js";
14
- import "./chunk-RVGLDGMI.js";
15
- import "./chunk-GY5HBI7A.js";
16
- import "./chunk-7J3HEVR7.js";
17
- import "./chunk-G53F3JA4.js";
18
- import "./chunk-OYAKCAVY.js";
19
- import "./chunk-2NGTS5UU.js";
20
- import "./chunk-A2A4KLFE.js";
21
- import "./chunk-PB65JZK2.js";
22
- import "./chunk-JYVGHWEJ.js";
23
- import "./chunk-KVK2DLWI.js";
24
- import "./chunk-C7I35G4R.js";
25
- import "./chunk-QTUVYI7W.js";
26
- import "./chunk-YUIHSKR6.js";
27
- import "./chunk-KIEPMIM5.js";
28
- import "./chunk-VH33ZWMW.js";
29
- import "./chunk-N432I7QH.js";
30
- import "./chunk-LRCG2JLP.js";
31
- import "./chunk-RPZZSXV3.js";
32
- import "./chunk-K3NQKI34.js";
33
- export {
34
- deliverMessage,
35
- linkToolResultToTurn,
36
- recordInbound,
37
- recordOutbound,
38
- resolveSleepAction,
39
- tagRecentInbound,
40
- tagUntaggedInbound,
41
- tagUntaggedOutbound
42
- };
@@ -1,108 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./chunk-K3NQKI34.js";
3
-
4
- // src/commands/mind.ts
5
- async function run(args) {
6
- const subcommand = args[0];
7
- switch (subcommand) {
8
- case "create":
9
- await import("./create-2FK7Z46Y.js").then((m) => m.run(args.slice(1)));
10
- break;
11
- case "start":
12
- await import("./start-K2NCUUCG.js").then((m) => m.run(args.slice(1)));
13
- break;
14
- case "stop":
15
- await import("./stop-H26JZDXF.js").then((m) => m.run(args.slice(1)));
16
- break;
17
- case "restart":
18
- await import("./restart-3UCMRUVC.js").then((m) => m.run(args.slice(1)));
19
- break;
20
- case "delete":
21
- await import("./delete-QTGWEDBI.js").then((m) => m.run(args.slice(1)));
22
- break;
23
- case "list":
24
- await import("./mind-list-WUPMQDYQ.js").then((m) => m.run(args.slice(1)));
25
- break;
26
- case "status":
27
- await import("./mind-status-L3EFFRPR.js").then((m) => m.run(args.slice(1)));
28
- break;
29
- case "history": {
30
- const rest = args.slice(1);
31
- const historyArgs = transformMindFlag(rest);
32
- await import("./history-DKCDI3JO.js").then((m) => m.run(historyArgs));
33
- break;
34
- }
35
- case "upgrade":
36
- await import("./upgrade-O4Q7WJM3.js").then((m) => m.run(args.slice(1)));
37
- break;
38
- case "import":
39
- await import("./import-DDUFE7AY.js").then((m) => m.run(args.slice(1)));
40
- break;
41
- case "export":
42
- await import("./export-SUYRLI5Q.js").then((m) => m.run(args.slice(1)));
43
- break;
44
- case "seed":
45
- await import("./seed-QDYVLG74.js").then((m) => m.run(args.slice(1)));
46
- break;
47
- case "sprout":
48
- await import("./sprout-WKLZXUIQ.js").then((m) => m.run(args.slice(1)));
49
- break;
50
- case "profile":
51
- await import("./mind-profile-P67FEHOY.js").then((m) => m.run(args.slice(1)));
52
- break;
53
- case "sleep":
54
- await import("./mind-sleep-WW2IX7JT.js").then((m) => m.run(args.slice(1)));
55
- break;
56
- case "wake":
57
- await import("./mind-wake-VSSGW465.js").then((m) => m.run(args.slice(1)));
58
- break;
59
- case "split":
60
- await import("./split-STOROBYJ.js").then((m) => m.run(args.slice(1)));
61
- break;
62
- case "join":
63
- await import("./join-I5QEE3LG.js").then((m) => m.run(args.slice(1)));
64
- break;
65
- case "--help":
66
- case "-h":
67
- case void 0:
68
- printUsage();
69
- break;
70
- default:
71
- printUsage();
72
- process.exit(1);
73
- }
74
- }
75
- function transformMindFlag(args) {
76
- if (args.length > 0 && args[0] && !args[0].startsWith("-")) {
77
- return ["--mind", args[0], ...args.slice(1)];
78
- }
79
- return args;
80
- }
81
- function printUsage() {
82
- console.log(`Usage:
83
- volute mind create <name> [--template <name>]
84
- volute mind seed <name> [--template <name>]
85
- volute mind start <name>
86
- volute mind stop [name]
87
- volute mind restart [name]
88
- volute mind delete [name] [--force]
89
- volute mind list
90
- volute mind status [name]
91
- volute mind history [name] [--channel <ch>] [--limit N] [--full]
92
- volute mind profile [--mind <name>] [--display-name <name>] [--description <text>] [--avatar <path>]
93
- volute mind sprout
94
- volute mind sleep [name] [--wake-at <time>]
95
- volute mind wake [name]
96
- volute mind split <name> [--from <mind>] [--soul "..."] [--port N] [--no-start] [--json]
97
- volute mind join <variant-name> [--summary "..." --justification "..." --memory "..."] [--skip-verify]
98
- volute mind upgrade [name] [--template <name>] [--diff] [--continue] [--abort]
99
- volute mind import <path> [--name <name>] [--session <path>] [--template <name>]
100
- volute mind export <name> [--include-env] [--include-identity] [--include-history] [--include-sessions] [--all] [--output <path>]
101
-
102
- Mind name can be omitted (where shown as [name]) if VOLUTE_MIND is set.
103
-
104
- Note: 'volute mind seed' and 'volute mind sprout' are now 'volute seed create' and 'volute seed sprout'.`);
105
- }
106
- export {
107
- run
108
- };
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- getActiveMinds,
4
- markIdle,
5
- onMindEvent,
6
- stopAll
7
- } from "./chunk-LOEJ4HPQ.js";
8
- import "./chunk-KVK2DLWI.js";
9
- import "./chunk-YUIHSKR6.js";
10
- import "./chunk-LRCG2JLP.js";
11
- import "./chunk-RPZZSXV3.js";
12
- import "./chunk-K3NQKI34.js";
13
- export {
14
- getActiveMinds,
15
- markIdle,
16
- onMindEvent,
17
- stopAll
18
- };
@@ -1,30 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- daemonFetch
4
- } from "./chunk-UKVWJRKN.js";
5
- import "./chunk-LRCG2JLP.js";
6
- import "./chunk-RPZZSXV3.js";
7
- import "./chunk-K3NQKI34.js";
8
-
9
- // src/commands/mind-list.ts
10
- async function run(_args) {
11
- const res = await daemonFetch("/api/minds");
12
- if (!res.ok) {
13
- const body = await res.json().catch(() => ({ error: `HTTP ${res.status}` }));
14
- console.error(`Failed to list minds: ${body.error}`);
15
- process.exit(1);
16
- }
17
- const minds = await res.json();
18
- if (minds.length === 0) {
19
- console.log("No minds configured.");
20
- return;
21
- }
22
- for (const mind of minds) {
23
- const status = mind.status ?? (mind.running ? "running" : "stopped");
24
- const label = mind.stage === "seed" ? " (seed)" : "";
25
- console.log(` ${mind.name}: ${status}${label}`);
26
- }
27
- }
28
- export {
29
- run
30
- };
@@ -1,32 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- MindManager,
4
- getMindManager,
5
- initMindManager
6
- } from "./chunk-3Z2DPESO.js";
7
- import "./chunk-SKLSMHXO.js";
8
- import "./chunk-LOEJ4HPQ.js";
9
- import "./chunk-RVGLDGMI.js";
10
- import "./chunk-GY5HBI7A.js";
11
- import "./chunk-7J3HEVR7.js";
12
- import "./chunk-G53F3JA4.js";
13
- import "./chunk-OYAKCAVY.js";
14
- import "./chunk-2NGTS5UU.js";
15
- import "./chunk-A2A4KLFE.js";
16
- import "./chunk-PB65JZK2.js";
17
- import "./chunk-JYVGHWEJ.js";
18
- import "./chunk-KVK2DLWI.js";
19
- import "./chunk-C7I35G4R.js";
20
- import "./chunk-QTUVYI7W.js";
21
- import "./chunk-YUIHSKR6.js";
22
- import "./chunk-KIEPMIM5.js";
23
- import "./chunk-VH33ZWMW.js";
24
- import "./chunk-N432I7QH.js";
25
- import "./chunk-LRCG2JLP.js";
26
- import "./chunk-RPZZSXV3.js";
27
- import "./chunk-K3NQKI34.js";
28
- export {
29
- MindManager,
30
- getMindManager,
31
- initMindManager
32
- };
@@ -1,47 +0,0 @@
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 "./chunk-K3NQKI34.js";
9
-
10
- // src/commands/mind-profile.ts
11
- async function run(args) {
12
- const { flags } = parseArgs(args, {
13
- mind: { type: "string" },
14
- "display-name": { type: "string" },
15
- description: { type: "string" },
16
- avatar: { type: "string" }
17
- });
18
- const name = resolveMindName(flags);
19
- const displayName = flags["display-name"];
20
- const description = flags.description;
21
- const avatar = flags.avatar;
22
- if (!displayName && !description && !avatar) {
23
- console.error(
24
- "Usage: volute mind profile [--mind <name>] [--display-name <name>] [--description <text>] [--avatar <path>]"
25
- );
26
- process.exit(1);
27
- }
28
- const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
29
- const body = {};
30
- if (displayName) body.displayName = displayName;
31
- if (description) body.description = description;
32
- if (avatar) body.avatar = avatar;
33
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/profile`, {
34
- method: "PATCH",
35
- headers: { "Content-Type": "application/json" },
36
- body: JSON.stringify(body)
37
- });
38
- if (!res.ok) {
39
- const data = await res.json().catch(() => ({}));
40
- console.error(data.error ?? `Failed to update profile (HTTP ${res.status})`);
41
- process.exit(1);
42
- }
43
- console.log(`Profile updated for ${name}`);
44
- }
45
- export {
46
- run
47
- };
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- sleepMind,
4
- startMindFull,
5
- startSpiritFull,
6
- stopMindFull,
7
- stopSpiritFull,
8
- wakeMind
9
- } from "./chunk-3Z2DPESO.js";
10
- import "./chunk-SKLSMHXO.js";
11
- import "./chunk-LOEJ4HPQ.js";
12
- import "./chunk-RVGLDGMI.js";
13
- import "./chunk-GY5HBI7A.js";
14
- import "./chunk-7J3HEVR7.js";
15
- import "./chunk-G53F3JA4.js";
16
- import "./chunk-OYAKCAVY.js";
17
- import "./chunk-2NGTS5UU.js";
18
- import "./chunk-A2A4KLFE.js";
19
- import "./chunk-PB65JZK2.js";
20
- import "./chunk-JYVGHWEJ.js";
21
- import "./chunk-KVK2DLWI.js";
22
- import "./chunk-C7I35G4R.js";
23
- import "./chunk-QTUVYI7W.js";
24
- import "./chunk-YUIHSKR6.js";
25
- import "./chunk-KIEPMIM5.js";
26
- import "./chunk-VH33ZWMW.js";
27
- import "./chunk-N432I7QH.js";
28
- import "./chunk-LRCG2JLP.js";
29
- import "./chunk-RPZZSXV3.js";
30
- import "./chunk-K3NQKI34.js";
31
- export {
32
- sleepMind,
33
- startMindFull,
34
- startSpiritFull,
35
- stopMindFull,
36
- stopSpiritFull,
37
- wakeMind
38
- };
@@ -1,42 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-UKVWJRKN.js";
8
- import {
9
- parseArgs
10
- } from "./chunk-D424ZQGI.js";
11
- import "./chunk-LRCG2JLP.js";
12
- import "./chunk-RPZZSXV3.js";
13
- import "./chunk-K3NQKI34.js";
14
-
15
- // src/commands/mind-sleep.ts
16
- async function run(args) {
17
- const { positional, flags } = parseArgs(args, {
18
- mind: { type: "string" },
19
- "wake-at": { type: "string" }
20
- });
21
- const name = positional[0] || resolveMindName(flags);
22
- if (!name) {
23
- console.error("Usage: volute mind sleep <name> [--wake-at <time>]");
24
- process.exit(1);
25
- }
26
- const body = {};
27
- if (flags["wake-at"]) body.wakeAt = flags["wake-at"];
28
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/sleep`, {
29
- method: "POST",
30
- headers: { "Content-Type": "application/json" },
31
- body: JSON.stringify(body)
32
- });
33
- const data = await res.json();
34
- if (!res.ok) {
35
- console.error(data.error || "Failed to put mind to sleep");
36
- process.exit(1);
37
- }
38
- console.log(`${name} is going to sleep`);
39
- }
40
- export {
41
- run
42
- };
@@ -1,56 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-UKVWJRKN.js";
8
- import "./chunk-LRCG2JLP.js";
9
- import "./chunk-RPZZSXV3.js";
10
- import "./chunk-K3NQKI34.js";
11
-
12
- // src/commands/mind-status.ts
13
- async function run(args) {
14
- const name = args[0] || (process.env.VOLUTE_MIND ? resolveMindName({}) : void 0);
15
- if (!name) {
16
- console.error("Usage: volute mind status <name>");
17
- process.exit(1);
18
- }
19
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}`);
20
- if (!res.ok) {
21
- if (res.status === 404) {
22
- console.error(`Mind "${name}" not found`);
23
- } else {
24
- const body = await res.json().catch(() => ({ error: `HTTP ${res.status}` }));
25
- console.error(`Failed to get mind status: ${body.error}`);
26
- }
27
- process.exit(1);
28
- }
29
- const mind = await res.json();
30
- const status = mind.status ?? (mind.running ? "running" : "stopped");
31
- console.log(`Mind: ${mind.name}`);
32
- console.log(`Status: ${status}`);
33
- console.log(`Port: ${mind.port}`);
34
- if (mind.stage) console.log(`Stage: ${mind.stage}`);
35
- if (mind.parent) console.log(`Parent: ${mind.parent}`);
36
- if (mind.model) console.log(`Model: ${mind.model}`);
37
- if (mind.channels && mind.channels.length > 0) {
38
- console.log(`
39
- Channels:`);
40
- for (const ch of mind.channels) {
41
- console.log(` ${ch.type}: ${ch.status}`);
42
- }
43
- }
44
- if (mind.variants && mind.variants.length > 0) {
45
- console.log(`
46
- Variants:`);
47
- for (const v of mind.variants) {
48
- console.log(` ${v.name}: ${v.status}`);
49
- }
50
- }
51
- if (mind.hasPages) console.log(`
52
- Pages: published`);
53
- }
54
- export {
55
- run
56
- };
@@ -1,37 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-UKVWJRKN.js";
8
- import {
9
- parseArgs
10
- } from "./chunk-D424ZQGI.js";
11
- import "./chunk-LRCG2JLP.js";
12
- import "./chunk-RPZZSXV3.js";
13
- import "./chunk-K3NQKI34.js";
14
-
15
- // src/commands/mind-wake.ts
16
- async function run(args) {
17
- const { positional, flags } = parseArgs(args, {
18
- mind: { type: "string" }
19
- });
20
- const name = positional[0] || resolveMindName(flags);
21
- if (!name) {
22
- console.error("Usage: volute mind wake <name>");
23
- process.exit(1);
24
- }
25
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/wake`, {
26
- method: "POST"
27
- });
28
- const data = await res.json();
29
- if (!res.ok) {
30
- console.error(data.error || "Failed to wake mind");
31
- process.exit(1);
32
- }
33
- console.log(`${name} is waking up`);
34
- }
35
- export {
36
- run
37
- };
@@ -1,75 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-UKVWJRKN.js";
8
- import {
9
- parseArgs
10
- } from "./chunk-D424ZQGI.js";
11
- import "./chunk-LRCG2JLP.js";
12
- import "./chunk-RPZZSXV3.js";
13
- import "./chunk-K3NQKI34.js";
14
-
15
- // src/commands/chat/read.ts
16
- async function resolveConversationId(mindName, input) {
17
- if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(input)) {
18
- return input;
19
- }
20
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(mindName)}/conversations`);
21
- if (!res.ok) {
22
- return input;
23
- }
24
- const convs = await res.json();
25
- const cleaned = input.replace(/^[@#]/, "");
26
- const lower = cleaned.toLowerCase();
27
- const channelMatch = convs.find((c) => c.type === "channel" && c.name?.toLowerCase() === lower);
28
- if (channelMatch) return channelMatch.id;
29
- const titleMatch = convs.find((c) => c.title?.toLowerCase() === lower);
30
- if (titleMatch) return titleMatch.id;
31
- const dmMatch = convs.find(
32
- (c) => c.type === "dm" && c.title?.toLowerCase().split(/,\s*/).some((name) => name === lower)
33
- );
34
- if (dmMatch) return dmMatch.id;
35
- const prefixMatch = convs.find((c) => c.id.startsWith(input));
36
- if (prefixMatch) return prefixMatch.id;
37
- return input;
38
- }
39
- async function run(args) {
40
- const { positional, flags } = parseArgs(args, {
41
- mind: { type: "string" },
42
- limit: { type: "number" }
43
- });
44
- const input = positional[0];
45
- if (!input) {
46
- console.error("Usage: volute chat read <conversation> [--limit N] [--mind <name>]");
47
- process.exit(1);
48
- }
49
- const mindName = resolveMindName(flags);
50
- const conversationId = await resolveConversationId(mindName, input);
51
- const limit = String(flags.limit ?? 50);
52
- const res = await daemonFetch(
53
- `/api/minds/${encodeURIComponent(mindName)}/conversations/${encodeURIComponent(conversationId)}/messages?limit=${limit}`
54
- );
55
- if (!res.ok) {
56
- console.error(`Failed to read conversation: ${res.status}`);
57
- process.exit(1);
58
- }
59
- const data = await res.json();
60
- if (!Array.isArray(data.items)) {
61
- console.error("Unexpected response format from server");
62
- process.exit(1);
63
- }
64
- for (const msg of data.items) {
65
- const sender = msg.sender_name ?? msg.role;
66
- const text = Array.isArray(msg.content) ? msg.content.filter((b) => b.type === "text").map((b) => b.text).join("") : msg.content;
67
- const time = new Date(
68
- msg.created_at.endsWith("Z") ? msg.created_at : `${msg.created_at}Z`
69
- ).toLocaleString();
70
- console.log(`[${time}] ${sender}: ${text}`);
71
- }
72
- }
73
- export {
74
- run
75
- };
@@ -1,47 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- promptLine
4
- } from "./chunk-SSI47XP2.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-UKVWJRKN.js";
8
- import {
9
- parseArgs
10
- } from "./chunk-D424ZQGI.js";
11
- import "./chunk-LRCG2JLP.js";
12
- import "./chunk-RPZZSXV3.js";
13
- import "./chunk-K3NQKI34.js";
14
-
15
- // src/commands/systems/register.ts
16
- async function run(args) {
17
- const { flags } = parseArgs(args, {
18
- name: { type: "string" }
19
- });
20
- let name = flags.name;
21
- if (!name) {
22
- if (!process.stdin.isTTY) {
23
- console.error("Usage: volute systems register --name <system-name>");
24
- process.exit(1);
25
- }
26
- name = await promptLine("Choose a system name: ");
27
- if (!name) {
28
- console.error("No name provided.");
29
- process.exit(1);
30
- }
31
- }
32
- const res = await daemonFetch("/api/system/register", {
33
- method: "POST",
34
- headers: { "Content-Type": "application/json" },
35
- body: JSON.stringify({ name })
36
- });
37
- if (!res.ok) {
38
- const body = await res.json().catch(() => ({ error: `HTTP ${res.status}` }));
39
- console.error(`Registration failed: ${body.error}`);
40
- process.exit(1);
41
- }
42
- const { system } = await res.json();
43
- console.log(`Registered as "${system}". Credentials saved.`);
44
- }
45
- export {
46
- run
47
- };
@@ -1,40 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-UKVWJRKN.js";
8
- import {
9
- parseArgs
10
- } from "./chunk-D424ZQGI.js";
11
- import "./chunk-LRCG2JLP.js";
12
- import "./chunk-RPZZSXV3.js";
13
- import "./chunk-K3NQKI34.js";
14
-
15
- // src/commands/chat/reject.ts
16
- async function run(args) {
17
- const { positional, flags } = parseArgs(args, {
18
- mind: { type: "string" }
19
- });
20
- const mind = resolveMindName(flags);
21
- const id = positional[0];
22
- if (!id) {
23
- console.error("Usage: volute chat reject <id> [--mind <name>]");
24
- process.exit(1);
25
- }
26
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(mind)}/files/reject`, {
27
- method: "POST",
28
- headers: { "Content-Type": "application/json" },
29
- body: JSON.stringify({ id })
30
- });
31
- if (!res.ok) {
32
- const data = await res.json();
33
- console.error(data.error ?? `Failed to reject file: ${res.status}`);
34
- process.exit(1);
35
- }
36
- console.log(`File rejected: ${id}`);
37
- }
38
- export {
39
- run
40
- };
@@ -1,33 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- getClient,
7
- urlOf
8
- } from "./chunk-4RQBJWQX.js";
9
- import {
10
- daemonFetch
11
- } from "./chunk-UKVWJRKN.js";
12
- import "./chunk-LRCG2JLP.js";
13
- import "./chunk-RPZZSXV3.js";
14
- import "./chunk-K3NQKI34.js";
15
-
16
- // src/commands/restart.ts
17
- async function run(args) {
18
- const name = resolveMindName({ mind: args[0] });
19
- const client = getClient();
20
- const res = await daemonFetch(
21
- urlOf(client.api.minds[":name"].restart.$url({ param: { name } })),
22
- { method: "POST" }
23
- );
24
- const data = await res.json();
25
- if (!res.ok) {
26
- console.error(data.error || "Failed to restart mind");
27
- process.exit(1);
28
- }
29
- console.log(`${name} restarted on port ${data.port}`);
30
- }
31
- export {
32
- run
33
- };
@@ -1,32 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- Scheduler,
4
- getScheduler,
5
- initScheduler
6
- } from "./chunk-3Z2DPESO.js";
7
- import "./chunk-SKLSMHXO.js";
8
- import "./chunk-LOEJ4HPQ.js";
9
- import "./chunk-RVGLDGMI.js";
10
- import "./chunk-GY5HBI7A.js";
11
- import "./chunk-7J3HEVR7.js";
12
- import "./chunk-G53F3JA4.js";
13
- import "./chunk-OYAKCAVY.js";
14
- import "./chunk-2NGTS5UU.js";
15
- import "./chunk-A2A4KLFE.js";
16
- import "./chunk-PB65JZK2.js";
17
- import "./chunk-JYVGHWEJ.js";
18
- import "./chunk-KVK2DLWI.js";
19
- import "./chunk-C7I35G4R.js";
20
- import "./chunk-QTUVYI7W.js";
21
- import "./chunk-YUIHSKR6.js";
22
- import "./chunk-KIEPMIM5.js";
23
- import "./chunk-VH33ZWMW.js";
24
- import "./chunk-N432I7QH.js";
25
- import "./chunk-LRCG2JLP.js";
26
- import "./chunk-RPZZSXV3.js";
27
- import "./chunk-K3NQKI34.js";
28
- export {
29
- Scheduler,
30
- getScheduler,
31
- initScheduler
32
- };