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
package/dist/cli.js CHANGED
@@ -10,13 +10,28 @@ if (!process.env.VOLUTE_HOME) {
10
10
  var command = process.argv[2];
11
11
  var args = process.argv.slice(3);
12
12
  if (command === "--version" || command === "-v") {
13
- const { default: pkg } = await import("./package-NU4CA7OU.js");
13
+ const { default: pkg } = await import("./package-U3VFO273.js");
14
14
  console.log(pkg.version);
15
15
  process.exit(0);
16
16
  }
17
- var ungatedCommands = /* @__PURE__ */ new Set(["setup", "--help", "-h", "--version", "-v", "update", void 0]);
17
+ var ungatedCommands = /* @__PURE__ */ new Set([
18
+ "setup",
19
+ "--help",
20
+ "-h",
21
+ "--version",
22
+ "-v",
23
+ "update",
24
+ "up",
25
+ "down",
26
+ "restart",
27
+ "status",
28
+ "login",
29
+ "logout",
30
+ "service",
31
+ void 0
32
+ ]);
18
33
  if (!ungatedCommands.has(command)) {
19
- const { isSetupComplete } = await import("./setup-7CFITEQN.js");
34
+ const { isSetupComplete } = await import("./setup-TISPCO22.js");
20
35
  if (!isSetupComplete()) {
21
36
  console.error("Volute is not set up. Run `volute setup` first.");
22
37
  process.exit(1);
@@ -24,52 +39,58 @@ if (!ungatedCommands.has(command)) {
24
39
  }
25
40
  switch (command) {
26
41
  case "setup":
27
- await import("./setup-ZXBXG7E4.js").then((m) => m.run(args));
42
+ await import("./setup-XMCBE3LF.js").then((m) => m.run(args));
28
43
  break;
29
44
  case "mind":
30
- await import("./mind-E2ZV2WRX.js").then((m) => m.run(args));
45
+ await import("./mind-IOJFLEM5.js").then((m) => m.run(args));
46
+ break;
47
+ case "seed":
48
+ await import("./seed-cmd-DKOUFEAU.js").then((m) => m.run(args));
31
49
  break;
32
50
  case "chat":
33
- await import("./chat-7YLT7FI3.js").then((m) => m.run(args));
51
+ await import("./chat-U5ZOME3O.js").then((m) => m.run(args));
34
52
  break;
35
53
  case "variant":
36
54
  await import("./variant-7TGZHOU3.js").then((m) => m.run(args));
37
55
  break;
38
56
  case "clock":
39
- await import("./clock-LJCG426D.js").then((m) => m.run(args));
57
+ await import("./clock-BVH3V6E3.js").then((m) => m.run(args));
40
58
  break;
41
59
  case "skill":
42
- await import("./skill-YFXP67A2.js").then((m) => m.run(args));
60
+ await import("./skill-PSQGRRJX.js").then((m) => m.run(args));
43
61
  break;
44
62
  case "env":
45
- await import("./env-NHESNNSP.js").then((m) => m.run(args));
63
+ await import("./env-JCOF2222.js").then((m) => m.run(args));
64
+ break;
65
+ case "config":
66
+ await import("./config-H2H4UIF7.js").then((m) => m.run(args));
46
67
  break;
47
68
  case "up":
48
- await import("./up-TDXEP3VA.js").then((m) => m.run(args));
69
+ await import("./up-M5AS6SBV.js").then((m) => m.run(args));
49
70
  break;
50
71
  case "down":
51
- await import("./down-TS4XQBA4.js").then((m) => m.run(args));
72
+ await import("./down-FWWTEKXM.js").then((m) => m.run(args));
52
73
  break;
53
74
  case "restart":
54
- await import("./daemon-restart-EZP7XH3V.js").then((m) => m.run(args));
75
+ await import("./daemon-restart-GOBUKLX7.js").then((m) => m.run(args));
55
76
  break;
56
77
  case "update":
57
- await import("./update-KUJXATRS.js").then((m) => m.run(args));
78
+ await import("./update-UD543CXX.js").then((m) => m.run(args));
58
79
  break;
59
80
  case "status":
60
- await import("./status-ZZWBYFGE.js").then((m) => m.run(args));
81
+ await import("./status-3JBTFSMI.js").then((m) => m.run(args));
61
82
  break;
62
83
  case "extension":
63
- await import("./extension-LR7EW3JF.js").then((m) => m.run(args));
84
+ await import("./extension-OBTGKQQD.js").then((m) => m.run(args));
64
85
  break;
65
86
  case "systems":
66
- await import("./systems-EQPPT4B7.js").then((m) => m.run(args));
87
+ await import("./systems-XRI52VCH.js").then((m) => m.run(args));
67
88
  break;
68
89
  case "login":
69
- await import("./login-URWP6S2N.js").then((m) => m.run(args));
90
+ await import("./login-RIJF2F4G.js").then((m) => m.run(args));
70
91
  break;
71
92
  case "logout":
72
- await import("./logout-NXJQJDLI.js").then((m) => m.run(args));
93
+ await import("./logout-5MLHZALK.js").then((m) => m.run(args));
73
94
  break;
74
95
  case "--help":
75
96
  case "-h":
@@ -83,15 +104,18 @@ Common:
83
104
 
84
105
  Mind:
85
106
  mind create <name> Create a new mind
86
- mind seed <name> Plant a seed mind (orientation mode)
87
107
  mind start/stop/restart [name] Control a mind
88
108
  mind list List all minds
89
109
  mind status [name] Check a mind's status
90
110
  mind history [name] [--full] View mind activity history
91
- mind sprout Complete orientation
111
+ mind profile [--mind] [...] Set display name, description, avatar
92
112
  mind split/join Create and merge experimental splits
93
113
  mind upgrade/import/export Lifecycle operations
94
114
 
115
+ Seed:
116
+ seed create <name> Plant a new seed mind
117
+ seed sprout Complete orientation and become a full mind
118
+
95
119
  Configuration:
96
120
  chat Conversations, messages, files, and platform bridges
97
121
  clock Schedules, timers, and sleep/wake cycles
@@ -123,7 +147,7 @@ use --mind <name> or VOLUTE_MIND env var to identify the mind.`);
123
147
  default: {
124
148
  let isExtensionCommand = false;
125
149
  try {
126
- const { daemonFetch } = await import("./daemon-client-CVGM25DM.js");
150
+ const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
127
151
  const res = await daemonFetch("/api/extensions/commands");
128
152
  if (res.ok) {
129
153
  const extCommands = await res.json();
@@ -146,10 +170,12 @@ use --mind <name> or VOLUTE_MIND env var to identify the mind.`);
146
170
  mind = cmdArgs[mindIdx + 1];
147
171
  cmdArgs.splice(mindIdx, 2);
148
172
  }
173
+ const { readStdin } = await import("./read-stdin-HQJ7774D.js");
174
+ const stdin = await readStdin();
149
175
  const cmdRes = await daemonFetch(`/api/ext/${command}/commands/${subcommand}`, {
150
176
  method: "POST",
151
177
  headers: { "Content-Type": "application/json" },
152
- body: JSON.stringify({ args: cmdArgs, mind })
178
+ body: JSON.stringify({ args: cmdArgs, mind, stdin })
153
179
  });
154
180
  if (!cmdRes.ok) {
155
181
  const text = await cmdRes.text().catch(() => "");
@@ -177,7 +203,7 @@ Run 'volute --help' for usage.`);
177
203
  }
178
204
  }
179
205
  if (command !== "update") {
180
- import("./update-check-5WVSU37T.js").then((m) => m.checkForUpdate()).then((result) => {
206
+ import("./update-check-ZD6OOIYQ.js").then((m) => m.checkForUpdate()).then((result) => {
181
207
  if (result.updateAvailable) {
182
208
  console.error(`
183
209
  Update available: ${result.current} \u2192 ${result.latest}`);
@@ -6,13 +6,14 @@ import {
6
6
  getClient,
7
7
  urlOf
8
8
  } from "./chunk-4RQBJWQX.js";
9
+ import {
10
+ daemonFetch
11
+ } from "./chunk-UKVWJRKN.js";
9
12
  import {
10
13
  parseArgs
11
14
  } from "./chunk-D424ZQGI.js";
12
- import {
13
- daemonFetch
14
- } from "./chunk-4OUOFS23.js";
15
- import "./chunk-X62AXPR7.js";
15
+ import "./chunk-LRCG2JLP.js";
16
+ import "./chunk-RPZZSXV3.js";
16
17
  import "./chunk-K3NQKI34.js";
17
18
 
18
19
  // src/commands/clock.ts
@@ -33,10 +34,10 @@ async function run(args) {
33
34
  await removeSchedule(args.slice(1));
34
35
  break;
35
36
  case "sleep":
36
- await import("./mind-sleep-CANABWJI.js").then((m) => m.run(args.slice(1)));
37
+ await import("./mind-sleep-WW2IX7JT.js").then((m) => m.run(args.slice(1)));
37
38
  break;
38
39
  case "wake":
39
- await import("./mind-wake-RZKLH2IN.js").then((m) => m.run(args.slice(1)));
40
+ await import("./mind-wake-VSSGW465.js").then((m) => m.run(args.slice(1)));
40
41
  break;
41
42
  case "--help":
42
43
  case "-h":
@@ -1,26 +1,32 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  deliverMessage
4
- } from "./chunk-BWKIHH7B.js";
4
+ } from "./chunk-3Z2DPESO.js";
5
+ import "./chunk-SKLSMHXO.js";
6
+ import "./chunk-LOEJ4HPQ.js";
5
7
  import {
6
8
  getAuthHeaders,
7
9
  getWebhookUrl
8
- } from "./chunk-FAHDKPEH.js";
9
- import "./chunk-DAXJKPHZ.js";
10
- import "./chunk-AAO77TZX.js";
11
- import "./chunk-NOWVQ7AL.js";
12
- import "./chunk-R5QJBZZG.js";
13
- import "./chunk-EKDWA7E4.js";
14
- import "./chunk-S2TZLSDH.js";
15
- import "./chunk-NV3TYNWX.js";
16
- import "./chunk-PNQCXLSV.js";
10
+ } from "./chunk-RVGLDGMI.js";
11
+ import "./chunk-GY5HBI7A.js";
12
+ import "./chunk-7J3HEVR7.js";
13
+ import "./chunk-G53F3JA4.js";
14
+ import "./chunk-OYAKCAVY.js";
15
+ import "./chunk-2NGTS5UU.js";
16
+ import "./chunk-A2A4KLFE.js";
17
+ import "./chunk-PB65JZK2.js";
18
+ import "./chunk-JYVGHWEJ.js";
19
+ import "./chunk-KVK2DLWI.js";
20
+ import "./chunk-C7I35G4R.js";
21
+ import "./chunk-QTUVYI7W.js";
17
22
  import {
18
23
  logger_default
19
24
  } from "./chunk-YUIHSKR6.js";
20
- import "./chunk-57OKQMP3.js";
21
- import "./chunk-6QIUN46C.js";
22
- import "./chunk-A6TUJJ3L.js";
23
- import "./chunk-X62AXPR7.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";
24
30
  import "./chunk-K3NQKI34.js";
25
31
 
26
32
  // src/lib/cloud-sync.ts
@@ -0,0 +1,72 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ parseArgs
4
+ } from "./chunk-D424ZQGI.js";
5
+ import "./chunk-K3NQKI34.js";
6
+
7
+ // src/commands/config.ts
8
+ async function run(args) {
9
+ const { positional } = parseArgs(args, {});
10
+ const subcommand = positional[0];
11
+ switch (subcommand) {
12
+ case "models": {
13
+ const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
14
+ const res = await daemonFetch("/api/config/models");
15
+ if (!res.ok) {
16
+ console.error(`Failed to fetch models (HTTP ${res.status})`);
17
+ process.exit(1);
18
+ }
19
+ const models = await res.json();
20
+ const enabled = models.filter((m) => m.enabled);
21
+ if (enabled.length === 0) {
22
+ console.log("No models enabled.");
23
+ return;
24
+ }
25
+ for (const m of enabled) {
26
+ console.log(`${m.provider}:${m.id} ${m.name}`);
27
+ }
28
+ break;
29
+ }
30
+ case "providers": {
31
+ const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
32
+ const res = await daemonFetch("/api/config/providers");
33
+ if (!res.ok) {
34
+ console.error(`Failed to fetch providers (HTTP ${res.status})`);
35
+ process.exit(1);
36
+ }
37
+ const providers = await res.json();
38
+ const configured = providers.filter((p) => p.configured);
39
+ if (configured.length === 0) {
40
+ console.log("No providers configured.");
41
+ return;
42
+ }
43
+ for (const p of configured) {
44
+ console.log(p.id);
45
+ }
46
+ break;
47
+ }
48
+ case "status": {
49
+ const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
50
+ const res = await daemonFetch("/api/config/status");
51
+ if (!res.ok) {
52
+ console.error(`Failed to fetch config (HTTP ${res.status})`);
53
+ process.exit(1);
54
+ }
55
+ const data = await res.json();
56
+ for (const [key, value] of Object.entries(data)) {
57
+ console.log(`${key}: ${value}`);
58
+ }
59
+ break;
60
+ }
61
+ default:
62
+ console.error("Usage: volute config <models|providers|status>");
63
+ console.error("");
64
+ console.error(" models List enabled AI models (provider:id format)");
65
+ console.error(" providers List configured AI providers");
66
+ console.error(" status Show system configuration");
67
+ process.exit(1);
68
+ }
69
+ }
70
+ export {
71
+ run
72
+ };
@@ -6,7 +6,7 @@ import {
6
6
  } from "../chunk-KTLFDYPT.js";
7
7
  import {
8
8
  slugify
9
- } from "../chunk-A6TUJJ3L.js";
9
+ } from "../chunk-G6BSYHPK.js";
10
10
  import "../chunk-K3NQKI34.js";
11
11
 
12
12
  // src/connectors/discord-bridge.ts
@@ -6,7 +6,7 @@ import {
6
6
  } from "../chunk-KTLFDYPT.js";
7
7
  import {
8
8
  slugify
9
- } from "../chunk-A6TUJJ3L.js";
9
+ } from "../chunk-G6BSYHPK.js";
10
10
  import "../chunk-K3NQKI34.js";
11
11
 
12
12
  // src/connectors/slack-bridge.ts
@@ -6,7 +6,7 @@ import {
6
6
  } from "../chunk-KTLFDYPT.js";
7
7
  import {
8
8
  slugify
9
- } from "../chunk-A6TUJJ3L.js";
9
+ } from "../chunk-G6BSYHPK.js";
10
10
  import "../chunk-K3NQKI34.js";
11
11
 
12
12
  // src/connectors/telegram-bridge.ts
@@ -26,10 +26,11 @@ import {
26
26
  markConversationRead,
27
27
  removeParticipant,
28
28
  setConversationPrivate
29
- } from "./chunk-FAHDKPEH.js";
30
- import "./chunk-EKDWA7E4.js";
29
+ } from "./chunk-RVGLDGMI.js";
30
+ import "./chunk-KVK2DLWI.js";
31
31
  import "./chunk-YUIHSKR6.js";
32
- import "./chunk-X62AXPR7.js";
32
+ import "./chunk-LRCG2JLP.js";
33
+ import "./chunk-RPZZSXV3.js";
33
34
  import "./chunk-K3NQKI34.js";
34
35
  export {
35
36
  addMessage,
@@ -11,13 +11,17 @@ async function run(args) {
11
11
  skills: { type: "string" }
12
12
  });
13
13
  const name = positional[0];
14
- const template = flags.template ?? "claude";
14
+ let template = flags.template;
15
+ if (!template) {
16
+ const { resolveTemplate } = await import("./ai-service-SBY2WG7O.js");
17
+ template = resolveTemplate();
18
+ }
15
19
  if (!name) {
16
20
  console.error("Usage: volute mind create <name> [--template <name>] [--skills <list|none>]");
17
21
  process.exit(1);
18
22
  }
19
23
  const skills = flags.skills === "none" ? [] : flags.skills ? flags.skills.split(",") : void 0;
20
- const { daemonFetch } = await import("./daemon-client-CVGM25DM.js");
24
+ const { daemonFetch } = await import("./daemon-client-6QXHZ7US.js");
21
25
  const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
22
26
  const client = getClient();
23
27
  const res = await daemonFetch(urlOf(client.api.minds.$url()), {
@@ -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/create.ts
@@ -32,7 +33,7 @@ async function run(args) {
32
33
  process.exit(1);
33
34
  }
34
35
  if (flags.channel) {
35
- const res = await daemonFetch("/api/volute/channels", {
36
+ const res = await daemonFetch("/api/v1/channels", {
36
37
  method: "POST",
37
38
  headers: { "Content-Type": "application/json" },
38
39
  body: JSON.stringify({
@@ -2,8 +2,9 @@
2
2
  import {
3
3
  daemonFetch,
4
4
  readSessionFile
5
- } from "./chunk-4OUOFS23.js";
6
- import "./chunk-X62AXPR7.js";
5
+ } from "./chunk-UKVWJRKN.js";
6
+ import "./chunk-LRCG2JLP.js";
7
+ import "./chunk-RPZZSXV3.js";
7
8
  import "./chunk-K3NQKI34.js";
8
9
  export {
9
10
  daemonFetch,
@@ -1,21 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  run
4
- } from "./chunk-HDKY4TWU.js";
4
+ } from "./chunk-NPKSDYA2.js";
5
5
  import {
6
6
  stopDaemon
7
- } from "./chunk-BNC43CSY.js";
7
+ } from "./chunk-JUKK7FPS.js";
8
8
  import {
9
9
  getServiceMode,
10
10
  modeLabel,
11
11
  pollHealth,
12
12
  readDaemonConfig,
13
13
  restartService
14
- } from "./chunk-SNVPRRT7.js";
15
- import "./chunk-57OKQMP3.js";
16
- import "./chunk-6QIUN46C.js";
14
+ } from "./chunk-NNB4WIG7.js";
15
+ import "./chunk-KIEPMIM5.js";
16
+ import "./chunk-VH33ZWMW.js";
17
+ import "./chunk-N432I7QH.js";
17
18
  import "./chunk-D424ZQGI.js";
18
- import "./chunk-X62AXPR7.js";
19
+ import "./chunk-LRCG2JLP.js";
20
+ import "./chunk-RPZZSXV3.js";
19
21
  import "./chunk-K3NQKI34.js";
20
22
 
21
23
  // src/commands/daemon-restart.ts