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,35 +1,34 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  deliverMessage
4
- } from "./chunk-3Z2DPESO.js";
5
- import "./chunk-SKLSMHXO.js";
6
- import "./chunk-LOEJ4HPQ.js";
4
+ } from "./chunk-WJPROOU5.js";
5
+ import "./chunk-5XJYUFZH.js";
6
+ import "./chunk-AOB6GVRM.js";
7
+ import "./chunk-IJHIXLVN.js";
8
+ import "./chunk-QWTR6AWZ.js";
9
+ import "./chunk-N446KRP7.js";
10
+ import "./chunk-QHG4OMZL.js";
11
+ import "./chunk-XRQSAMX2.js";
7
12
  import {
8
13
  getAuthHeaders,
9
14
  getWebhookUrl
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";
15
+ } from "./chunk-WZRZFFCL.js";
16
+ import "./chunk-CORXD635.js";
17
+ import "./chunk-ZSR72JB3.js";
18
+ import "./chunk-PWQ2ITYG.js";
19
+ import "./chunk-A2ZLHBHG.js";
20
+ import "./chunk-FT5KETXZ.js";
22
21
  import {
23
22
  logger_default
24
- } from "./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";
23
+ } from "./chunk-BKF4WQCY.js";
24
+ import "./chunk-AN2W47GW.js";
25
+ import "./chunk-VHJRZM2S.js";
26
+ import "./chunk-BMZQYACC.js";
27
+ import "./chunk-BDYXIWA5.js";
28
+ import "./chunk-5N7Y5WAM.js";
29
+ import "./chunk-7KJOFUNN.js";
31
30
 
32
- // src/lib/cloud-sync.ts
31
+ // packages/daemon/src/lib/cloud-sync.ts
33
32
  var slog = logger_default.child("cloud-sync");
34
33
  function getQueueUrl() {
35
34
  const base = getWebhookUrl();
@@ -0,0 +1,76 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ subcommands
4
+ } from "./chunk-TXSA4Q3V.js";
5
+ import "./chunk-O7IGP7ZW.js";
6
+ import "./chunk-7KJOFUNN.js";
7
+
8
+ // packages/cli/src/commands/config.ts
9
+ async function listModels() {
10
+ const { daemonFetch } = await import("./daemon-client-RVIKXGFQ.js");
11
+ const res = await daemonFetch("/api/config/models");
12
+ if (!res.ok) {
13
+ console.error(`Failed to fetch models (HTTP ${res.status})`);
14
+ process.exit(1);
15
+ }
16
+ const models = await res.json();
17
+ const enabled = models.filter((m) => m.enabled);
18
+ if (enabled.length === 0) {
19
+ console.log("No models enabled.");
20
+ return;
21
+ }
22
+ for (const m of enabled) {
23
+ console.log(`${m.provider}:${m.id} ${m.name}`);
24
+ }
25
+ }
26
+ async function listProviders() {
27
+ const { daemonFetch } = await import("./daemon-client-RVIKXGFQ.js");
28
+ const res = await daemonFetch("/api/config/providers");
29
+ if (!res.ok) {
30
+ console.error(`Failed to fetch providers (HTTP ${res.status})`);
31
+ process.exit(1);
32
+ }
33
+ const providers = await res.json();
34
+ const configured = providers.filter((p) => p.configured);
35
+ if (configured.length === 0) {
36
+ console.log("No providers configured.");
37
+ return;
38
+ }
39
+ for (const p of configured) {
40
+ console.log(p.id);
41
+ }
42
+ }
43
+ async function showStatus() {
44
+ const { daemonFetch } = await import("./daemon-client-RVIKXGFQ.js");
45
+ const res = await daemonFetch("/api/config/status");
46
+ if (!res.ok) {
47
+ console.error(`Failed to fetch config (HTTP ${res.status})`);
48
+ process.exit(1);
49
+ }
50
+ const data = await res.json();
51
+ for (const [key, value] of Object.entries(data)) {
52
+ console.log(`${key}: ${value}`);
53
+ }
54
+ }
55
+ var cmd = subcommands({
56
+ name: "volute config",
57
+ description: "View system configuration",
58
+ commands: {
59
+ models: {
60
+ description: "List enabled AI models",
61
+ run: async () => listModels()
62
+ },
63
+ providers: {
64
+ description: "List configured AI providers",
65
+ run: async () => listProviders()
66
+ },
67
+ status: {
68
+ description: "Show system configuration",
69
+ run: async () => showStatus()
70
+ }
71
+ }
72
+ });
73
+ var run = cmd.execute;
74
+ export {
75
+ run
76
+ };
@@ -3,13 +3,13 @@ import {
3
3
  loadBridgeEnv,
4
4
  onShutdown,
5
5
  sendToBridge
6
- } from "../chunk-KTLFDYPT.js";
6
+ } from "../chunk-QCH6K235.js";
7
7
  import {
8
8
  slugify
9
- } from "../chunk-G6BSYHPK.js";
10
- import "../chunk-K3NQKI34.js";
9
+ } from "../chunk-NJK5SDGR.js";
10
+ import "../chunk-7KJOFUNN.js";
11
11
 
12
- // src/connectors/discord-bridge.ts
12
+ // packages/daemon/src/connectors/discord-bridge.ts
13
13
  import { Client, Events, GatewayIntentBits, Partials } from "discord.js";
14
14
  var env = loadBridgeEnv();
15
15
  var token = process.env.DISCORD_TOKEN;
@@ -3,13 +3,13 @@ import {
3
3
  loadBridgeEnv,
4
4
  onShutdown,
5
5
  sendToBridge
6
- } from "../chunk-KTLFDYPT.js";
6
+ } from "../chunk-QCH6K235.js";
7
7
  import {
8
8
  slugify
9
- } from "../chunk-G6BSYHPK.js";
10
- import "../chunk-K3NQKI34.js";
9
+ } from "../chunk-NJK5SDGR.js";
10
+ import "../chunk-7KJOFUNN.js";
11
11
 
12
- // src/connectors/slack-bridge.ts
12
+ // packages/daemon/src/connectors/slack-bridge.ts
13
13
  import { App } from "@slack/bolt";
14
14
  var env = loadBridgeEnv();
15
15
  var botToken = process.env.SLACK_BOT_TOKEN;
@@ -3,13 +3,13 @@ import {
3
3
  loadBridgeEnv,
4
4
  onShutdown,
5
5
  sendToBridge
6
- } from "../chunk-KTLFDYPT.js";
6
+ } from "../chunk-QCH6K235.js";
7
7
  import {
8
8
  slugify
9
- } from "../chunk-G6BSYHPK.js";
10
- import "../chunk-K3NQKI34.js";
9
+ } from "../chunk-NJK5SDGR.js";
10
+ import "../chunk-7KJOFUNN.js";
11
11
 
12
- // src/connectors/telegram-bridge.ts
12
+ // packages/daemon/src/connectors/telegram-bridge.ts
13
13
  import { Telegraf } from "telegraf";
14
14
  import { message } from "telegraf/filters";
15
15
  var env = loadBridgeEnv();
@@ -26,12 +26,12 @@ import {
26
26
  markConversationRead,
27
27
  removeParticipant,
28
28
  setConversationPrivate
29
- } from "./chunk-RVGLDGMI.js";
30
- import "./chunk-KVK2DLWI.js";
31
- import "./chunk-YUIHSKR6.js";
32
- import "./chunk-LRCG2JLP.js";
33
- import "./chunk-RPZZSXV3.js";
34
- import "./chunk-K3NQKI34.js";
29
+ } from "./chunk-WZRZFFCL.js";
30
+ import "./chunk-CORXD635.js";
31
+ import "./chunk-BKF4WQCY.js";
32
+ import "./chunk-BDYXIWA5.js";
33
+ import "./chunk-5N7Y5WAM.js";
34
+ import "./chunk-7KJOFUNN.js";
35
35
  export {
36
36
  addMessage,
37
37
  addParticipant,
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ resolveMindName
4
+ } from "./chunk-BTY4WNFE.js";
5
+ import {
6
+ command
7
+ } from "./chunk-TXSA4Q3V.js";
8
+ import "./chunk-O7IGP7ZW.js";
9
+ import {
10
+ daemonFetch
11
+ } from "./chunk-ZX7EAV5J.js";
12
+ import "./chunk-7KJOFUNN.js";
13
+
14
+ // packages/cli/src/commands/chat/create.ts
15
+ var cmd = command({
16
+ name: "volute chat create",
17
+ description: "Create a conversation",
18
+ flags: {
19
+ mind: { type: "string", description: "Mind name" },
20
+ participants: { type: "string", description: "Comma-separated participant names (required)" },
21
+ name: { type: "string", description: "Conversation title" },
22
+ channel: { type: "string", description: "Channel name (required for 3+ participants)" }
23
+ },
24
+ async run({ flags }) {
25
+ if (!flags.participants) {
26
+ console.error(
27
+ 'Usage: volute chat create --participants u1,u2 [--name "..."] [--channel <name>] [--mind <name>]'
28
+ );
29
+ process.exit(1);
30
+ }
31
+ const mindName = resolveMindName(flags);
32
+ const participants = flags.participants.split(",").map((p) => p.trim());
33
+ if (participants.length > 2 && !flags.channel) {
34
+ console.error("Use --channel <name> for multi-participant conversations");
35
+ process.exit(1);
36
+ }
37
+ if (flags.channel) {
38
+ const res = await daemonFetch("/api/v1/channels", {
39
+ method: "POST",
40
+ headers: { "Content-Type": "application/json" },
41
+ body: JSON.stringify({
42
+ name: flags.channel,
43
+ participantNames: participants
44
+ })
45
+ });
46
+ if (!res.ok) {
47
+ const data = await res.json().catch(() => ({}));
48
+ console.error(data.error ?? `Failed to create channel: ${res.status}`);
49
+ process.exit(1);
50
+ }
51
+ const conv = await res.json();
52
+ console.log(`Created channel #${flags.channel}: ${conv.id}`);
53
+ } else {
54
+ const res = await daemonFetch(`/api/minds/${encodeURIComponent(mindName)}/conversations`, {
55
+ method: "POST",
56
+ headers: { "Content-Type": "application/json" },
57
+ body: JSON.stringify({
58
+ participantNames: participants,
59
+ title: flags.name
60
+ })
61
+ });
62
+ if (!res.ok) {
63
+ const data = await res.json().catch(() => ({}));
64
+ console.error(data.error ?? `Failed to create conversation: ${res.status}`);
65
+ process.exit(1);
66
+ }
67
+ const conv = await res.json();
68
+ console.log(`Created conversation: ${conv.id}`);
69
+ }
70
+ }
71
+ });
72
+ var run = cmd.execute;
73
+ export {
74
+ run
75
+ };
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ command
4
+ } from "./chunk-TXSA4Q3V.js";
5
+ import "./chunk-O7IGP7ZW.js";
6
+ import "./chunk-7KJOFUNN.js";
7
+
8
+ // packages/cli/src/commands/create.ts
9
+ var cmd = command({
10
+ name: "volute mind create",
11
+ description: "Create a new mind",
12
+ args: [{ name: "name", required: true, description: "Name for the new mind" }],
13
+ flags: {
14
+ template: { type: "string", description: "Template to use (claude, pi, codex)" },
15
+ skills: {
16
+ type: "string",
17
+ description: "Skills to install (comma-separated, or 'none')"
18
+ }
19
+ },
20
+ async run({ args, flags }) {
21
+ const name = args.name;
22
+ let template = flags.template;
23
+ if (!template) {
24
+ const { resolveTemplate } = await import("./ai-service-LURBEDDB.js");
25
+ template = resolveTemplate();
26
+ }
27
+ const skills = flags.skills === "none" ? [] : flags.skills ? flags.skills.split(",") : void 0;
28
+ const { daemonFetch } = await import("./daemon-client-RVIKXGFQ.js");
29
+ const { getClient, urlOf } = await import("./api-client-3A77HMH7.js");
30
+ const client = getClient();
31
+ const res = await daemonFetch(urlOf(client.api.minds.$url()), {
32
+ method: "POST",
33
+ headers: { "Content-Type": "application/json" },
34
+ body: JSON.stringify({ name, template, skills })
35
+ });
36
+ const data = await res.json();
37
+ if (!res.ok) {
38
+ console.error(data.error ?? "Failed to create mind");
39
+ process.exit(1);
40
+ }
41
+ console.log(`
42
+ ${data.message ?? `Created mind: ${data.name} (port ${data.port})`}`);
43
+ console.log(`
44
+ volute mind start ${data.name ?? name}`);
45
+ }
46
+ });
47
+ var run = cmd.execute;
48
+ export {
49
+ run
50
+ };
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ daemonFetch,
4
+ readSessionFile,
5
+ resolveDaemonUrl
6
+ } from "./chunk-ZX7EAV5J.js";
7
+ import "./chunk-7KJOFUNN.js";
8
+ export {
9
+ daemonFetch,
10
+ readSessionFile,
11
+ resolveDaemonUrl
12
+ };
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ stopDaemon
4
+ } from "./chunk-J6CJQDWI.js";
5
+ import {
6
+ run
7
+ } from "./chunk-VY3RB2V7.js";
8
+ import {
9
+ getServiceMode,
10
+ modeLabel,
11
+ pollHealth,
12
+ readDaemonConfig,
13
+ restartService
14
+ } from "./chunk-2TGZJFAT.js";
15
+ import {
16
+ command
17
+ } from "./chunk-TXSA4Q3V.js";
18
+ import "./chunk-O7IGP7ZW.js";
19
+ import "./chunk-AN2W47GW.js";
20
+ import "./chunk-VHJRZM2S.js";
21
+ import "./chunk-BMZQYACC.js";
22
+ import "./chunk-BDYXIWA5.js";
23
+ import "./chunk-5N7Y5WAM.js";
24
+ import "./chunk-7KJOFUNN.js";
25
+
26
+ // src/commands/daemon-restart.ts
27
+ var cmd = command({
28
+ name: "volute restart",
29
+ description: "Restart the daemon",
30
+ flags: {
31
+ port: { type: "number", description: "Port to listen on" }
32
+ },
33
+ run: async ({ flags }) => {
34
+ const mode = getServiceMode();
35
+ if (mode !== "manual") {
36
+ console.log(`Restarting volute (${modeLabel(mode)})...`);
37
+ try {
38
+ await restartService(mode);
39
+ } catch (err) {
40
+ console.error(`Failed to restart service: ${err instanceof Error ? err.message : err}`);
41
+ process.exit(1);
42
+ }
43
+ const config = readDaemonConfig();
44
+ if (await pollHealth("127.0.0.1", config.internalPort ?? config.port)) {
45
+ console.log("Daemon restarted.");
46
+ } else {
47
+ console.error("Service restarted but daemon did not become healthy within 30s.");
48
+ process.exit(1);
49
+ }
50
+ return;
51
+ }
52
+ const result = await stopDaemon();
53
+ if (!result.stopped && result.reason === "kill-failed") {
54
+ console.error("Cannot restart: failed to stop the running daemon.");
55
+ process.exit(1);
56
+ }
57
+ const upArgs = [];
58
+ if (flags.port != null) upArgs.push("--port", String(flags.port));
59
+ await run(upArgs);
60
+ }
61
+ });
62
+ var run2 = cmd.execute;
63
+ export {
64
+ run2 as run
65
+ };