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,108 +0,0 @@
1
- #!/usr/bin/env node
2
- import "./chunk-7KJOFUNN.js";
3
-
4
- // src/commands/mind.ts
5
- async function run(args) {
6
- const subcommand = args[0];
7
- switch (subcommand) {
8
- case "create":
9
- await import("./create-UOSOQ2HN.js").then((m) => m.run(args.slice(1)));
10
- break;
11
- case "start":
12
- await import("./start-W3TPKX4D.js").then((m) => m.run(args.slice(1)));
13
- break;
14
- case "stop":
15
- await import("./stop-GTT6YWYO.js").then((m) => m.run(args.slice(1)));
16
- break;
17
- case "restart":
18
- await import("./restart-V5EGYBJG.js").then((m) => m.run(args.slice(1)));
19
- break;
20
- case "delete":
21
- await import("./delete-KYOVWR23.js").then((m) => m.run(args.slice(1)));
22
- break;
23
- case "list":
24
- await import("./mind-list-6VPM7GUQ.js").then((m) => m.run(args.slice(1)));
25
- break;
26
- case "status":
27
- await import("./mind-status-7FTZWPZF.js").then((m) => m.run(args.slice(1)));
28
- break;
29
- case "history": {
30
- const rest = args.slice(1);
31
- const historyArgs = transformMindFlag(rest);
32
- await import("./mind-history-WOYFLQAI.js").then((m) => m.run(historyArgs));
33
- break;
34
- }
35
- case "upgrade":
36
- await import("./upgrade-YGNIDICG.js").then((m) => m.run(args.slice(1)));
37
- break;
38
- case "import":
39
- await import("./import-MK2I2T6F.js").then((m) => m.run(args.slice(1)));
40
- break;
41
- case "export":
42
- await import("./export-6ZXAXATG.js").then((m) => m.run(args.slice(1)));
43
- break;
44
- case "seed":
45
- await import("./seed-WNGI6PNW.js").then((m) => m.run(args.slice(1)));
46
- break;
47
- case "sprout":
48
- await import("./sprout-E3HJIV2Z.js").then((m) => m.run(args.slice(1)));
49
- break;
50
- case "profile":
51
- await import("./mind-profile-WPG42U5Y.js").then((m) => m.run(args.slice(1)));
52
- break;
53
- case "sleep":
54
- await import("./mind-sleep-XDISJY74.js").then((m) => m.run(args.slice(1)));
55
- break;
56
- case "wake":
57
- await import("./mind-wake-KIIKEI3A.js").then((m) => m.run(args.slice(1)));
58
- break;
59
- case "split":
60
- await import("./split-3YPMS2CL.js").then((m) => m.run(args.slice(1)));
61
- break;
62
- case "join":
63
- await import("./join-DGYHTJUH.js").then((m) => m.run(args.slice(1)));
64
- break;
65
- case "--help":
66
- case "-h":
67
- case void 0:
68
- printUsage();
69
- break;
70
- default:
71
- printUsage();
72
- process.exit(1);
73
- }
74
- }
75
- function transformMindFlag(args) {
76
- if (args.length > 0 && args[0] && !args[0].startsWith("-")) {
77
- return ["--mind", args[0], ...args.slice(1)];
78
- }
79
- return args;
80
- }
81
- function printUsage() {
82
- console.log(`Usage:
83
- volute mind create <name> [--template <name>]
84
- volute mind seed <name> [--template <name>]
85
- volute mind start <name>
86
- volute mind stop [name]
87
- volute mind restart [name]
88
- volute mind delete [name] [--force]
89
- volute mind list
90
- volute mind status [name]
91
- volute mind history [name] [--channel <ch>] [--limit N] [--full]
92
- volute mind profile [--mind <name>] [--display-name <name>] [--description <text>] [--avatar <path>]
93
- volute mind sprout
94
- volute mind sleep [name] [--wake-at <time>]
95
- volute mind wake [name]
96
- volute mind split <name> [--from <mind>] [--soul "..."] [--port N] [--no-start] [--json]
97
- volute mind join <variant-name> [--summary "..." --justification "..." --memory "..."] [--skip-verify]
98
- volute mind upgrade [name] [--template <name>] [--diff] [--continue] [--abort]
99
- volute mind import <path> [--name <name>] [--session <path>] [--template <name>]
100
- volute mind export <name> [--include-env] [--include-identity] [--include-history] [--include-sessions] [--all] [--output <path>]
101
-
102
- Mind name can be omitted (where shown as [name]) if VOLUTE_MIND is set.
103
-
104
- Note: 'volute mind seed' and 'volute mind sprout' are now 'volute seed create' and 'volute seed sprout'.`);
105
- }
106
- export {
107
- run
108
- };
@@ -1,30 +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/mind-list.ts
10
- async function run(_args) {
11
- const res = await daemonFetch("/api/minds");
12
- if (!res.ok) {
13
- const body = await res.json().catch(() => ({ error: `HTTP ${res.status}` }));
14
- console.error(`Failed to list minds: ${body.error}`);
15
- process.exit(1);
16
- }
17
- const minds = await res.json();
18
- if (minds.length === 0) {
19
- console.log("No minds configured.");
20
- return;
21
- }
22
- for (const mind of minds) {
23
- const status = mind.status ?? (mind.running ? "running" : "stopped");
24
- const label = mind.stage === "seed" ? " (seed)" : "";
25
- console.log(` ${mind.name}: ${status}${label}`);
26
- }
27
- }
28
- export {
29
- run
30
- };
@@ -1,32 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- MindManager,
4
- getMindManager,
5
- initMindManager
6
- } from "./chunk-TAHX36HZ.js";
7
- import "./chunk-CVL5IGIR.js";
8
- import "./chunk-B2BVAIZ4.js";
9
- import "./chunk-G53F3JA4.js";
10
- import "./chunk-N3DNFPVA.js";
11
- import "./chunk-OYAKCAVY.js";
12
- import "./chunk-V45JXOWY.js";
13
- import "./chunk-IS7WJ56Q.js";
14
- import "./chunk-BTWAGDV5.js";
15
- import "./chunk-M3K5AARV.js";
16
- import "./chunk-PB65JZK2.js";
17
- import "./chunk-BM474GX6.js";
18
- import "./chunk-E5C7OWZ2.js";
19
- import "./chunk-XWXBJQBE.js";
20
- import "./chunk-BFWHBQK4.js";
21
- import "./chunk-YUIHSKR6.js";
22
- import "./chunk-U5BTYSAL.js";
23
- import "./chunk-BDK73LK6.js";
24
- import "./chunk-6OWJXUAR.js";
25
- import "./chunk-N7BLAHNE.js";
26
- import "./chunk-4JSR7YO7.js";
27
- import "./chunk-7KJOFUNN.js";
28
- export {
29
- MindManager,
30
- getMindManager,
31
- initMindManager
32
- };
@@ -1,47 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- parseArgs
7
- } from "./chunk-D424ZQGI.js";
8
- import "./chunk-7KJOFUNN.js";
9
-
10
- // src/commands/mind-profile.ts
11
- async function run(args) {
12
- const { flags } = parseArgs(args, {
13
- mind: { type: "string" },
14
- "display-name": { type: "string" },
15
- description: { type: "string" },
16
- avatar: { type: "string" }
17
- });
18
- const name = resolveMindName(flags);
19
- const displayName = flags["display-name"];
20
- const description = flags.description;
21
- const avatar = flags.avatar;
22
- if (!displayName && !description && !avatar) {
23
- console.error(
24
- "Usage: volute mind profile [--mind <name>] [--display-name <name>] [--description <text>] [--avatar <path>]"
25
- );
26
- process.exit(1);
27
- }
28
- const { daemonFetch } = await import("./daemon-client-WOAQXXBM.js");
29
- const body = {};
30
- if (displayName) body.displayName = displayName;
31
- if (description) body.description = description;
32
- if (avatar) body.avatar = avatar;
33
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/profile`, {
34
- method: "PATCH",
35
- headers: { "Content-Type": "application/json" },
36
- body: JSON.stringify(body)
37
- });
38
- if (!res.ok) {
39
- const data = await res.json().catch(() => ({}));
40
- console.error(data.error ?? `Failed to update profile (HTTP ${res.status})`);
41
- process.exit(1);
42
- }
43
- console.log(`Profile updated for ${name}`);
44
- }
45
- export {
46
- run
47
- };
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- sleepMind,
4
- startMindFull,
5
- startSpiritFull,
6
- stopMindFull,
7
- stopSpiritFull,
8
- wakeMind
9
- } from "./chunk-TAHX36HZ.js";
10
- import "./chunk-CVL5IGIR.js";
11
- import "./chunk-B2BVAIZ4.js";
12
- import "./chunk-G53F3JA4.js";
13
- import "./chunk-N3DNFPVA.js";
14
- import "./chunk-OYAKCAVY.js";
15
- import "./chunk-V45JXOWY.js";
16
- import "./chunk-IS7WJ56Q.js";
17
- import "./chunk-BTWAGDV5.js";
18
- import "./chunk-M3K5AARV.js";
19
- import "./chunk-PB65JZK2.js";
20
- import "./chunk-BM474GX6.js";
21
- import "./chunk-E5C7OWZ2.js";
22
- import "./chunk-XWXBJQBE.js";
23
- import "./chunk-BFWHBQK4.js";
24
- import "./chunk-YUIHSKR6.js";
25
- import "./chunk-U5BTYSAL.js";
26
- import "./chunk-BDK73LK6.js";
27
- import "./chunk-6OWJXUAR.js";
28
- import "./chunk-N7BLAHNE.js";
29
- import "./chunk-4JSR7YO7.js";
30
- import "./chunk-7KJOFUNN.js";
31
- export {
32
- sleepMind,
33
- startMindFull,
34
- startSpiritFull,
35
- stopMindFull,
36
- stopSpiritFull,
37
- wakeMind
38
- };
@@ -1,42 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- parseArgs
7
- } from "./chunk-D424ZQGI.js";
8
- import {
9
- daemonFetch
10
- } from "./chunk-PLDWHR4D.js";
11
- import "./chunk-N7BLAHNE.js";
12
- import "./chunk-4JSR7YO7.js";
13
- import "./chunk-7KJOFUNN.js";
14
-
15
- // src/commands/mind-sleep.ts
16
- async function run(args) {
17
- const { positional, flags } = parseArgs(args, {
18
- mind: { type: "string" },
19
- "wake-at": { type: "string" }
20
- });
21
- const name = positional[0] || resolveMindName(flags);
22
- if (!name) {
23
- console.error("Usage: volute mind sleep <name> [--wake-at <time>]");
24
- process.exit(1);
25
- }
26
- const body = {};
27
- if (flags["wake-at"]) body.wakeAt = flags["wake-at"];
28
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/sleep`, {
29
- method: "POST",
30
- headers: { "Content-Type": "application/json" },
31
- body: JSON.stringify(body)
32
- });
33
- const data = await res.json();
34
- if (!res.ok) {
35
- console.error(data.error || "Failed to put mind to sleep");
36
- process.exit(1);
37
- }
38
- console.log(`${name} is going to sleep`);
39
- }
40
- export {
41
- run
42
- };
@@ -1,56 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- daemonFetch
7
- } from "./chunk-PLDWHR4D.js";
8
- import "./chunk-N7BLAHNE.js";
9
- import "./chunk-4JSR7YO7.js";
10
- import "./chunk-7KJOFUNN.js";
11
-
12
- // src/commands/mind-status.ts
13
- async function run(args) {
14
- const name = args[0] || (process.env.VOLUTE_MIND ? resolveMindName({}) : void 0);
15
- if (!name) {
16
- console.error("Usage: volute mind status <name>");
17
- process.exit(1);
18
- }
19
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}`);
20
- if (!res.ok) {
21
- if (res.status === 404) {
22
- console.error(`Mind "${name}" not found`);
23
- } else {
24
- const body = await res.json().catch(() => ({ error: `HTTP ${res.status}` }));
25
- console.error(`Failed to get mind status: ${body.error}`);
26
- }
27
- process.exit(1);
28
- }
29
- const mind = await res.json();
30
- const status = mind.status ?? (mind.running ? "running" : "stopped");
31
- console.log(`Mind: ${mind.name}`);
32
- console.log(`Status: ${status}`);
33
- console.log(`Port: ${mind.port}`);
34
- if (mind.stage) console.log(`Stage: ${mind.stage}`);
35
- if (mind.parent) console.log(`Parent: ${mind.parent}`);
36
- if (mind.model) console.log(`Model: ${mind.model}`);
37
- if (mind.channels && mind.channels.length > 0) {
38
- console.log(`
39
- Channels:`);
40
- for (const ch of mind.channels) {
41
- console.log(` ${ch.type}: ${ch.status}`);
42
- }
43
- }
44
- if (mind.variants && mind.variants.length > 0) {
45
- console.log(`
46
- Variants:`);
47
- for (const v of mind.variants) {
48
- console.log(` ${v.name}: ${v.status}`);
49
- }
50
- }
51
- if (mind.hasPages) console.log(`
52
- Pages: published`);
53
- }
54
- export {
55
- run
56
- };
@@ -1,37 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- parseArgs
7
- } from "./chunk-D424ZQGI.js";
8
- import {
9
- daemonFetch
10
- } from "./chunk-PLDWHR4D.js";
11
- import "./chunk-N7BLAHNE.js";
12
- import "./chunk-4JSR7YO7.js";
13
- import "./chunk-7KJOFUNN.js";
14
-
15
- // src/commands/mind-wake.ts
16
- async function run(args) {
17
- const { positional, flags } = parseArgs(args, {
18
- mind: { type: "string" }
19
- });
20
- const name = positional[0] || resolveMindName(flags);
21
- if (!name) {
22
- console.error("Usage: volute mind wake <name>");
23
- process.exit(1);
24
- }
25
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/wake`, {
26
- method: "POST"
27
- });
28
- const data = await res.json();
29
- if (!res.ok) {
30
- console.error(data.error || "Failed to wake mind");
31
- process.exit(1);
32
- }
33
- console.log(`${name} is waking up`);
34
- }
35
- export {
36
- run
37
- };
@@ -1,85 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- compactTime,
4
- isCompact
5
- } from "./chunk-FYCALD4Q.js";
6
- import {
7
- resolveMindName
8
- } from "./chunk-NAOW2CLO.js";
9
- import {
10
- parseArgs
11
- } from "./chunk-D424ZQGI.js";
12
- import {
13
- daemonFetch
14
- } from "./chunk-PLDWHR4D.js";
15
- import "./chunk-N7BLAHNE.js";
16
- import "./chunk-4JSR7YO7.js";
17
- import "./chunk-7KJOFUNN.js";
18
-
19
- // src/commands/chat/read.ts
20
- async function resolveConversationId(mindName, input) {
21
- if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(input)) {
22
- return input;
23
- }
24
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(mindName)}/conversations`);
25
- if (!res.ok) {
26
- return input;
27
- }
28
- const convs = await res.json();
29
- const cleaned = input.replace(/^[@#]/, "");
30
- const lower = cleaned.toLowerCase();
31
- const channelMatch = convs.find((c) => c.type === "channel" && c.name?.toLowerCase() === lower);
32
- if (channelMatch) return channelMatch.id;
33
- const titleMatch = convs.find((c) => c.title?.toLowerCase() === lower);
34
- if (titleMatch) return titleMatch.id;
35
- const dmMatch = convs.find(
36
- (c) => c.type === "dm" && c.title?.toLowerCase().split(/,\s*/).some((name) => name === lower)
37
- );
38
- if (dmMatch) return dmMatch.id;
39
- const prefixMatch = convs.find((c) => c.id.startsWith(input));
40
- if (prefixMatch) return prefixMatch.id;
41
- return input;
42
- }
43
- async function run(args) {
44
- const { positional, flags } = parseArgs(args, {
45
- mind: { type: "string" },
46
- limit: { type: "number" }
47
- });
48
- const input = positional[0];
49
- if (!input) {
50
- console.error("Usage: volute chat read <conversation> [--limit N] [--mind <name>]");
51
- process.exit(1);
52
- }
53
- const mindName = resolveMindName(flags);
54
- const conversationId = await resolveConversationId(mindName, input);
55
- const limit = String(flags.limit ?? 50);
56
- const res = await daemonFetch(
57
- `/api/minds/${encodeURIComponent(mindName)}/conversations/${encodeURIComponent(conversationId)}/messages?limit=${limit}`
58
- );
59
- if (!res.ok) {
60
- console.error(`Failed to read conversation: ${res.status}`);
61
- process.exit(1);
62
- }
63
- const data = await res.json();
64
- if (!Array.isArray(data.items)) {
65
- console.error("Unexpected response format from server");
66
- process.exit(1);
67
- }
68
- const compact = isCompact();
69
- for (const msg of data.items) {
70
- const sender = msg.sender_name ?? msg.role;
71
- const text = Array.isArray(msg.content) ? msg.content.filter((b) => b.type === "text").map((b) => b.text).join("") : msg.content;
72
- if (compact) {
73
- const time = compactTime(msg.created_at);
74
- console.log(`[${time}] ${sender}: ${text}`);
75
- } else {
76
- const time = new Date(
77
- msg.created_at.endsWith("Z") ? msg.created_at : `${msg.created_at}Z`
78
- ).toLocaleString();
79
- console.log(`[${time}] ${sender}: ${text}`);
80
- }
81
- }
82
- }
83
- export {
84
- run
85
- };
@@ -1,47 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- promptLine
4
- } from "./chunk-SSI47XP2.js";
5
- import {
6
- parseArgs
7
- } from "./chunk-D424ZQGI.js";
8
- import {
9
- daemonFetch
10
- } from "./chunk-PLDWHR4D.js";
11
- import "./chunk-N7BLAHNE.js";
12
- import "./chunk-4JSR7YO7.js";
13
- import "./chunk-7KJOFUNN.js";
14
-
15
- // src/commands/systems/register.ts
16
- async function run(args) {
17
- const { flags } = parseArgs(args, {
18
- name: { type: "string" }
19
- });
20
- let name = flags.name;
21
- if (!name) {
22
- if (!process.stdin.isTTY) {
23
- console.error("Usage: volute systems register --name <system-name>");
24
- process.exit(1);
25
- }
26
- name = await promptLine("Choose a system name: ");
27
- if (!name) {
28
- console.error("No name provided.");
29
- process.exit(1);
30
- }
31
- }
32
- const res = await daemonFetch("/api/system/register", {
33
- method: "POST",
34
- headers: { "Content-Type": "application/json" },
35
- body: JSON.stringify({ name })
36
- });
37
- if (!res.ok) {
38
- const body = await res.json().catch(() => ({ error: `HTTP ${res.status}` }));
39
- console.error(`Registration failed: ${body.error}`);
40
- process.exit(1);
41
- }
42
- const { system } = await res.json();
43
- console.log(`Registered as "${system}". Credentials saved.`);
44
- }
45
- export {
46
- run
47
- };
@@ -1,40 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- parseArgs
7
- } from "./chunk-D424ZQGI.js";
8
- import {
9
- daemonFetch
10
- } from "./chunk-PLDWHR4D.js";
11
- import "./chunk-N7BLAHNE.js";
12
- import "./chunk-4JSR7YO7.js";
13
- import "./chunk-7KJOFUNN.js";
14
-
15
- // src/commands/chat/reject.ts
16
- async function run(args) {
17
- const { positional, flags } = parseArgs(args, {
18
- mind: { type: "string" }
19
- });
20
- const mind = resolveMindName(flags);
21
- const id = positional[0];
22
- if (!id) {
23
- console.error("Usage: volute chat reject <id> [--mind <name>]");
24
- process.exit(1);
25
- }
26
- const res = await daemonFetch(`/api/minds/${encodeURIComponent(mind)}/files/reject`, {
27
- method: "POST",
28
- headers: { "Content-Type": "application/json" },
29
- body: JSON.stringify({ id })
30
- });
31
- if (!res.ok) {
32
- const data = await res.json();
33
- console.error(data.error ?? `Failed to reject file: ${res.status}`);
34
- process.exit(1);
35
- }
36
- console.log(`File rejected: ${id}`);
37
- }
38
- export {
39
- run
40
- };
@@ -1,33 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- resolveMindName
4
- } from "./chunk-NAOW2CLO.js";
5
- import {
6
- getClient,
7
- urlOf
8
- } from "./chunk-4RQBJWQX.js";
9
- import {
10
- daemonFetch
11
- } from "./chunk-PLDWHR4D.js";
12
- import "./chunk-N7BLAHNE.js";
13
- import "./chunk-4JSR7YO7.js";
14
- import "./chunk-7KJOFUNN.js";
15
-
16
- // src/commands/restart.ts
17
- async function run(args) {
18
- const name = resolveMindName({ mind: args[0] });
19
- const client = getClient();
20
- const res = await daemonFetch(
21
- urlOf(client.api.minds[":name"].restart.$url({ param: { name } })),
22
- { method: "POST" }
23
- );
24
- const data = await res.json();
25
- if (!res.ok) {
26
- console.error(data.error || "Failed to restart mind");
27
- process.exit(1);
28
- }
29
- console.log(`${name} restarted on port ${data.port}`);
30
- }
31
- export {
32
- run
33
- };
@@ -1,32 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- Scheduler,
4
- getScheduler,
5
- initScheduler
6
- } from "./chunk-TAHX36HZ.js";
7
- import "./chunk-CVL5IGIR.js";
8
- import "./chunk-B2BVAIZ4.js";
9
- import "./chunk-G53F3JA4.js";
10
- import "./chunk-N3DNFPVA.js";
11
- import "./chunk-OYAKCAVY.js";
12
- import "./chunk-V45JXOWY.js";
13
- import "./chunk-IS7WJ56Q.js";
14
- import "./chunk-BTWAGDV5.js";
15
- import "./chunk-M3K5AARV.js";
16
- import "./chunk-PB65JZK2.js";
17
- import "./chunk-BM474GX6.js";
18
- import "./chunk-E5C7OWZ2.js";
19
- import "./chunk-XWXBJQBE.js";
20
- import "./chunk-BFWHBQK4.js";
21
- import "./chunk-YUIHSKR6.js";
22
- import "./chunk-U5BTYSAL.js";
23
- import "./chunk-BDK73LK6.js";
24
- import "./chunk-6OWJXUAR.js";
25
- import "./chunk-N7BLAHNE.js";
26
- import "./chunk-4JSR7YO7.js";
27
- import "./chunk-7KJOFUNN.js";
28
- export {
29
- Scheduler,
30
- getScheduler,
31
- initScheduler
32
- };
@@ -1,32 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- parseArgs
4
- } from "./chunk-D424ZQGI.js";
5
- import "./chunk-7KJOFUNN.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-WOAQXXBM.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
- };