volute 0.26.0 → 0.28.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 (141) hide show
  1. package/README.md +18 -18
  2. package/dist/accept-666DIZX2.js +41 -0
  3. package/dist/{activity-events-ZMBAKLUF.js → activity-events-BBIEA2F4.js} +2 -3
  4. package/dist/api.d.ts +510 -299
  5. package/dist/{archive-4ZQYK5MN.js → archive-UA4BDFXQ.js} +2 -2
  6. package/dist/bridge-FQHZL3MC.js +206 -0
  7. package/dist/chat-M4SX42JD.js +68 -0
  8. package/dist/{chunk-PHU4DEAJ.js → chunk-2WPW7OT6.js} +3 -3
  9. package/dist/{chunk-5Y3PBKW6.js → chunk-2YP2TVDT.js} +138 -56
  10. package/dist/{chunk-3CFRE2VC.js → chunk-AAPXKR5V.js} +435 -1090
  11. package/dist/{chunk-YJA7P64S.js → chunk-AW7PFDVN.js} +5 -5
  12. package/dist/{chunk-OZFKBXD6.js → chunk-EHYDTZTF.js} +6 -6
  13. package/dist/{chunk-WBHMQ5OZ.js → chunk-H7OZRFJB.js} +192 -12
  14. package/dist/{chunk-ON3FF5JA.js → chunk-HDN7MNGD.js} +3 -3
  15. package/dist/chunk-IAYBDWVG.js +477 -0
  16. package/dist/{chunk-TZKJLDQN.js → chunk-IKRVFPWU.js} +14 -9
  17. package/dist/{chunk-UTL75LP6.js → chunk-J4IBNXGJ.js} +20 -22
  18. package/dist/{chunk-WGOGUMPO.js → chunk-JGFVMROS.js} +13 -6
  19. package/dist/{chunk-NWI2425I.js → chunk-K5NAC55T.js} +1 -1
  20. package/dist/chunk-KTLFDYPT.js +61 -0
  21. package/dist/{chunk-V63B7DX3.js → chunk-LAC664WU.js} +7 -4
  22. package/dist/chunk-MD4C26II.js +128 -0
  23. package/dist/{chunk-USNBKHYG.js → chunk-NI5FFCCS.js} +12 -7
  24. package/dist/{chunk-3TV4GLFO.js → chunk-P72MVS4R.js} +4 -43
  25. package/dist/{chunk-2VO7453N.js → chunk-POSXWWTA.js} +30 -54
  26. package/dist/{chunk-XOXLRRR2.js → chunk-RKQEHRBB.js} +4 -3
  27. package/dist/{chunk-LX22GRG7.js → chunk-SGVNFZHW.js} +11 -8
  28. package/dist/chunk-T6HKBWXZ.js +23 -0
  29. package/dist/{chunk-J2CO4WEV.js → chunk-VIVMW2H2.js} +4 -4
  30. package/dist/{chunk-KTJGZ7M7.js → chunk-XBLSAVJF.js} +1 -1
  31. package/dist/cli.js +32 -49
  32. package/dist/{cloud-sync-NI2K3C7G.js → cloud-sync-HDL6PHZI.js} +14 -14
  33. package/dist/connectors/discord-bridge.js +158 -0
  34. package/dist/connectors/slack-bridge.js +119 -0
  35. package/dist/connectors/telegram-bridge.js +133 -0
  36. package/dist/conversations-M2K4253F.js +55 -0
  37. package/dist/create-D7J73A6H.js +45 -0
  38. package/dist/{create-4YBRTTJS.js → create-QWV73WXD.js} +1 -1
  39. package/dist/{daemon-client-Z7FAJ6JW.js → daemon-client-I42FK2BF.js} +2 -2
  40. package/dist/{daemon-restart-BJZ3O4U4.js → daemon-restart-G4B2OYAB.js} +7 -7
  41. package/dist/daemon.js +1889 -1216
  42. package/dist/db-IC4J52XQ.js +8 -0
  43. package/dist/{delete-27OYNK25.js → delete-4JYGD4VN.js} +1 -1
  44. package/dist/down-LVBXEULC.js +14 -0
  45. package/dist/{env-M336ONDP.js → env-YJMUMFIY.js} +2 -2
  46. package/dist/{export-HP4G5DQC.js → export-BOJQWBMA.js} +4 -4
  47. package/dist/files-M546TKVN.js +46 -0
  48. package/dist/{history-B64GTFTD.js → history-ALPTNB3I.js} +5 -5
  49. package/dist/{import-XIB7UV4S.js → import-SRTQXBGH.js} +4 -4
  50. package/dist/join-J4QU42DL.js +66 -0
  51. package/dist/list-R73GENNL.js +40 -0
  52. package/dist/{login-B5E7N7MY.js → login-3QZNR2DF.js} +4 -4
  53. package/dist/{login-6U7U6BNG.js → login-BKP3AFWN.js} +8 -18
  54. package/dist/logout-IQK7FNEK.js +20 -0
  55. package/dist/{logout-XSJRYS3U.js → logout-T53VKCPU.js} +4 -4
  56. package/dist/message-delivery-HV3S6HZV.js +24 -0
  57. package/dist/migrate-registry-to-db-XC7T5B7P.js +110 -0
  58. package/dist/{mind-HZ3QSDDJ.js → mind-S5V6CK5W.js} +29 -34
  59. package/dist/{mind-activity-tracker-4G6FURY2.js → mind-activity-tracker-EN6XNXPF.js} +3 -4
  60. package/dist/mind-list-UPJ75GPI.js +29 -0
  61. package/dist/mind-manager-S6ILZVX3.js +18 -0
  62. package/dist/{mind-sleep-DTV7L44D.js → mind-sleep-BTSWQNAC.js} +4 -4
  63. package/dist/mind-status-TK5AETEM.js +55 -0
  64. package/dist/{mind-wake-PFN4FN3T.js → mind-wake-SBAKIDVP.js} +4 -4
  65. package/dist/{notes-37FW2UR2.js → notes-XCER3I7M.js} +11 -21
  66. package/dist/{package-VZWLXPHV.js → package-CG4RWUGP.js} +1 -1
  67. package/dist/{pages-DIIT5HMQ.js → pages-KJDJX4TA.js} +5 -5
  68. package/dist/{publish-HQV7YREB.js → publish-ZZB33WP4.js} +9 -20
  69. package/dist/read-36UFXN3G.js +46 -0
  70. package/dist/{register-EFND67FQ.js → register-CHREOMJ3.js} +6 -25
  71. package/dist/{registry-D2BSQ2X5.js → registry-NDNOOYG4.js} +15 -9
  72. package/dist/reject-LXIZFJ4Q.js +39 -0
  73. package/dist/{restart-CCK7D6TV.js → restart-6ESL3NBO.js} +5 -5
  74. package/dist/{sandbox-EHGFF52K.js → sandbox-5BW5HPXM.js} +3 -3
  75. package/dist/{schedule-6F7ELB2M.js → schedule-QTJMFATP.js} +5 -5
  76. package/dist/{seed-E5OQGWX3.js → seed-SSUCYYDF.js} +2 -2
  77. package/dist/{send-IH6XZKPC.js → send-TAOEZ4NH.js} +87 -23
  78. package/dist/{setup-YGAAIKKZ.js → setup-JHL5ZEST.js} +2 -2
  79. package/dist/{setup-F6TWFYGQ.js → setup-RXYVGGT7.js} +9 -9
  80. package/dist/{skill-42LGFBQC.js → skill-AUAQTSP5.js} +5 -5
  81. package/dist/skills/dreaming/references/INSTALL.md +2 -2
  82. package/dist/skills/orientation/SKILL.md +3 -3
  83. package/dist/skills/shared-files/SKILL.md +44 -0
  84. package/dist/skills/shared-files/scripts/merge.ts +72 -0
  85. package/dist/skills/shared-files/scripts/pull.ts +52 -0
  86. package/dist/skills/volute-mind/SKILL.md +35 -34
  87. package/dist/sleep-manager-WMVG2VCL.js +28 -0
  88. package/dist/split-TKJ5OT3P.js +63 -0
  89. package/dist/{sprout-QL74KR2X.js → sprout-UNT7LKKE.js} +6 -7
  90. package/dist/{start-O5JQASRC.js → start-EUJSS5R4.js} +2 -2
  91. package/dist/status-NQJYR4BG.js +114 -0
  92. package/dist/{status-LV34BG6G.js → status-S7UUPNRW.js} +4 -14
  93. package/dist/{stop-2SOG5NYF.js → stop-3XAITBBF.js} +5 -5
  94. package/dist/systems-SMEFSHTA.js +60 -0
  95. package/dist/{tailscale-AJ4VL5XK.js → tailscale-NY5MUMY3.js} +1 -1
  96. package/dist/up-GM2JOH2Y.js +17 -0
  97. package/dist/{update-5VUDAI3D.js → update-PTSH22AZ.js} +9 -9
  98. package/dist/{update-check-F5Z3ALXX.js → update-check-64FWC4Y2.js} +2 -2
  99. package/dist/{upgrade-QCCO33BK.js → upgrade-HA47CS4C.js} +12 -5
  100. package/dist/variant-7TGZHOU3.js +41 -0
  101. package/dist/{version-notify-USFZBWMG.js → version-notify-JDUF4HQJ.js} +24 -29
  102. package/dist/web-assets/assets/index-BZGvToHi.css +1 -0
  103. package/dist/web-assets/assets/index-Cz4TrpzB.js +75 -0
  104. package/dist/web-assets/favicon.png +0 -0
  105. package/dist/web-assets/index.html +2 -2
  106. package/drizzle/0017_minds.sql +16 -0
  107. package/drizzle/meta/_journal.json +7 -0
  108. package/package.json +1 -1
  109. package/templates/_base/.init/.config/prompts.json +2 -2
  110. package/templates/_base/home/VOLUTE.md +5 -5
  111. package/templates/_base/src/lib/logger.ts +0 -4
  112. package/templates/_base/src/lib/startup.ts +2 -2
  113. package/dist/auth-4TV573WE.js +0 -37
  114. package/dist/channel-ZVZV42UD.js +0 -260
  115. package/dist/chunk-B2CPS4QU.js +0 -283
  116. package/dist/chunk-HFCBO2GL.js +0 -50
  117. package/dist/chunk-RWKVSSLY.js +0 -26
  118. package/dist/chunk-SIAG3QMM.js +0 -42
  119. package/dist/chunk-WSLPZF72.js +0 -173
  120. package/dist/connector-G722WXAU.js +0 -147
  121. package/dist/connectors/discord.js +0 -177
  122. package/dist/connectors/slack.js +0 -181
  123. package/dist/connectors/telegram.js +0 -187
  124. package/dist/down-7UKFMJJZ.js +0 -14
  125. package/dist/file-HUDKTRAS.js +0 -204
  126. package/dist/log-PBFNILJ4.js +0 -39
  127. package/dist/logout-UKD5LA37.js +0 -18
  128. package/dist/logs-3CART7O7.js +0 -77
  129. package/dist/merge-VK2HSKMA.js +0 -46
  130. package/dist/message-delivery-MS5JYPZX.js +0 -25
  131. package/dist/mind-manager-VVK67AY3.js +0 -19
  132. package/dist/pull-2MB4SK3C.js +0 -39
  133. package/dist/service-LLBV3R7M.js +0 -122
  134. package/dist/shared-UMO4S7CC.js +0 -39
  135. package/dist/sleep-manager-EE4NRN2Q.js +0 -29
  136. package/dist/status-FZBEBM7Q.js +0 -70
  137. package/dist/status-WXD4HXRL.js +0 -35
  138. package/dist/up-SDMCSVI3.js +0 -17
  139. package/dist/variant-WWLDY6D5.js +0 -207
  140. package/dist/web-assets/assets/index-CUQ31ieL.js +0 -69
  141. package/dist/web-assets/assets/index-CW8NSl1o.css +0 -1
package/README.md CHANGED
@@ -55,7 +55,7 @@ volute mind start atlas # start it
55
55
  volute mind stop atlas # stop it
56
56
  volute mind list # list all minds
57
57
  volute mind status atlas # check one
58
- volute mind logs atlas --follow # tail logs
58
+ volute mind history atlas --full # view activity history
59
59
  volute mind delete atlas # remove from registry
60
60
  volute mind delete atlas --force # also delete files
61
61
  ```
@@ -97,32 +97,32 @@ This is the interesting part. Minds can fork themselves into isolated branches,
97
97
 
98
98
  ```sh
99
99
  # Create a variant — gets its own git worktree and running server
100
- volute variant create experiment --mind atlas
100
+ volute mind split experiment --mind atlas
101
101
 
102
- # Talk to the variant directly
103
- volute send @atlas@experiment "try a different approach"
102
+ # Talk to the variant directly (variants have standalone names)
103
+ volute send @atlas-experiment "try a different approach"
104
104
 
105
105
  # List all variants
106
- volute variant list --mind atlas
106
+ volute mind split --list --mind atlas
107
107
 
108
108
  # Merge it back (verifies, merges, cleans up, restarts the main mind)
109
- volute variant merge experiment --mind atlas --summary "improved response style"
109
+ volute mind join atlas-experiment --mind atlas --summary "improved response style"
110
110
  ```
111
111
 
112
112
  What happens:
113
113
 
114
- 1. **Fork** creates a git worktree, installs dependencies, and starts a separate server
114
+ 1. **Split** creates a git worktree, installs dependencies, and starts a separate server
115
115
  2. The variant is a full independent copy — same code, same identity, its own state
116
- 3. **Merge** verifies the variant server works, merges the branch, removes the worktree, and restarts the main mind
116
+ 3. **Join** verifies the variant server works, merges the branch, removes the worktree, and restarts the main mind
117
117
  4. After restart, the mind receives orientation context about what changed
118
118
 
119
119
  You can fork with a custom personality:
120
120
 
121
121
  ```sh
122
- volute variant create poet --mind atlas --soul "You are a poet who responds only in verse."
122
+ volute mind split poet --mind atlas --soul "You are a poet who responds only in verse."
123
123
  ```
124
124
 
125
- Minds have access to the `volute` CLI from their working directory, so they can fork, test, and merge their own variants autonomously.
125
+ Minds have access to the `volute` CLI from their working directory, so they can split, test, and join their own variants autonomously.
126
126
 
127
127
  ## Connectors
128
128
 
@@ -173,10 +173,10 @@ Publish a mind's `home/pages/` directory to the web via [volute.systems](https:/
173
173
 
174
174
  ```sh
175
175
  # Register a system name (one-time)
176
- volute auth register --name my-system
176
+ volute systems register --name my-system
177
177
 
178
178
  # Or log in with an existing key
179
- volute auth login --key vp_...
179
+ volute systems login --key vp_...
180
180
  ```
181
181
 
182
182
  ### Publishing
@@ -192,7 +192,7 @@ The command uploads everything in the mind's `home/pages/` directory. Minds can
192
192
 
193
193
  ```sh
194
194
  volute pages status --mind atlas # show published URL, file count, last publish time
195
- volute auth logout # remove stored credentials
195
+ volute systems logout # remove stored credentials
196
196
  ```
197
197
 
198
198
  ## Environment variables
@@ -214,7 +214,7 @@ The daemon serves a web UI at `http://localhost:1618` (or whatever port you chos
214
214
  - File browser and editor
215
215
  - Log streaming
216
216
  - Connector and schedule management
217
- - Variant status
217
+ - Variant listing and status
218
218
  - First user to register becomes admin
219
219
 
220
220
  ## Upgrading minds
@@ -222,13 +222,13 @@ The daemon serves a web UI at `http://localhost:1618` (or whatever port you chos
222
222
  When the Volute template updates, you can upgrade minds without touching their identity:
223
223
 
224
224
  ```sh
225
- volute mind upgrade atlas # creates an "upgrade" variant
225
+ volute mind upgrade atlas # creates an "atlas-upgrade" variant
226
226
  # resolve conflicts if needed, then:
227
227
  volute mind upgrade atlas --continue
228
228
  # test:
229
- volute send @atlas@upgrade "are you working?"
229
+ volute send @atlas-upgrade "are you working?"
230
230
  # merge:
231
- volute variant merge upgrade --mind atlas
231
+ volute mind join atlas-upgrade
232
232
  ```
233
233
 
234
234
  Your mind's `SOUL.md` and `MEMORY.md` are never overwritten.
@@ -282,7 +282,7 @@ On macOS or Linux (without root), include `--service` during setup:
282
282
 
283
283
  ```sh
284
284
  volute setup --name my-system --service # local install + auto-start on login
285
- volute service status # check status
285
+ volute status # check status
286
286
  ```
287
287
 
288
288
  ## Development
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ resolveMindName
4
+ } from "./chunk-NAOW2CLO.js";
5
+ import {
6
+ daemonFetch
7
+ } from "./chunk-JGFVMROS.js";
8
+ import {
9
+ parseArgs
10
+ } from "./chunk-D424ZQGI.js";
11
+ import "./chunk-H7OZRFJB.js";
12
+ import "./chunk-K3NQKI34.js";
13
+
14
+ // src/commands/chat/accept.ts
15
+ async function run(args) {
16
+ const { positional, flags } = parseArgs(args, {
17
+ mind: { type: "string" },
18
+ dest: { type: "string" }
19
+ });
20
+ const mind = resolveMindName(flags);
21
+ const id = positional[0];
22
+ if (!id) {
23
+ console.error("Usage: volute chat accept <id> [--mind <name>] [--dest <path>]");
24
+ process.exit(1);
25
+ }
26
+ const res = await daemonFetch(`/api/minds/${encodeURIComponent(mind)}/files/accept`, {
27
+ method: "POST",
28
+ headers: { "Content-Type": "application/json" },
29
+ body: JSON.stringify({ id, dest: flags.dest })
30
+ });
31
+ if (!res.ok) {
32
+ const data2 = await res.json();
33
+ console.error(data2.error ?? `Failed to accept file: ${res.status}`);
34
+ process.exit(1);
35
+ }
36
+ const data = await res.json();
37
+ console.log(`File accepted: ${data.destPath}`);
38
+ }
39
+ export {
40
+ run
41
+ };
@@ -3,10 +3,9 @@ import {
3
3
  broadcast,
4
4
  publish,
5
5
  subscribe
6
- } from "./chunk-J2CO4WEV.js";
7
- import "./chunk-WBHMQ5OZ.js";
6
+ } from "./chunk-VIVMW2H2.js";
8
7
  import "./chunk-YUIHSKR6.js";
9
- import "./chunk-B2CPS4QU.js";
8
+ import "./chunk-H7OZRFJB.js";
10
9
  import "./chunk-K3NQKI34.js";
11
10
  export {
12
11
  broadcast,