volute 0.31.0 → 0.33.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 (195) hide show
  1. package/README.md +31 -22
  2. package/dist/{accept-GAKQ3MEH.js → accept-D5VBM7JW.js} +5 -4
  3. package/dist/{activity-events-T5ZRCVAL.js → activity-events-XJO3P4RR.js} +3 -2
  4. package/dist/{ai-service-UWUPM4T6.js → ai-service-SBY2WG7O.js} +18 -5
  5. package/dist/api.d.ts +703 -1068
  6. package/dist/{archive-YBNSJYZZ.js → archive-INXYFVCW.js} +3 -2
  7. package/dist/{auth-T5AW2USD.js → auth-GKCDSO4T.js} +4 -3
  8. package/dist/{bridge-4AJ3EY26.js → bridge-TXWWPPOJ.js} +5 -4
  9. package/dist/{chat-7YLT7FI3.js → chat-U5ZOME3O.js} +8 -8
  10. package/dist/{chunk-NV3TYNWX.js → chunk-2NGTS5UU.js} +1 -1
  11. package/dist/{chunk-BWKIHH7B.js → chunk-3Z2DPESO.js} +662 -508
  12. package/dist/chunk-6LXAAQ43.js +22 -0
  13. package/dist/chunk-7J3HEVR7.js +220 -0
  14. package/dist/{chunk-NOWVQ7AL.js → chunk-A2A4KLFE.js} +351 -301
  15. package/dist/{chunk-LX6T3GKQ.js → chunk-ALEF47VT.js} +1 -1
  16. package/dist/{chunk-S2TZLSDH.js → chunk-C7I35G4R.js} +163 -15
  17. package/dist/{chunk-VGWJSNHS.js → chunk-G53F3JA4.js} +1 -35
  18. package/dist/{chunk-A6TUJJ3L.js → chunk-G6BSYHPK.js} +2 -2
  19. package/dist/{chunk-DAXJKPHZ.js → chunk-GY5HBI7A.js} +2 -2
  20. package/dist/{chunk-BC3P3QCK.js → chunk-I5KY25PQ.js} +1 -9
  21. package/dist/{chunk-BNC43CSY.js → chunk-JUKK7FPS.js} +2 -2
  22. package/dist/{chunk-R5QJBZZG.js → chunk-JYVGHWEJ.js} +21 -11
  23. package/dist/chunk-KIEPMIM5.js +59 -0
  24. package/dist/{chunk-EKDWA7E4.js → chunk-KVK2DLWI.js} +5 -2
  25. package/dist/{chunk-AAO77TZX.js → chunk-LOEJ4HPQ.js} +1 -1
  26. package/dist/chunk-LRCG2JLP.js +251 -0
  27. package/dist/{chunk-EMPFLFTG.js → chunk-M7UL5S3Q.js} +1 -1
  28. package/dist/{chunk-6QIUN46C.js → chunk-N432I7QH.js} +20 -3
  29. package/dist/{chunk-SNVPRRT7.js → chunk-NNB4WIG7.js} +2 -2
  30. package/dist/{chunk-HDKY4TWU.js → chunk-NPKSDYA2.js} +3 -3
  31. package/dist/chunk-OYAKCAVY.js +29 -0
  32. package/dist/chunk-PB65JZK2.js +85 -0
  33. package/dist/chunk-PVY5W6QN.js +41 -0
  34. package/dist/{chunk-PNQCXLSV.js → chunk-QTUVYI7W.js} +58 -1
  35. package/dist/{chunk-X62AXPR7.js → chunk-RPZZSXV3.js} +8 -196
  36. package/dist/{chunk-WRS3B556.js → chunk-RSX4OPZY.js} +5 -5
  37. package/dist/{chunk-FAHDKPEH.js → chunk-RVGLDGMI.js} +5 -3
  38. package/dist/chunk-SKLSMHXO.js +208 -0
  39. package/dist/{chunk-4OUOFS23.js → chunk-UKVWJRKN.js} +1 -1
  40. package/dist/{chunk-57OKQMP3.js → chunk-VH33ZWMW.js} +5 -55
  41. package/dist/cli.js +49 -23
  42. package/dist/{clock-LJCG426D.js → clock-BVH3V6E3.js} +7 -6
  43. package/dist/{cloud-sync-O3LXIRN6.js → cloud-sync-4NWLMFVH.js} +20 -14
  44. package/dist/config-H2H4UIF7.js +72 -0
  45. package/dist/connectors/discord-bridge.js +1 -1
  46. package/dist/connectors/slack-bridge.js +1 -1
  47. package/dist/connectors/telegram-bridge.js +1 -1
  48. package/dist/{conversations-RKKGP5IA.js → conversations-AWI5SZW2.js} +4 -3
  49. package/dist/{create-TL623TFC.js → create-2FK7Z46Y.js} +6 -2
  50. package/dist/{create-WUTIIRI2.js → create-YWD2TIP4.js} +6 -5
  51. package/dist/{daemon-client-CVGM25DM.js → daemon-client-6QXHZ7US.js} +3 -2
  52. package/dist/{daemon-restart-EZP7XH3V.js → daemon-restart-GOBUKLX7.js} +8 -6
  53. package/dist/daemon.js +1918 -1472
  54. package/dist/{db-SW5PL6QA.js → db-F34YLV7D.js} +2 -1
  55. package/dist/db-RA45JBFG.js +16 -0
  56. package/dist/{delete-Z6HAG35F.js → delete-QTGWEDBI.js} +1 -1
  57. package/dist/delivery-manager-PFAKEJTC.js +32 -0
  58. package/dist/delivery-router-FL45JL7N.js +21 -0
  59. package/dist/down-FWWTEKXM.js +15 -0
  60. package/dist/{env-NHESNNSP.js → env-JCOF2222.js} +5 -4
  61. package/dist/{export-EVMP7GWY.js → export-SUYRLI5Q.js} +4 -3
  62. package/dist/{extension-LR7EW3JF.js → extension-OBTGKQQD.js} +5 -3
  63. package/dist/{extensions-NGEJI7JH.js → extensions-KYNTVTMO.js} +10 -7
  64. package/dist/{files-3SM7V33S.js → files-65PMW5IK.js} +6 -5
  65. package/dist/{history-PQD3LXEP.js → history-DKCDI3JO.js} +9 -4
  66. package/dist/{import-PR2OCGQJ.js → import-DDUFE7AY.js} +4 -3
  67. package/dist/isolation-LLAYQYDY.js +22 -0
  68. package/dist/{join-R4EN5CWQ.js → join-I5QEE3LG.js} +1 -1
  69. package/dist/{list-B4XNUOFO.js → list-JQ463EDA.js} +5 -4
  70. package/dist/{login-62JVY6A2.js → login-D7ETSU4R.js} +5 -4
  71. package/dist/{login-URWP6S2N.js → login-RIJF2F4G.js} +3 -2
  72. package/dist/{logout-NXJQJDLI.js → logout-5MLHZALK.js} +3 -2
  73. package/dist/{logout-ZK2N62T3.js → logout-UZJRGY4Z.js} +3 -2
  74. package/dist/message-delivery-DFF5SJRM.js +42 -0
  75. package/dist/{mind-E2ZV2WRX.js → mind-IOJFLEM5.js} +25 -19
  76. package/dist/{mind-activity-tracker-ASNZBMLC.js → mind-activity-tracker-F6O4Q2SL.js} +4 -3
  77. package/dist/{mind-list-BEI7E5WY.js → mind-list-WUPMQDYQ.js} +3 -2
  78. package/dist/mind-manager-NBJF5D26.js +32 -0
  79. package/dist/mind-profile-P67FEHOY.js +47 -0
  80. package/dist/mind-service-2MQ6UK5N.js +38 -0
  81. package/dist/{mind-sleep-CANABWJI.js → mind-sleep-WW2IX7JT.js} +5 -4
  82. package/dist/{mind-status-6WKZVUOP.js → mind-status-L3EFFRPR.js} +3 -2
  83. package/dist/{mind-wake-RZKLH2IN.js → mind-wake-VSSGW465.js} +5 -4
  84. package/dist/{package-NU4CA7OU.js → package-U3VFO273.js} +2 -1
  85. package/dist/{read-THL362EI.js → read-EBY56C33.js} +5 -4
  86. package/dist/read-stdin-HQJ7774D.js +8 -0
  87. package/dist/{register-QAQELAS6.js → register-HD74C4TT.js} +5 -4
  88. package/dist/{registry-ASXCQCNH.js → registry-PJ4S5PHQ.js} +8 -1
  89. package/dist/{reject-AYPBNPNL.js → reject-UJKFBHRO.js} +5 -4
  90. package/dist/{restart-6SKPV3T2.js → restart-3UCMRUVC.js} +3 -2
  91. package/dist/{sandbox-6ZEWQDVU.js → sandbox-GJOK4QLQ.js} +4 -3
  92. package/dist/scheduler-ZZ7XGQG6.js +32 -0
  93. package/dist/schema-PA3M5ZKH.js +32 -0
  94. package/dist/seed-QDYVLG74.js +11 -0
  95. package/dist/seed-check-S2IX25RL.js +32 -0
  96. package/dist/seed-cmd-DKOUFEAU.js +36 -0
  97. package/dist/{seed-OWX2AW75.js → seed-create-4XBBOLRH.js} +27 -10
  98. package/dist/{sprout-FDVI2CGN.js → seed-sprout-GQEIIQRT.js} +24 -9
  99. package/dist/{send-ZO4BTWXK.js → send-QIV2INHB.js} +92 -101
  100. package/dist/{setup-7CFITEQN.js → setup-TISPCO22.js} +7 -2
  101. package/dist/{setup-ZXBXG7E4.js → setup-XMCBE3LF.js} +11 -7
  102. package/dist/{skill-YFXP67A2.js → skill-PSQGRRJX.js} +5 -4
  103. package/dist/skills/dreaming/SKILL.md +6 -4
  104. package/dist/skills/dreaming/references/INSTALL.md +2 -2
  105. package/dist/skills/dreaming/scripts/dream.ts +2 -2
  106. package/dist/skills/dreaming/scripts/wake-context-dreams.sh +1 -1
  107. package/dist/skills/imagegen/SKILL.md +16 -11
  108. package/dist/skills/imagegen/references/INSTALL.md +1 -1
  109. package/dist/skills/imagegen/scripts/imagegen.ts +146 -25
  110. package/dist/skills/orientation/SKILL.md +9 -2
  111. package/dist/skills/resonance/SKILL.md +4 -1
  112. package/dist/skills/resonance/references/INSTALL.md +2 -2
  113. package/dist/skills/resonance/scripts/resonance-hook.sh +2 -0
  114. package/dist/skills/resonance/scripts/resonance.ts +35 -5
  115. package/dist/skills/seed-nurture/SKILL.md +42 -0
  116. package/dist/skills/volute-admin/SKILL.md +83 -0
  117. package/dist/skills/volute-mind/SKILL.md +15 -11
  118. package/dist/skills-7FV7EJTE.js +62 -0
  119. package/dist/sleep-manager-JTXSN7NV.js +36 -0
  120. package/dist/spirit-VRONKFMF.js +23 -0
  121. package/dist/{split-MI62KJUU.js → split-STOROBYJ.js} +1 -1
  122. package/dist/sprout-WKLZXUIQ.js +11 -0
  123. package/dist/{start-D64BRKPH.js → start-K2NCUUCG.js} +3 -2
  124. package/dist/{status-ZZWBYFGE.js → status-3JBTFSMI.js} +6 -4
  125. package/dist/{stop-OP2CTXCO.js → stop-H26JZDXF.js} +3 -2
  126. package/dist/system-chat-JAPOJ3KE.js +36 -0
  127. package/dist/{systems-EQPPT4B7.js → systems-XRI52VCH.js} +6 -5
  128. package/dist/{tailscale-6DJKUMNF.js → tailscale-XHQBZROW.js} +2 -1
  129. package/dist/{template-hash-3HOR4UAJ.js → template-hash-A6VVKOXJ.js} +2 -1
  130. package/dist/up-M5AS6SBV.js +18 -0
  131. package/dist/{update-KUJXATRS.js → update-UD543CXX.js} +6 -4
  132. package/dist/{update-check-5WVSU37T.js → update-check-ZD6OOIYQ.js} +3 -2
  133. package/dist/{upgrade-KBHCWX6T.js → upgrade-O4Q7WJM3.js} +12 -14
  134. package/dist/{version-notify-75ELVKPV.js → version-notify-NBI2MTJO.js} +22 -16
  135. package/dist/volute-config-HD7WWUQC.js +10 -0
  136. package/dist/web-assets/assets/index-CWJrVveV.css +1 -0
  137. package/dist/web-assets/assets/index-DJt14FRI.js +75 -0
  138. package/dist/web-assets/ext-theme.css +93 -0
  139. package/dist/web-assets/index.html +2 -2
  140. package/drizzle/0004_spirits.sql +5 -0
  141. package/drizzle/meta/0004_snapshot.json +7 -0
  142. package/drizzle/meta/_journal.json +7 -0
  143. package/package.json +2 -1
  144. package/packages/extensions/notes/dist/ui/assets/index-8jWEv9SA.js +61 -0
  145. package/packages/extensions/notes/dist/ui/assets/index-DkaB7Ytd.css +1 -0
  146. package/packages/extensions/notes/dist/ui/index.html +2 -2
  147. package/packages/extensions/pages/skills/pages/SKILL.md +16 -46
  148. package/templates/_base/.init/.config/hooks/pre-prompt/session-activity.ts +40 -0
  149. package/templates/_base/.init/{.config → .local}/bin/volute +1 -1
  150. package/templates/_base/.init/.local/hooks/pre-prompt/session-activity.ts +40 -0
  151. package/templates/_base/.init/.local/hooks/startup-context.ts +58 -0
  152. package/templates/_base/home/.config/routes.json +1 -1
  153. package/templates/_base/src/lib/daemon-client.ts +21 -13
  154. package/templates/_base/src/lib/format-prefix.ts +1 -0
  155. package/templates/_base/src/lib/hook-loader.ts +155 -0
  156. package/templates/_base/src/lib/startup.ts +11 -4
  157. package/templates/_base/src/lib/transparency.ts +2 -2
  158. package/templates/claude/.init/.claude/settings.json +1 -1
  159. package/templates/claude/.init/.config/routes.json +2 -2
  160. package/templates/claude/src/agent.ts +95 -13
  161. package/templates/claude/src/lib/message-channel.ts +7 -2
  162. package/templates/claude/src/lib/stream-consumer.ts +38 -0
  163. package/templates/codex/.init/.config/routes.json +11 -0
  164. package/templates/codex/.init/AGENTS.md +29 -0
  165. package/templates/codex/home/.config/config.json.tmpl +7 -0
  166. package/templates/codex/package.json.tmpl +20 -0
  167. package/templates/codex/src/agent.ts +554 -0
  168. package/templates/codex/src/lib/content.ts +16 -0
  169. package/templates/codex/src/lib/session-store.ts +56 -0
  170. package/templates/codex/src/server.ts +59 -0
  171. package/templates/codex/volute-template.json +8 -0
  172. package/templates/pi/.init/.config/routes.json +2 -2
  173. package/templates/pi/src/agent.ts +62 -8
  174. package/templates/pi/src/lib/event-handler.ts +1 -1
  175. package/templates/pi/src/lib/reply-instructions-extension.ts +32 -11
  176. package/dist/chunk-HR5JKIDG.js +0 -222
  177. package/dist/down-TS4XQBA4.js +0 -13
  178. package/dist/message-delivery-UJHCLVU4.js +0 -30
  179. package/dist/mind-manager-IPA6DZXD.js +0 -26
  180. package/dist/pages-watcher-72OVPRMH.js +0 -22
  181. package/dist/skills/sessions/SKILL.md +0 -49
  182. package/dist/sleep-manager-TPS6OGCA.js +0 -30
  183. package/dist/system-chat-B43GIXQU.js +0 -30
  184. package/dist/up-TDXEP3VA.js +0 -16
  185. package/dist/web-assets/assets/index-BM1cTzBg.js +0 -72
  186. package/dist/web-assets/assets/index-BfJkKTPF.css +0 -1
  187. package/packages/extensions/notes/dist/ui/assets/index-B8GdTnXs.css +0 -1
  188. package/packages/extensions/notes/dist/ui/assets/index-CDpGTCWb.js +0 -2
  189. package/packages/extensions/pages/skills/pages/scripts/pages.mjs +0 -58
  190. package/templates/_base/.init/.config/hooks/startup-context.sh +0 -46
  191. package/templates/_base/.init/.config/scripts/session-reader.ts +0 -59
  192. package/templates/_base/src/lib/session-monitor.ts +0 -400
  193. package/templates/claude/src/lib/hooks/session-context.ts +0 -32
  194. package/templates/pi/src/lib/session-context-extension.ts +0 -35
  195. /package/templates/_base/.init/{.config → .local}/hooks/wake-context.sh +0 -0
@@ -0,0 +1,38 @@
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
+ };
@@ -2,13 +2,14 @@
2
2
  import {
3
3
  resolveMindName
4
4
  } from "./chunk-NAOW2CLO.js";
5
+ import {
6
+ daemonFetch
7
+ } from "./chunk-UKVWJRKN.js";
5
8
  import {
6
9
  parseArgs
7
10
  } from "./chunk-D424ZQGI.js";
8
- import {
9
- daemonFetch
10
- } from "./chunk-4OUOFS23.js";
11
- import "./chunk-X62AXPR7.js";
11
+ import "./chunk-LRCG2JLP.js";
12
+ import "./chunk-RPZZSXV3.js";
12
13
  import "./chunk-K3NQKI34.js";
13
14
 
14
15
  // src/commands/mind-sleep.ts
@@ -4,8 +4,9 @@ import {
4
4
  } from "./chunk-NAOW2CLO.js";
5
5
  import {
6
6
  daemonFetch
7
- } from "./chunk-4OUOFS23.js";
8
- import "./chunk-X62AXPR7.js";
7
+ } from "./chunk-UKVWJRKN.js";
8
+ import "./chunk-LRCG2JLP.js";
9
+ import "./chunk-RPZZSXV3.js";
9
10
  import "./chunk-K3NQKI34.js";
10
11
 
11
12
  // src/commands/mind-status.ts
@@ -2,13 +2,14 @@
2
2
  import {
3
3
  resolveMindName
4
4
  } from "./chunk-NAOW2CLO.js";
5
+ import {
6
+ daemonFetch
7
+ } from "./chunk-UKVWJRKN.js";
5
8
  import {
6
9
  parseArgs
7
10
  } from "./chunk-D424ZQGI.js";
8
- import {
9
- daemonFetch
10
- } from "./chunk-4OUOFS23.js";
11
- import "./chunk-X62AXPR7.js";
11
+ import "./chunk-LRCG2JLP.js";
12
+ import "./chunk-RPZZSXV3.js";
12
13
  import "./chunk-K3NQKI34.js";
13
14
 
14
15
  // 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.31.0",
7
+ version: "0.33.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",
@@ -79,6 +79,7 @@ var package_default = {
79
79
  "drizzle-orm": "^0.45.1",
80
80
  hono: "^4.11.7",
81
81
  libsql: "^0.5.22",
82
+ replicate: "^1.4.0",
82
83
  telegraf: "^4.16.3",
83
84
  zod: "^4.3.6"
84
85
  },
@@ -2,13 +2,14 @@
2
2
  import {
3
3
  resolveMindName
4
4
  } from "./chunk-NAOW2CLO.js";
5
+ import {
6
+ daemonFetch
7
+ } from "./chunk-UKVWJRKN.js";
5
8
  import {
6
9
  parseArgs
7
10
  } from "./chunk-D424ZQGI.js";
8
- import {
9
- daemonFetch
10
- } from "./chunk-4OUOFS23.js";
11
- import "./chunk-X62AXPR7.js";
11
+ import "./chunk-LRCG2JLP.js";
12
+ import "./chunk-RPZZSXV3.js";
12
13
  import "./chunk-K3NQKI34.js";
13
14
 
14
15
  // src/commands/chat/read.ts
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ readStdin
4
+ } from "./chunk-6LXAAQ43.js";
5
+ import "./chunk-K3NQKI34.js";
6
+ export {
7
+ readStdin
8
+ };
@@ -2,13 +2,14 @@
2
2
  import {
3
3
  promptLine
4
4
  } from "./chunk-SSI47XP2.js";
5
+ import {
6
+ daemonFetch
7
+ } from "./chunk-UKVWJRKN.js";
5
8
  import {
6
9
  parseArgs
7
10
  } from "./chunk-D424ZQGI.js";
8
- import {
9
- daemonFetch
10
- } from "./chunk-4OUOFS23.js";
11
- import "./chunk-X62AXPR7.js";
11
+ import "./chunk-LRCG2JLP.js";
12
+ import "./chunk-RPZZSXV3.js";
12
13
  import "./chunk-K3NQKI34.js";
13
14
 
14
15
  // src/commands/systems/register.ts
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  addMind,
4
+ addSpirit,
4
5
  addVariant,
5
6
  daemonLoopback,
6
7
  ensureSystemDir,
@@ -12,7 +13,9 @@ import {
12
13
  nextPort,
13
14
  readAllMinds,
14
15
  readRegistry,
16
+ readSpirits,
15
17
  removeMind,
18
+ resolveMindDir,
16
19
  setMindRunning,
17
20
  setMindStage,
18
21
  setMindTemplateHash,
@@ -21,10 +24,12 @@ import {
21
24
  voluteHome,
22
25
  voluteSystemDir,
23
26
  voluteUserHome
24
- } from "./chunk-X62AXPR7.js";
27
+ } from "./chunk-LRCG2JLP.js";
28
+ import "./chunk-RPZZSXV3.js";
25
29
  import "./chunk-K3NQKI34.js";
26
30
  export {
27
31
  addMind,
32
+ addSpirit,
28
33
  addVariant,
29
34
  daemonLoopback,
30
35
  ensureSystemDir,
@@ -36,7 +41,9 @@ export {
36
41
  nextPort,
37
42
  readAllMinds,
38
43
  readRegistry,
44
+ readSpirits,
39
45
  removeMind,
46
+ resolveMindDir,
40
47
  setMindRunning,
41
48
  setMindStage,
42
49
  setMindTemplateHash,
@@ -2,13 +2,14 @@
2
2
  import {
3
3
  resolveMindName
4
4
  } from "./chunk-NAOW2CLO.js";
5
+ import {
6
+ daemonFetch
7
+ } from "./chunk-UKVWJRKN.js";
5
8
  import {
6
9
  parseArgs
7
10
  } from "./chunk-D424ZQGI.js";
8
- import {
9
- daemonFetch
10
- } from "./chunk-4OUOFS23.js";
11
- import "./chunk-X62AXPR7.js";
11
+ import "./chunk-LRCG2JLP.js";
12
+ import "./chunk-RPZZSXV3.js";
12
13
  import "./chunk-K3NQKI34.js";
13
14
 
14
15
  // src/commands/chat/reject.ts
@@ -8,8 +8,9 @@ import {
8
8
  } from "./chunk-4RQBJWQX.js";
9
9
  import {
10
10
  daemonFetch
11
- } from "./chunk-4OUOFS23.js";
12
- import "./chunk-X62AXPR7.js";
11
+ } from "./chunk-UKVWJRKN.js";
12
+ import "./chunk-LRCG2JLP.js";
13
+ import "./chunk-RPZZSXV3.js";
13
14
  import "./chunk-K3NQKI34.js";
14
15
 
15
16
  // src/commands/restart.ts
@@ -5,10 +5,11 @@ import {
5
5
  isSandboxEnabled,
6
6
  shellEscape,
7
7
  wrapForSandbox
8
- } from "./chunk-DAXJKPHZ.js";
8
+ } from "./chunk-GY5HBI7A.js";
9
9
  import "./chunk-YUIHSKR6.js";
10
- import "./chunk-6QIUN46C.js";
11
- import "./chunk-X62AXPR7.js";
10
+ import "./chunk-N432I7QH.js";
11
+ import "./chunk-LRCG2JLP.js";
12
+ import "./chunk-RPZZSXV3.js";
12
13
  import "./chunk-K3NQKI34.js";
13
14
  export {
14
15
  buildDenyRead,
@@ -0,0 +1,32 @@
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
+ };
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ activity,
4
+ conversationParticipants,
5
+ conversationReads,
6
+ conversations,
7
+ deliveryQueue,
8
+ messages,
9
+ mindHistory,
10
+ minds,
11
+ sessions,
12
+ sharedSkills,
13
+ systemPrompts,
14
+ turns,
15
+ users
16
+ } from "./chunk-RPZZSXV3.js";
17
+ import "./chunk-K3NQKI34.js";
18
+ export {
19
+ activity,
20
+ conversationParticipants,
21
+ conversationReads,
22
+ conversations,
23
+ deliveryQueue,
24
+ messages,
25
+ mindHistory,
26
+ minds,
27
+ sessions,
28
+ sharedSkills,
29
+ systemPrompts,
30
+ turns,
31
+ users
32
+ };
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ import "./chunk-K3NQKI34.js";
3
+
4
+ // src/commands/seed.ts
5
+ async function run(args) {
6
+ console.error("Note: `volute mind seed` is now `volute seed create`");
7
+ await import("./seed-create-4XBBOLRH.js").then((m) => m.run(args));
8
+ }
9
+ export {
10
+ run
11
+ };
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ parseArgs
4
+ } from "./chunk-D424ZQGI.js";
5
+ import "./chunk-K3NQKI34.js";
6
+
7
+ // src/commands/seed-check.ts
8
+ async function run(args) {
9
+ const { positional } = parseArgs(args, {});
10
+ const name = positional[0];
11
+ if (!name) {
12
+ console.error("Usage: volute seed check <name>");
13
+ process.exit(1);
14
+ }
15
+ const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
16
+ const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/seed-check`);
17
+ if (!res.ok) {
18
+ if (res.status === 404) {
19
+ console.log(`Seed "${name}" not found \u2014 it may have been deleted or already sprouted.`);
20
+ } else {
21
+ console.error(`seed check failed for ${name}: HTTP ${res.status}`);
22
+ }
23
+ return;
24
+ }
25
+ const data = await res.json();
26
+ if (data.output) {
27
+ console.log(data.output);
28
+ }
29
+ }
30
+ export {
31
+ run
32
+ };
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env node
2
+ import "./chunk-K3NQKI34.js";
3
+
4
+ // src/commands/seed-cmd.ts
5
+ async function run(args) {
6
+ const subcommand = args[0];
7
+ switch (subcommand) {
8
+ case "create":
9
+ await import("./seed-create-4XBBOLRH.js").then((m) => m.run(args.slice(1)));
10
+ break;
11
+ case "sprout":
12
+ await import("./seed-sprout-GQEIIQRT.js").then((m) => m.run(args.slice(1)));
13
+ break;
14
+ case "check":
15
+ await import("./seed-check-S2IX25RL.js").then((m) => m.run(args.slice(1)));
16
+ break;
17
+ case "--help":
18
+ case "-h":
19
+ case void 0:
20
+ printUsage();
21
+ break;
22
+ default:
23
+ printUsage();
24
+ process.exit(1);
25
+ }
26
+ }
27
+ function printUsage() {
28
+ console.log(`volute seed \u2014 seed lifecycle
29
+
30
+ volute seed create <name> Plant a new seed
31
+ volute seed sprout Complete orientation and become a full mind
32
+ volute seed check <name> Check seed readiness (used by spirit scheduler)`);
33
+ }
34
+ export {
35
+ run
36
+ };
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-D424ZQGI.js";
8
8
  import "./chunk-K3NQKI34.js";
9
9
 
10
- // src/commands/seed.ts
10
+ // src/commands/seed-create.ts
11
11
  async function chooseModel(daemonFetch) {
12
12
  const res = await daemonFetch("/api/system/ai/models");
13
13
  if (!res.ok) {
@@ -36,26 +36,42 @@ async function run(args) {
36
36
  template: { type: "string" },
37
37
  model: { type: "string" },
38
38
  description: { type: "string" },
39
- skills: { type: "string" }
39
+ skills: { type: "string" },
40
+ "created-by": { type: "string" }
40
41
  });
41
42
  const name = positional[0];
42
43
  if (!name) {
43
44
  console.error(
44
- "Usage: volute mind seed <name> [--template <name>] [--model <model>] [--description <text>] [--skills <list|none>]"
45
+ "Usage: volute seed create <name> [--template <name>] [--model <model>] [--description <text>] [--skills <list|none>] [--created-by <username>]"
45
46
  );
46
47
  process.exit(1);
47
48
  }
48
- const template = flags.template ?? "claude";
49
49
  const skills = flags.skills === "none" ? [] : flags.skills ? flags.skills.split(",") : void 0;
50
- const { daemonFetch } = await import("./daemon-client-CVGM25DM.js");
50
+ const createdBy = flags["created-by"];
51
+ const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
51
52
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
52
53
  const client = getClient();
53
54
  let model = flags.model;
54
- if (template === "pi" && !model) {
55
- model = await chooseModel(daemonFetch);
55
+ let template = flags.template;
56
+ if (!template) {
57
+ const { resolveTemplate } = await import("./ai-service-SBY2WG7O.js");
58
+ template = resolveTemplate(model);
59
+ }
60
+ if (template !== "claude" && !model) {
61
+ if (process.env.VOLUTE_MIND || !process.stdin.isTTY) {
62
+ const { getSpiritModel } = await import("./spirit-VRONKFMF.js");
63
+ const { qualifyModelId } = await import("./ai-service-SBY2WG7O.js");
64
+ const spiritModel = getSpiritModel();
65
+ if (spiritModel) {
66
+ model = template === "pi" ? qualifyModelId(spiritModel) : spiritModel;
67
+ }
68
+ }
56
69
  if (!model) {
57
- console.error("No AI models configured. Set up providers in the web dashboard first.");
58
- process.exit(1);
70
+ model = await chooseModel(daemonFetch);
71
+ if (!model) {
72
+ console.error("No AI models configured. Set up providers in the web dashboard first.");
73
+ process.exit(1);
74
+ }
59
75
  }
60
76
  }
61
77
  const createRes = await daemonFetch(urlOf(client.api.minds.$url()), {
@@ -67,7 +83,8 @@ async function run(args) {
67
83
  stage: "seed",
68
84
  description: flags.description,
69
85
  model,
70
- skills
86
+ skills,
87
+ createdBy
71
88
  })
72
89
  });
73
90
  const createData = await createRes.json();
@@ -1,24 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getStandardSkillsWithExtensions
4
- } from "./chunk-S2TZLSDH.js";
4
+ } from "./chunk-C7I35G4R.js";
5
5
  import "./chunk-YUIHSKR6.js";
6
- import "./chunk-57OKQMP3.js";
7
- import "./chunk-6QIUN46C.js";
6
+ import "./chunk-KIEPMIM5.js";
7
+ import "./chunk-VH33ZWMW.js";
8
+ import "./chunk-N432I7QH.js";
8
9
  import {
9
10
  findMind,
10
11
  mindDir
11
- } from "./chunk-X62AXPR7.js";
12
+ } from "./chunk-LRCG2JLP.js";
13
+ import "./chunk-RPZZSXV3.js";
12
14
  import "./chunk-K3NQKI34.js";
13
15
 
14
- // src/commands/sprout.ts
16
+ // src/commands/seed-sprout.ts
15
17
  import { existsSync, readFileSync } from "fs";
16
18
  import { resolve } from "path";
17
19
  var ORIENTATION_MARKER = "You don't have a soul yet";
18
20
  async function run(_args) {
19
21
  const mindName = process.env.VOLUTE_MIND;
20
22
  if (!mindName) {
21
- console.error("volute mind sprout must be run by a mind (VOLUTE_MIND not set)");
23
+ console.error("volute seed sprout must be run by a mind (VOLUTE_MIND not set)");
22
24
  process.exit(1);
23
25
  }
24
26
  const entry = await findMind(mindName);
@@ -48,12 +50,25 @@ async function run(_args) {
48
50
  console.error("Write your MEMORY.md before sprouting.");
49
51
  process.exit(1);
50
52
  }
51
- const { daemonFetch } = await import("./daemon-client-CVGM25DM.js");
53
+ const { isImagegenEnabled } = await import("./setup-TISPCO22.js");
54
+ if (isImagegenEnabled()) {
55
+ const { readVoluteConfig } = await import("./volute-config-HD7WWUQC.js");
56
+ const config = readVoluteConfig(dir);
57
+ const avatarPath = config?.profile?.avatar;
58
+ if (!avatarPath || !existsSync(resolve(dir, "home", avatarPath))) {
59
+ console.error(
60
+ "Generate an avatar before sprouting. Use `imagegen generate` to create one, then `volute mind profile --avatar <path>` to set it."
61
+ );
62
+ process.exit(1);
63
+ }
64
+ }
65
+ const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
52
66
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
67
+ const { mindSkillsDir } = await import("./skills-7FV7EJTE.js");
53
68
  const client = getClient();
54
69
  const failedSkills = [];
55
70
  for (const skillId of getStandardSkillsWithExtensions()) {
56
- const skillDir = resolve(dir, "home", ".claude", "skills", skillId);
71
+ const skillDir = resolve(mindSkillsDir(dir), skillId);
57
72
  if (!existsSync(skillDir)) {
58
73
  const installRes = await daemonFetch(
59
74
  urlOf(client.api.minds[":name"].skills.install.$url({ param: { name: mindName } })),
@@ -70,7 +85,7 @@ async function run(_args) {
70
85
  }
71
86
  }
72
87
  }
73
- const orientationDir = resolve(dir, "home", ".claude", "skills", "orientation");
88
+ const orientationDir = resolve(mindSkillsDir(dir), "orientation");
74
89
  if (existsSync(orientationDir)) {
75
90
  const delRes = await daemonFetch(
76
91
  urlOf(