volute 0.34.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 (209) hide show
  1. package/README.md +7 -6
  2. package/dist/accept-ZBDVVCEU.js +42 -0
  3. package/dist/{activity-events-BN7V6KCC.js → activity-events-ZW4SDL2C.js} +4 -4
  4. package/dist/{ai-service-PSILB5WD.js → ai-service-LURBEDDB.js} +5 -5
  5. package/dist/{api-client-XUXOB7LI.js → api-client-3A77HMH7.js} +1 -1
  6. package/dist/api.d.ts +1 -5618
  7. package/dist/{archive-C2VEMQOR.js → archive-ESU2FUN4.js} +3 -3
  8. package/dist/{auth-ZFZXJZDQ.js → auth-WX4TESEI.js} +5 -5
  9. package/dist/bridge-PXIO6PS2.js +206 -0
  10. package/dist/chat-QXAJF3FU.js +51 -0
  11. package/dist/{chunk-7F2SW2KD.js → chunk-2TGZJFAT.js} +3 -3
  12. package/dist/{chunk-6LXAAQ43.js → chunk-33ODGMFZ.js} +1 -1
  13. package/dist/{chunk-4JSR7YO7.js → chunk-5N7Y5WAM.js} +1 -1
  14. package/dist/{chunk-FYCALD4Q.js → chunk-5T5YMX6S.js} +1 -1
  15. package/dist/{chunk-B2BVAIZ4.js → chunk-5XJYUFZH.js} +21 -15
  16. package/dist/{chunk-M3K5AARV.js → chunk-A2ZLHBHG.js} +2 -2
  17. package/dist/{chunk-U5BTYSAL.js → chunk-AN2W47GW.js} +2 -2
  18. package/dist/{chunk-G53F3JA4.js → chunk-AOB6GVRM.js} +1 -1
  19. package/dist/{chunk-N7BLAHNE.js → chunk-BDYXIWA5.js} +5 -5
  20. package/dist/{chunk-YUIHSKR6.js → chunk-BKF4WQCY.js} +2 -2
  21. package/dist/{chunk-6OWJXUAR.js → chunk-BMZQYACC.js} +2 -2
  22. package/dist/{chunk-NAOW2CLO.js → chunk-BTY4WNFE.js} +1 -1
  23. package/dist/{chunk-MLOQKQNB.js → chunk-BV65KRHM.js} +2 -2
  24. package/dist/{chunk-XWXBJQBE.js → chunk-CORXD635.js} +4 -4
  25. package/dist/{chunk-PVY5W6QN.js → chunk-F7ZNLYKZ.js} +2 -2
  26. package/dist/{chunk-BFWHBQK4.js → chunk-FT5KETXZ.js} +3 -3
  27. package/dist/{chunk-N3DNFPVA.js → chunk-IJHIXLVN.js} +8 -8
  28. package/dist/{chunk-V6ZCNULL.js → chunk-J6CJQDWI.js} +37 -28
  29. package/dist/{chunk-4RQBJWQX.js → chunk-LOPXTW6H.js} +1 -1
  30. package/dist/{chunk-47ZPNLF4.js → chunk-MDJGMOSD.js} +8 -137
  31. package/dist/{chunk-BTWAGDV5.js → chunk-N446KRP7.js} +3 -3
  32. package/dist/{chunk-6WAWMWR5.js → chunk-N5LMGYXX.js} +2 -2
  33. package/dist/{chunk-G6BSYHPK.js → chunk-NJK5SDGR.js} +1 -1
  34. package/dist/{chunk-D424ZQGI.js → chunk-O7IGP7ZW.js} +11 -3
  35. package/dist/{chunk-2IOP6PHB.js → chunk-OTC67N2Z.js} +2 -2
  36. package/dist/{chunk-V45JXOWY.js → chunk-PWQ2ITYG.js} +4 -4
  37. package/dist/{chunk-KTLFDYPT.js → chunk-QCH6K235.js} +1 -1
  38. package/dist/chunk-QHG4OMZL.js +145 -0
  39. package/dist/{chunk-IS7WJ56Q.js → chunk-QWTR6AWZ.js} +3 -3
  40. package/dist/chunk-TXSA4Q3V.js +116 -0
  41. package/dist/{chunk-BDK73LK6.js → chunk-VHJRZM2S.js} +2 -2
  42. package/dist/{chunk-SSI47XP2.js → chunk-VHWGEJ4V.js} +1 -1
  43. package/dist/chunk-VY3RB2V7.js +164 -0
  44. package/dist/chunk-WJPROOU5.js +8314 -0
  45. package/dist/{chunk-E5C7OWZ2.js → chunk-WZRZFFCL.js} +8 -8
  46. package/dist/{chunk-BM474GX6.js → chunk-XRQSAMX2.js} +4 -4
  47. package/dist/{chunk-OYAKCAVY.js → chunk-ZSR72JB3.js} +1 -1
  48. package/dist/{chunk-PLDWHR4D.js → chunk-ZX7EAV5J.js} +17 -7
  49. package/dist/cli.js +90 -29
  50. package/dist/clock-HSEKS5AR.js +289 -0
  51. package/dist/{cloud-sync-TG3TIX5H.js → cloud-sync-6JL4C24T.js} +21 -22
  52. package/dist/config-UTS7QULS.js +76 -0
  53. package/dist/connectors/discord-bridge.js +3 -3
  54. package/dist/connectors/slack-bridge.js +3 -3
  55. package/dist/connectors/telegram-bridge.js +3 -3
  56. package/dist/{conversations-HL2JP5GI.js → conversations-2PW57WO2.js} +5 -5
  57. package/dist/create-5BPOOJAN.js +75 -0
  58. package/dist/create-UVCK2CS6.js +50 -0
  59. package/dist/daemon-client-RVIKXGFQ.js +12 -0
  60. package/dist/daemon-restart-HSZ3BCX5.js +65 -0
  61. package/dist/daemon.js +845 -1766
  62. package/dist/{db-PLEDCBHZ.js → db-BDMH4SZ2.js} +7 -3
  63. package/dist/{db-RYX3SS2W.js → db-BVBJ57TU.js} +2 -2
  64. package/dist/delete-L5PAVDGQ.js +42 -0
  65. package/dist/delivery-manager-H5ZVBMCQ.js +31 -0
  66. package/dist/{delivery-router-D5ELDMS2.js → delivery-router-HEJSJAHQ.js} +4 -4
  67. package/dist/down-74VXM45A.js +17 -0
  68. package/dist/env-E4XHO2BI.js +223 -0
  69. package/dist/{exec-DVLXKRIO.js → exec-PY7THYH4.js} +4 -4
  70. package/dist/export-OAS6QVBN.js +113 -0
  71. package/dist/{extension-PM42QCID.js → extension-D74CNM7G.js} +25 -33
  72. package/dist/{extensions-BBGVL5JC.js → extensions-XDDFY72A.js} +22 -11
  73. package/dist/files-CWTK6V3H.js +53 -0
  74. package/dist/import-5A3T7QV4.js +143 -0
  75. package/dist/{isolation-62MKDZN3.js → isolation-TK5RX2WM.js} +3 -3
  76. package/dist/join-DF5XSJAC.js +67 -0
  77. package/dist/list-PDMQM7ZV.js +53 -0
  78. package/dist/login-7TE6CIZF.js +60 -0
  79. package/dist/login-GOTAYLXP.js +51 -0
  80. package/dist/logout-6KIA74EV.js +29 -0
  81. package/dist/logout-T4XS6LRU.js +50 -0
  82. package/dist/message-delivery-GRC4W6P7.js +41 -0
  83. package/dist/mind-5IEYKV7I.js +97 -0
  84. package/dist/{mind-activity-tracker-2ACNHA7B.js → mind-activity-tracker-QBLIV7ZJ.js} +5 -5
  85. package/dist/{mind-history-WOYFLQAI.js → mind-history-IE2QH7U5.js} +82 -71
  86. package/dist/mind-list-GEWHWAL4.js +38 -0
  87. package/dist/mind-manager-HFLB5653.js +31 -0
  88. package/dist/mind-profile-DCBDVF5B.js +53 -0
  89. package/dist/mind-service-X2CAA6W6.js +37 -0
  90. package/dist/mind-sleep-ITCF6OQA.js +47 -0
  91. package/dist/mind-status-X4SX3YUG.js +65 -0
  92. package/dist/mind-wake-KXMKMGWX.js +42 -0
  93. package/dist/{package-V2WHWVG6.js → package-D2FSVFAX.js} +5 -5
  94. package/dist/read-67VRP2DO.js +91 -0
  95. package/dist/{read-stdin-PIRM6A2Y.js → read-stdin-3X5VYKNS.js} +1 -1
  96. package/dist/register-SB7NXCOE.js +51 -0
  97. package/dist/{registry-UYV5S6QT.js → registry-GBSNW3HG.js} +2 -2
  98. package/dist/reject-MUR2KWJ4.js +40 -0
  99. package/dist/restart-5EGG4JXU.js +42 -0
  100. package/dist/{sandbox-SI5HMBP3.js → sandbox-R37VIU36.js} +5 -5
  101. package/dist/scheduler-Y7O4CJXL.js +31 -0
  102. package/dist/{schema-ETMABTW4.js → schema-XVZ2CLKW.js} +1 -1
  103. package/dist/{seed-WNGI6PNW.js → seed-EQORWX77.js} +2 -2
  104. package/dist/seed-check-KJNTL72M.js +35 -0
  105. package/dist/seed-cmd-ZM2XGVU2.js +30 -0
  106. package/dist/seed-create-DRWGGHEI.js +113 -0
  107. package/dist/seed-sprout-JYXGXOP3.js +148 -0
  108. package/dist/send-JBJJQ7CA.js +409 -0
  109. package/dist/service-WNPCNHOX.js +121 -0
  110. package/dist/{setup-Z3DEVWV7.js → setup-BJ4YAY26.js} +153 -127
  111. package/dist/{setup-GGMKENLN.js → setup-RHJRFURI.js} +3 -3
  112. package/dist/skill-TAAKEYBV.js +389 -0
  113. package/dist/skills/volute-mind/SKILL.md +3 -7
  114. package/dist/skills/volute-mind/references/extensions.md +8 -11
  115. package/dist/{skills-Q6VZ2UGD.js → skills-EKMCQ46K.js} +7 -7
  116. package/dist/sleep-manager-7KFK3USC.js +35 -0
  117. package/dist/spirit-ZFRDXMG7.js +23 -0
  118. package/dist/split-AWVOYOPZ.js +64 -0
  119. package/dist/{sprout-E3HJIV2Z.js → sprout-HE4TITMK.js} +2 -2
  120. package/dist/start-3UXOPXQG.js +39 -0
  121. package/dist/status-ZK34WYIM.js +125 -0
  122. package/dist/stop-3XYIBGFM.js +41 -0
  123. package/dist/system-chat-IDPHYHY4.js +35 -0
  124. package/dist/systems-O43WGQY6.js +52 -0
  125. package/dist/{tailscale-ZEUK7GKZ.js → tailscale-ZIZ2HWJ5.js} +4 -4
  126. package/dist/{template-hash-EJRTKE36.js → template-hash-A7FNHTB7.js} +2 -2
  127. package/dist/up-77ICEDEW.js +19 -0
  128. package/dist/update-ANE5ZM7F.js +225 -0
  129. package/dist/{update-check-X3YG4WVP.js → update-check-UV55CBEP.js} +3 -3
  130. package/dist/upgrade-ZMDGC7M2.js +74 -0
  131. package/dist/variant-QWL2WSRI.js +62 -0
  132. package/dist/{version-notify-YCH4UVQ2.js → version-notify-FXSEMXWW.js} +28 -27
  133. package/dist/{volute-config-WBKYJGYQ.js → volute-config-D2XVS2YI.js} +1 -1
  134. package/dist/web-assets/assets/index-BhxWKvbB.css +1 -0
  135. package/dist/web-assets/assets/index-CHVKJ9II.js +75 -0
  136. package/dist/web-assets/index.html +2 -2
  137. package/dist/web-assets/sw.js +117 -0
  138. package/package.json +5 -5
  139. package/packages/extensions/pages/dist/ui/assets/index-DKZLNMED.js +2 -0
  140. package/packages/extensions/pages/dist/ui/index.html +1 -1
  141. package/packages/extensions/pages/skills/pages/SKILL.md +84 -9
  142. package/templates/_base/src/lib/auto-commit.ts +8 -8
  143. package/templates/_base/src/lib/volute-server.ts +6 -0
  144. package/templates/claude/src/agent.ts +8 -1
  145. package/dist/accept-TW6V4WI4.js +0 -42
  146. package/dist/bridge-O753D5F4.js +0 -207
  147. package/dist/chat-BHYX7DJ4.js +0 -68
  148. package/dist/chunk-47XDEWWV.js +0 -156
  149. package/dist/chunk-CVL5IGIR.js +0 -2084
  150. package/dist/chunk-PB65JZK2.js +0 -85
  151. package/dist/chunk-TAHX36HZ.js +0 -3679
  152. package/dist/clock-3X4DSC2N.js +0 -281
  153. package/dist/config-OROA5DUA.js +0 -72
  154. package/dist/create-3SEKKI6P.js +0 -71
  155. package/dist/create-UOSOQ2HN.js +0 -44
  156. package/dist/daemon-client-WOAQXXBM.js +0 -12
  157. package/dist/daemon-restart-5ABHNXJZ.js +0 -52
  158. package/dist/delete-KYOVWR23.js +0 -35
  159. package/dist/delivery-manager-2BR5NZKF.js +0 -32
  160. package/dist/down-QVFN4UPK.js +0 -15
  161. package/dist/env-R34DT7XL.js +0 -195
  162. package/dist/export-6ZXAXATG.js +0 -112
  163. package/dist/files-VQV2VZQO.js +0 -47
  164. package/dist/import-MK2I2T6F.js +0 -23
  165. package/dist/join-DGYHTJUH.js +0 -66
  166. package/dist/list-C644WTHV.js +0 -49
  167. package/dist/login-IIGEQPHL.js +0 -47
  168. package/dist/login-KZQLMAWE.js +0 -47
  169. package/dist/logout-AGTZVRGP.js +0 -40
  170. package/dist/logout-KD6GXIJJ.js +0 -21
  171. package/dist/message-delivery-V3R6NXJP.js +0 -42
  172. package/dist/mind-BI4EPBVZ.js +0 -108
  173. package/dist/mind-list-6VPM7GUQ.js +0 -30
  174. package/dist/mind-manager-MWW3BTS4.js +0 -32
  175. package/dist/mind-profile-WPG42U5Y.js +0 -47
  176. package/dist/mind-service-VIKZJK2M.js +0 -38
  177. package/dist/mind-sleep-XDISJY74.js +0 -42
  178. package/dist/mind-status-7FTZWPZF.js +0 -56
  179. package/dist/mind-wake-KIIKEI3A.js +0 -37
  180. package/dist/read-H5C26YO7.js +0 -85
  181. package/dist/register-J27WP33N.js +0 -47
  182. package/dist/reject-OEANJYIA.js +0 -40
  183. package/dist/restart-V5EGYBJG.js +0 -33
  184. package/dist/scheduler-AGG3L2FO.js +0 -32
  185. package/dist/seed-check-PXTH7YXS.js +0 -32
  186. package/dist/seed-cmd-VENFTGS3.js +0 -36
  187. package/dist/seed-create-663ALOKH.js +0 -112
  188. package/dist/seed-sprout-EH3AGKAI.js +0 -132
  189. package/dist/send-7FUUUZZH.js +0 -386
  190. package/dist/skill-DKNYJS4P.js +0 -362
  191. package/dist/skills/shared-files/SKILL.md +0 -44
  192. package/dist/skills/shared-files/scripts/merge.ts +0 -72
  193. package/dist/skills/shared-files/scripts/pull.ts +0 -52
  194. package/dist/sleep-manager-BJK2ROPX.js +0 -36
  195. package/dist/spirit-4JP4TY4C.js +0 -23
  196. package/dist/split-3YPMS2CL.js +0 -63
  197. package/dist/start-W3TPKX4D.js +0 -33
  198. package/dist/status-4OVFXFEJ.js +0 -115
  199. package/dist/stop-GTT6YWYO.js +0 -32
  200. package/dist/system-channel-DXD2JBOU.js +0 -36
  201. package/dist/system-chat-TYLOL7SX.js +0 -36
  202. package/dist/systems-AYLO727G.js +0 -61
  203. package/dist/up-PA7F2CXE.js +0 -18
  204. package/dist/update-HG4LCUSG.js +0 -215
  205. package/dist/upgrade-YGNIDICG.js +0 -67
  206. package/dist/variant-MZUMRTQO.js +0 -41
  207. package/dist/web-assets/assets/index-DiiwC-CZ.css +0 -1
  208. package/dist/web-assets/assets/index-d6y5b9Ij.js +0 -75
  209. package/packages/extensions/pages/dist/ui/assets/index-tLTROSk5.js +0 -2
@@ -1,115 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- LAUNCHD_PLIST_LABEL,
4
- LAUNCHD_PLIST_PATH,
5
- SYSTEM_LAUNCHD_PLIST_PATH,
6
- SYSTEM_SERVICE_PATH,
7
- USER_SYSTEMD_UNIT,
8
- getDaemonUrl,
9
- getServiceMode,
10
- modeLabel,
11
- readDaemonConfig
12
- } from "./chunk-7F2SW2KD.js";
13
- import {
14
- checkForUpdate
15
- } from "./chunk-2IOP6PHB.js";
16
- import "./chunk-U5BTYSAL.js";
17
- import "./chunk-BDK73LK6.js";
18
- import "./chunk-N7BLAHNE.js";
19
- import "./chunk-4JSR7YO7.js";
20
- import "./chunk-7KJOFUNN.js";
21
-
22
- // src/commands/status.ts
23
- import { execFile } from "child_process";
24
- import { existsSync } from "fs";
25
- import { promisify } from "util";
26
- var execFileAsync = promisify(execFile);
27
- async function run(_args) {
28
- const mode = getServiceMode();
29
- console.log(`Mode: ${modeLabel(mode)}`);
30
- const { hostname, port, internalPort, token } = readDaemonConfig();
31
- const apiPort = internalPort ?? port;
32
- const baseUrl = getDaemonUrl("127.0.0.1", apiPort);
33
- let running = false;
34
- let version;
35
- try {
36
- const res = await fetch(`${baseUrl}/api/health`);
37
- if (res.ok) {
38
- const body = await res.json();
39
- if (body.ok) {
40
- running = true;
41
- version = body.version;
42
- }
43
- }
44
- } catch {
45
- }
46
- if (!running) {
47
- console.log("Status: not running");
48
- return;
49
- }
50
- console.log(`Status: running on ${hostname}:${port}`);
51
- if (version) console.log(`Version: ${version}`);
52
- const update = await checkForUpdate();
53
- if (update.updateAvailable) {
54
- console.log(`Update available: ${update.current} \u2192 ${update.latest}`);
55
- }
56
- if (mode !== "manual") {
57
- const serviceInfo = await getServiceInfo();
58
- if (serviceInfo) {
59
- console.log(`
60
- Service:
61
- ${serviceInfo}`);
62
- }
63
- }
64
- const headers = {};
65
- if (token) headers.Authorization = `Bearer ${token}`;
66
- headers.Origin = baseUrl;
67
- try {
68
- const res = await fetch(`${baseUrl}/api/minds`, { headers });
69
- if (res.ok) {
70
- const minds = await res.json();
71
- if (minds.length > 0) {
72
- console.log(`
73
- Minds (${minds.length}):`);
74
- for (const mind of minds) {
75
- const status = mind.status ?? (mind.running ? "running" : "stopped");
76
- const label = mind.stage === "seed" ? " (seed)" : "";
77
- console.log(` ${mind.name}: ${status}${label}`);
78
- }
79
- } else {
80
- console.log("\nNo minds configured.");
81
- }
82
- }
83
- } catch {
84
- }
85
- }
86
- async function getServiceInfo() {
87
- const platform = process.platform;
88
- if (platform === "darwin") {
89
- const plistPath = existsSync(SYSTEM_LAUNCHD_PLIST_PATH) ? SYSTEM_LAUNCHD_PLIST_PATH : existsSync(LAUNCHD_PLIST_PATH) ? LAUNCHD_PLIST_PATH : null;
90
- if (!plistPath) return null;
91
- try {
92
- const { stdout } = await execFileAsync("launchctl", ["list", LAUNCHD_PLIST_LABEL]);
93
- return stdout.trim();
94
- } catch {
95
- return "Service installed but not currently loaded.";
96
- }
97
- }
98
- if (platform === "linux") {
99
- const unitPath = existsSync(SYSTEM_SERVICE_PATH) ? "system" : existsSync(USER_SYSTEMD_UNIT) ? "user" : null;
100
- if (!unitPath) return null;
101
- const args = unitPath === "system" ? ["status", "volute", "--no-pager"] : ["--user", "status", "volute", "--no-pager"];
102
- try {
103
- const { stdout } = await execFileAsync("systemctl", args);
104
- return stdout.trim();
105
- } catch (err) {
106
- const e = err;
107
- if (e.stdout) return e.stdout.trim();
108
- return "Service installed but status unknown.";
109
- }
110
- }
111
- return null;
112
- }
113
- export {
114
- run
115
- };
@@ -1,32 +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-PLDWHR4D.js";
12
- import "./chunk-N7BLAHNE.js";
13
- import "./chunk-4JSR7YO7.js";
14
- import "./chunk-7KJOFUNN.js";
15
-
16
- // src/commands/stop.ts
17
- async function run(args) {
18
- const name = resolveMindName({ mind: args[0] });
19
- const client = getClient();
20
- const res = await daemonFetch(urlOf(client.api.minds[":name"].stop.$url({ param: { name } })), {
21
- method: "POST"
22
- });
23
- const data = await res.json();
24
- if (!res.ok) {
25
- console.error(data.error || "Failed to stop mind");
26
- process.exit(1);
27
- }
28
- console.log(`${name} stopped.`);
29
- }
30
- export {
31
- run
32
- };
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- announceToSystem,
4
- ensureSystemChannel,
5
- joinSystemChannel,
6
- joinSystemChannelForMind,
7
- resetSystemChannelCache
8
- } from "./chunk-TAHX36HZ.js";
9
- import "./chunk-CVL5IGIR.js";
10
- import "./chunk-B2BVAIZ4.js";
11
- import "./chunk-G53F3JA4.js";
12
- import "./chunk-N3DNFPVA.js";
13
- import "./chunk-OYAKCAVY.js";
14
- import "./chunk-V45JXOWY.js";
15
- import "./chunk-IS7WJ56Q.js";
16
- import "./chunk-BTWAGDV5.js";
17
- import "./chunk-M3K5AARV.js";
18
- import "./chunk-PB65JZK2.js";
19
- import "./chunk-BM474GX6.js";
20
- import "./chunk-E5C7OWZ2.js";
21
- import "./chunk-XWXBJQBE.js";
22
- import "./chunk-BFWHBQK4.js";
23
- import "./chunk-YUIHSKR6.js";
24
- import "./chunk-U5BTYSAL.js";
25
- import "./chunk-BDK73LK6.js";
26
- import "./chunk-6OWJXUAR.js";
27
- import "./chunk-N7BLAHNE.js";
28
- import "./chunk-4JSR7YO7.js";
29
- import "./chunk-7KJOFUNN.js";
30
- export {
31
- announceToSystem,
32
- ensureSystemChannel,
33
- joinSystemChannel,
34
- joinSystemChannelForMind,
35
- resetSystemChannelCache
36
- };
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- ensureSystemDM,
4
- generateSystemReply,
5
- resetSystemDMCache,
6
- sendSystemMessage,
7
- sendSystemMessageDirect
8
- } from "./chunk-TAHX36HZ.js";
9
- import "./chunk-CVL5IGIR.js";
10
- import "./chunk-B2BVAIZ4.js";
11
- import "./chunk-G53F3JA4.js";
12
- import "./chunk-N3DNFPVA.js";
13
- import "./chunk-OYAKCAVY.js";
14
- import "./chunk-V45JXOWY.js";
15
- import "./chunk-IS7WJ56Q.js";
16
- import "./chunk-BTWAGDV5.js";
17
- import "./chunk-M3K5AARV.js";
18
- import "./chunk-PB65JZK2.js";
19
- import "./chunk-BM474GX6.js";
20
- import "./chunk-E5C7OWZ2.js";
21
- import "./chunk-XWXBJQBE.js";
22
- import "./chunk-BFWHBQK4.js";
23
- import "./chunk-YUIHSKR6.js";
24
- import "./chunk-U5BTYSAL.js";
25
- import "./chunk-BDK73LK6.js";
26
- import "./chunk-6OWJXUAR.js";
27
- import "./chunk-N7BLAHNE.js";
28
- import "./chunk-4JSR7YO7.js";
29
- import "./chunk-7KJOFUNN.js";
30
- export {
31
- ensureSystemDM,
32
- generateSystemReply,
33
- resetSystemDMCache,
34
- sendSystemMessage,
35
- sendSystemMessageDirect
36
- };
@@ -1,61 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- daemonFetch
4
- } from "./chunk-PLDWHR4D.js";
5
- import "./chunk-N7BLAHNE.js";
6
- import "./chunk-4JSR7YO7.js";
7
- import "./chunk-7KJOFUNN.js";
8
-
9
- // src/commands/systems.ts
10
- async function run(args) {
11
- const subcommand = args[0];
12
- switch (subcommand) {
13
- case "status":
14
- await showStatus();
15
- break;
16
- case "register":
17
- await import("./register-J27WP33N.js").then((m) => m.run(args.slice(1)));
18
- break;
19
- case "login":
20
- await import("./login-IIGEQPHL.js").then((m) => m.run(args.slice(1)));
21
- break;
22
- case "logout":
23
- await import("./logout-KD6GXIJJ.js").then((m) => m.run());
24
- break;
25
- case "--help":
26
- case "-h":
27
- case void 0:
28
- printUsage();
29
- break;
30
- default:
31
- printUsage();
32
- console.error(`
33
- Unknown subcommand: ${subcommand}`);
34
- process.exit(1);
35
- }
36
- }
37
- async function showStatus() {
38
- const res = await daemonFetch("/api/system/info");
39
- if (!res.ok) {
40
- const body = await res.json().catch(() => ({ error: `HTTP ${res.status}` }));
41
- console.error(`Failed to get system info: ${body.error}`);
42
- process.exit(1);
43
- }
44
- const { system } = await res.json();
45
- if (!system) {
46
- console.log("Not connected to volute.systems");
47
- console.log('Run "volute systems register" or "volute systems login" to connect.');
48
- return;
49
- }
50
- console.log(`System: ${system}`);
51
- }
52
- function printUsage() {
53
- console.log(`Usage:
54
- volute systems status Show volute.systems account info
55
- volute systems register [--name <name>] Register a system on volute.systems
56
- volute systems login [--key <key>] Log in with an existing API key
57
- volute systems logout Remove stored credentials`);
58
- }
59
- export {
60
- run
61
- };
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- run
4
- } from "./chunk-47XDEWWV.js";
5
- import "./chunk-7F2SW2KD.js";
6
- import "./chunk-D424ZQGI.js";
7
- import "./chunk-U5BTYSAL.js";
8
- import "./chunk-BDK73LK6.js";
9
- import {
10
- readGlobalConfig
11
- } from "./chunk-6OWJXUAR.js";
12
- import "./chunk-N7BLAHNE.js";
13
- import "./chunk-4JSR7YO7.js";
14
- import "./chunk-7KJOFUNN.js";
15
- export {
16
- readGlobalConfig,
17
- run
18
- };
@@ -1,215 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- getServiceMode,
4
- modeLabel,
5
- pollHealth,
6
- readDaemonConfig,
7
- restartService
8
- } from "./chunk-7F2SW2KD.js";
9
- import {
10
- checkForUpdate
11
- } from "./chunk-2IOP6PHB.js";
12
- import {
13
- exec,
14
- execInherit,
15
- resolveVoluteBin
16
- } from "./chunk-U5BTYSAL.js";
17
- import "./chunk-BDK73LK6.js";
18
- import {
19
- voluteSystemDir
20
- } from "./chunk-N7BLAHNE.js";
21
- import "./chunk-4JSR7YO7.js";
22
- import "./chunk-7KJOFUNN.js";
23
-
24
- // src/commands/update.ts
25
- import { existsSync, readFileSync, unlinkSync } from "fs";
26
- import { resolve } from "path";
27
- async function run(_args) {
28
- const result = await checkForUpdate(true);
29
- if (result.checkFailed) {
30
- console.error("Could not reach npm registry. Check your network connection and try again.");
31
- process.exit(1);
32
- }
33
- console.log(`Current version: ${result.current}`);
34
- console.log(`Latest version: ${result.latest}`);
35
- if (!result.updateAvailable) {
36
- console.log("\nAlready up to date.");
37
- return;
38
- }
39
- console.log(`
40
- Updating volute ${result.current} \u2192 ${result.latest}...`);
41
- const mode = getServiceMode();
42
- if (mode === "system") {
43
- let npmPath = "/usr/bin/npm";
44
- if (!existsSync(npmPath)) {
45
- try {
46
- npmPath = (await exec("which", ["npm"])).trim();
47
- } catch {
48
- console.error("Could not find npm. Install npm and try again.");
49
- process.exit(1);
50
- }
51
- }
52
- try {
53
- await execInherit("sudo", [npmPath, "install", "-g", "volute@latest"]);
54
- } catch (err) {
55
- console.error(`
56
- Update failed: ${err.message}`);
57
- process.exit(1);
58
- }
59
- console.log("Restarting service...");
60
- try {
61
- await restartService(mode);
62
- } catch (err) {
63
- console.error(`Failed to restart: ${err instanceof Error ? err.message : err}`);
64
- console.error("Try: sudo systemctl restart volute");
65
- process.exit(1);
66
- }
67
- {
68
- const config = readDaemonConfig();
69
- if (await pollHealth("127.0.0.1", config.internalPort ?? config.port)) {
70
- console.log(`
71
- Updated to volute v${result.latest}`);
72
- } else {
73
- console.error("Service restarted but daemon did not become healthy.");
74
- process.exit(1);
75
- }
76
- }
77
- return;
78
- }
79
- if (mode === "user-systemd" || mode === "user-launchd") {
80
- try {
81
- await execInherit("npm", ["install", "-g", "volute@latest"]);
82
- } catch (err) {
83
- console.error(`
84
- Update failed: ${err.message}`);
85
- process.exit(1);
86
- }
87
- console.log(`Restarting service (${modeLabel(mode)})...`);
88
- try {
89
- await restartService(mode);
90
- } catch (err) {
91
- console.error(`Failed to restart: ${err instanceof Error ? err.message : err}`);
92
- process.exit(1);
93
- }
94
- {
95
- const config = readDaemonConfig();
96
- if (await pollHealth("127.0.0.1", config.internalPort ?? config.port)) {
97
- console.log(`
98
- Updated to volute v${result.latest}`);
99
- } else {
100
- console.error("Service restarted but daemon did not become healthy.");
101
- process.exit(1);
102
- }
103
- }
104
- return;
105
- }
106
- const systemDir = voluteSystemDir();
107
- const pidPath = resolve(systemDir, "daemon.pid");
108
- const configPath = resolve(systemDir, "daemon.json");
109
- let daemonWasRunning = false;
110
- let daemonPort = 1618;
111
- let daemonHost = "127.0.0.1";
112
- if (existsSync(pidPath)) {
113
- const pid = parseInt(readFileSync(pidPath, "utf-8").trim(), 10);
114
- try {
115
- process.kill(pid, 0);
116
- daemonWasRunning = true;
117
- } catch {
118
- try {
119
- unlinkSync(pidPath);
120
- } catch {
121
- }
122
- }
123
- }
124
- if (daemonWasRunning && existsSync(configPath)) {
125
- try {
126
- const config = JSON.parse(readFileSync(configPath, "utf-8"));
127
- daemonPort = config.port ?? 1618;
128
- daemonHost = config.hostname || "127.0.0.1";
129
- } catch {
130
- console.error("Warning: could not read daemon config, using default port/host");
131
- }
132
- }
133
- if (daemonWasRunning) {
134
- console.log("Stopping daemon...");
135
- const pid = parseInt(readFileSync(pidPath, "utf-8").trim(), 10);
136
- try {
137
- process.kill(-pid, "SIGTERM");
138
- } catch {
139
- try {
140
- process.kill(pid, "SIGTERM");
141
- } catch {
142
- }
143
- }
144
- const maxWait = 1e4;
145
- const start = Date.now();
146
- while (Date.now() - start < maxWait) {
147
- if (!existsSync(pidPath)) break;
148
- await new Promise((r) => setTimeout(r, 200));
149
- }
150
- if (existsSync(pidPath)) {
151
- try {
152
- process.kill(-pid, "SIGKILL");
153
- } catch {
154
- try {
155
- process.kill(pid, "SIGKILL");
156
- } catch {
157
- }
158
- }
159
- }
160
- if (existsSync(pidPath)) {
161
- try {
162
- const stalePid = parseInt(readFileSync(pidPath, "utf-8").trim(), 10);
163
- process.kill(stalePid, 0);
164
- console.error("Warning: daemon process may still be running. Aborting update.");
165
- process.exit(1);
166
- } catch {
167
- try {
168
- unlinkSync(pidPath);
169
- } catch {
170
- }
171
- }
172
- }
173
- console.log("Daemon stopped.");
174
- }
175
- try {
176
- await execInherit("npm", ["install", "-g", "volute@latest"]);
177
- } catch (err) {
178
- console.error(`
179
- Update failed: ${err.message}`);
180
- if (daemonWasRunning) {
181
- console.log("Restarting daemon with current version...");
182
- try {
183
- await execInherit(resolveVoluteBin(), [
184
- "up",
185
- "--port",
186
- String(daemonPort),
187
- "--host",
188
- daemonHost
189
- ]);
190
- } catch {
191
- console.error("Failed to restart daemon. Run `volute up` manually.");
192
- }
193
- }
194
- process.exit(1);
195
- }
196
- if (daemonWasRunning) {
197
- console.log("Restarting daemon...");
198
- try {
199
- await execInherit(resolveVoluteBin(), [
200
- "up",
201
- "--port",
202
- String(daemonPort),
203
- "--host",
204
- daemonHost
205
- ]);
206
- } catch {
207
- console.error("Failed to restart daemon. Run `volute up` manually.");
208
- }
209
- }
210
- console.log(`
211
- Updated to volute v${result.latest}`);
212
- }
213
- export {
214
- run
215
- };
@@ -1,67 +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-7KJOFUNN.js";
9
-
10
- // src/commands/upgrade.ts
11
- async function run(args) {
12
- const { positional, flags } = parseArgs(args, {
13
- template: { type: "string" },
14
- continue: { type: "boolean" },
15
- abort: { type: "boolean" },
16
- diff: { type: "boolean" }
17
- });
18
- const mindName = resolveMindName({ mind: positional[0] });
19
- const { daemonFetch } = await import("./daemon-client-WOAQXXBM.js");
20
- const { getClient, urlOf } = await import("./api-client-XUXOB7LI.js");
21
- const client = getClient();
22
- const res = await daemonFetch(
23
- urlOf(client.api.minds[":name"].upgrade.$url({ param: { name: mindName } })),
24
- {
25
- method: "POST",
26
- headers: { "Content-Type": "application/json" },
27
- body: JSON.stringify({
28
- template: flags.template,
29
- continue: flags.continue,
30
- abort: flags.abort,
31
- diff: flags.diff
32
- })
33
- }
34
- );
35
- const data = await res.json();
36
- if (!res.ok && !data.conflicts) {
37
- console.error(data.error ?? "Failed to upgrade mind");
38
- process.exit(1);
39
- }
40
- if (flags.diff) {
41
- console.log(data.diff ?? "(no changes)");
42
- return;
43
- }
44
- if (flags.abort) {
45
- console.log(`Upgrade aborted for ${mindName}.`);
46
- return;
47
- }
48
- if (data.conflicts) {
49
- console.log("\nMerge conflicts detected. Resolve them in:");
50
- console.log(` ${data.worktreeDir}`);
51
- console.log(`
52
- Then run:`);
53
- console.log(` volute mind upgrade ${mindName} --continue`);
54
- console.log(`
55
- Or abort:`);
56
- console.log(` volute mind upgrade ${mindName} --abort`);
57
- return;
58
- }
59
- if (data.warning) {
60
- console.log(`Upgrade complete for ${mindName} (with warning: ${data.warning})`);
61
- } else {
62
- console.log(`Upgrade complete for ${mindName}.`);
63
- }
64
- }
65
- export {
66
- run
67
- };
@@ -1,41 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./chunk-7KJOFUNN.js";
3
-
4
- // src/commands/variant.ts
5
- async function run(args) {
6
- const subcommand = args[0];
7
- switch (subcommand) {
8
- case "create":
9
- console.error(
10
- "'volute variant create' has been replaced. Use 'volute mind split' to create variants."
11
- );
12
- console.error("Usage: volute mind split <name> [--from <mind>] [--soul '...'] [--no-start]");
13
- process.exit(1);
14
- break;
15
- case "merge":
16
- console.error(
17
- "'volute variant merge' has been replaced. Use 'volute mind join' to merge variants."
18
- );
19
- console.error(
20
- "Usage: volute mind join <name> [--summary '...' --memory '...' --justification '...']"
21
- );
22
- process.exit(1);
23
- break;
24
- case "list":
25
- case "delete":
26
- console.error(`'volute variant ${subcommand}' is no longer available.`);
27
- console.error(
28
- "Use 'volute mind list' to see variants, or 'volute mind delete <variant-name>' to delete."
29
- );
30
- process.exit(1);
31
- break;
32
- default:
33
- console.error(
34
- "'volute variant' has been replaced. Use 'volute mind split' and 'volute mind join'."
35
- );
36
- process.exit(1);
37
- }
38
- }
39
- export {
40
- run
41
- };