volute 0.45.1 → 0.46.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 (120) hide show
  1. package/README.md +3 -3
  2. package/dist/{activity-events-OMCSM7XW.js → activity-events-NF6VWTJQ.js} +2 -2
  3. package/dist/{ai-service-534WUSDL.js → ai-service-UODCCE4O.js} +3 -3
  4. package/dist/{archive-6R4TZMYI.js → archive-WS2L2VIQ.js} +2 -2
  5. package/dist/{auth-FRZJVQCS.js → auth-CCFAU4GQ.js} +3 -3
  6. package/dist/{avatar-image-BNWEXSA2.js → avatar-image-6KY6UU4D.js} +3 -3
  7. package/dist/{backup-OZXHL3JS.js → backup-TST5C2YN.js} +7 -7
  8. package/dist/{chat-I4EDDIQC.js → chat-ZIQQS25U.js} +2 -2
  9. package/dist/{chunk-ZIR7HSAX.js → chunk-4JOQZPCE.js} +1 -1
  10. package/dist/chunk-4YU7HF4L.js +237 -0
  11. package/dist/{chunk-JSRMEY52.js → chunk-5ZQZDDIK.js} +10 -5
  12. package/dist/{chunk-2BONPXAF.js → chunk-6EMWJZBK.js} +1 -1
  13. package/dist/{chunk-LAXUUY7O.js → chunk-A7WQZKOU.js} +2 -2
  14. package/dist/{chunk-H7IYFRAL.js → chunk-ALKYQULU.js} +10 -5
  15. package/dist/{chunk-5AUKCNPE.js → chunk-BJZ4PV7R.js} +8 -8
  16. package/dist/{chunk-KP3KWNG6.js → chunk-CDPBTTZO.js} +2 -2
  17. package/dist/{chunk-SQL7M4HJ.js → chunk-DRJ24GXK.js} +2 -2
  18. package/dist/{chunk-77BVGCTZ.js → chunk-E3DA4HYV.js} +9 -9
  19. package/dist/{chunk-322KE457.js → chunk-F7H6ATM4.js} +1 -1
  20. package/dist/{chunk-KVKP6VQ5.js → chunk-FXORA5JG.js} +12 -3
  21. package/dist/{chunk-3ERIL673.js → chunk-H2X54EHC.js} +1 -1
  22. package/dist/{chunk-TSK5PI4L.js → chunk-IHKGWTGT.js} +1 -1
  23. package/dist/{chunk-U4FNXDEJ.js → chunk-JO5IO4FH.js} +422 -168
  24. package/dist/{chunk-OXXTPILE.js → chunk-JZ62SYWR.js} +1 -1
  25. package/dist/{chunk-IUXTYXFI.js → chunk-K6T43YBD.js} +3 -3
  26. package/dist/{chunk-Y6OPHHGM.js → chunk-KGIXX4NM.js} +4 -4
  27. package/dist/{chunk-HVU45COX.js → chunk-KQSFTPIM.js} +1 -1
  28. package/dist/{chunk-CYI534DJ.js → chunk-OV7ZQ2GH.js} +2 -2
  29. package/dist/{chunk-CU6OFXMM.js → chunk-PFZBNKUH.js} +9 -0
  30. package/dist/{clock-K43IMROX.js → chunk-PJ45FQPT.js} +21 -16
  31. package/dist/{chunk-QMJJWTNL.js → chunk-QCN24XEN.js} +1 -1
  32. package/dist/{chunk-UMI4UIJG.js → chunk-R77O2WMK.js} +1 -1
  33. package/dist/{chunk-IEWZ7VD7.js → chunk-RRNXJOKB.js} +2 -2
  34. package/dist/{chunk-FHWUQZXE.js → chunk-RXEEYDIB.js} +1 -1
  35. package/dist/{chunk-Q2XBKQ2D.js → chunk-TQJ6ZYVY.js} +2 -2
  36. package/dist/{chunk-V4GYPD5L.js → chunk-YXSUMLTC.js} +46 -269
  37. package/dist/{chunk-5GT7URXJ.js → chunk-ZDZISKCL.js} +1 -1
  38. package/dist/{chunk-ZMIMSIIT.js → chunk-ZNMCCHCP.js} +48 -2
  39. package/dist/cli.js +20 -20
  40. package/dist/clock-RHS2JEDL.js +16 -0
  41. package/dist/{cloud-sync-Y7LQPRE3.js → cloud-sync-46RS4SDA.js} +17 -16
  42. package/dist/{conversations-G4LYMHAA.js → conversations-CJOOCGNW.js} +3 -3
  43. package/dist/{create-2YY7IPMS.js → create-IOV4GCRX.js} +1 -1
  44. package/dist/{daemon-restart-ABP54YN6.js → daemon-restart-VFEI57UO.js} +6 -6
  45. package/dist/daemon.js +392 -270
  46. package/dist/{db-JFLCJCUG.js → db-MF2JNRUW.js} +1 -1
  47. package/dist/{delete-BFMIGAIB.js → delete-HPLC7ETU.js} +1 -1
  48. package/dist/delivery-manager-JINZRG2W.js +33 -0
  49. package/dist/{delivery-router-6DE3BPHO.js → delivery-router-N4A7ZC5T.js} +2 -2
  50. package/dist/{down-XCAZXWLB.js → down-U2CZ23M4.js} +4 -4
  51. package/dist/echo-text-VQPB5L2X.js +33 -0
  52. package/dist/{exec-4GWHAHS3.js → exec-G3ZRST4Z.js} +2 -2
  53. package/dist/{export-ID7YUSLZ.js → export-LY723I3Z.js} +5 -5
  54. package/dist/{extensions-AYSPKE33.js → extensions-ZELQLTSR.js} +17 -16
  55. package/dist/{files-BQ2WB5KC.js → files-4LN3EN7Q.js} +2 -2
  56. package/dist/{import-SKID37QX.js → import-42YNQBF4.js} +5 -5
  57. package/dist/{isolation-5MB3J73F.js → isolation-YMGZZ4E5.js} +2 -2
  58. package/dist/{join-RXPXGV4L.js → join-ZJV7W6MO.js} +4 -0
  59. package/dist/{login-LM4NF4ZB.js → login-M6OJUPQ2.js} +1 -1
  60. package/dist/{logout-CTJVIZGA.js → logout-WQBWO77G.js} +1 -1
  61. package/dist/message-delivery-R7JSQGYX.js +37 -0
  62. package/dist/{mind-KLHC7XYR.js → mind-LHKS55DI.js} +12 -12
  63. package/dist/{mind-activity-tracker-BGHJE7XA.js → mind-activity-tracker-3QRNJVR4.js} +3 -3
  64. package/dist/mind-service-NB2JMWQZ.js +39 -0
  65. package/dist/mind-sleep-74TGOQBC.js +83 -0
  66. package/dist/{package-BMHV7UHN.js → package-DOD6CPO6.js} +2 -1
  67. package/dist/{registry-NUJAGLQJ.js → registry-OUZBZ3Q4.js} +5 -1
  68. package/dist/{sandbox-72MWV4JL.js → sandbox-ZJ7QA6Z6.js} +3 -3
  69. package/dist/scheduler-WVKII3LA.js +31 -0
  70. package/dist/{seed-4MKQ5QKG.js → seed-CNYIHPOH.js} +1 -1
  71. package/dist/{seed-cmd-LCXMR7VV.js → seed-cmd-AVNUNLZV.js} +2 -2
  72. package/dist/{seed-create-N2BF5LQX.js → seed-create-ANXGYSCC.js} +5 -5
  73. package/dist/{seed-sprout-6ZDP23YI.js → seed-sprout-NIUFTX32.js} +10 -8
  74. package/dist/{send-O6W53VBM.js → send-SPE6DVNJ.js} +8 -2
  75. package/dist/{service-AQVPUANO.js → service-UOCLXDWR.js} +3 -3
  76. package/dist/{service-install-4QNUDKLM.js → service-install-4HHFDDWY.js} +4 -4
  77. package/dist/{setup-3O6O2JZ7.js → setup-QT2A25SY.js} +6 -6
  78. package/dist/{setup-73YBJZQL.js → setup-Y2EJI3GG.js} +2 -2
  79. package/dist/skills/imagegen/scripts/imagegen.ts +100 -40
  80. package/dist/skills/orientation/SKILL.md +1 -1
  81. package/dist/skills/volute-mind/SKILL.md +13 -9
  82. package/dist/skills/volute-mind/references/sleep.md +8 -1
  83. package/dist/{skills-ND4ZFYUW.js → skills-AKCFA7BN.js} +4 -4
  84. package/dist/sleep-manager-G6TXSDP7.js +35 -0
  85. package/dist/{spirit-II3HOERM.js → spirit-RPBLLUQ5.js} +7 -7
  86. package/dist/{sprout-4KUG76AQ.js → sprout-SMX42ZBP.js} +1 -1
  87. package/dist/{src-XFY3XDD6.js → src-OJHARHTF.js} +28 -17
  88. package/dist/{status-E5DQNCAO.js → status-SWRVGXBI.js} +4 -4
  89. package/dist/system-chat-NDAW6YP7.js +37 -0
  90. package/dist/{tailscale-QAWVKQKU.js → tailscale-3XOKOW7T.js} +1 -1
  91. package/dist/{turn-tracker-QQIVVXBI.js → turn-tracker-FOIBNUUA.js} +5 -4
  92. package/dist/{up-LG56MPBI.js → up-PS6PFS75.js} +5 -5
  93. package/dist/{update-7TYVH5FM.js → update-SWAYZRWJ.js} +4 -4
  94. package/dist/{update-check-VSCSJ7KX.js → update-check-PQ2MZ47K.js} +2 -2
  95. package/dist/{version-notify-CODJOUW2.js → version-notify-C5CH7CVP.js} +24 -19
  96. package/dist/{volute-config-TS62GS6A.js → volute-config-A52FHWKM.js} +5 -1
  97. package/dist/web-assets/assets/{index-Dac11sKB.js → index-CU6XWICM.js} +15 -15
  98. package/dist/web-assets/index.html +1 -1
  99. package/package.json +2 -1
  100. package/templates/_base/home/VOLUTE.md +6 -2
  101. package/templates/_base/src/lib/context-breakdown.ts +57 -67
  102. package/templates/_base/src/lib/file-handler.ts +3 -3
  103. package/templates/_base/src/lib/router.ts +21 -25
  104. package/templates/_base/src/lib/startup.ts +2 -0
  105. package/templates/_base/src/lib/types.ts +2 -2
  106. package/templates/_base/src/lib/volute-server.ts +2 -2
  107. package/templates/claude/src/agent.ts +147 -46
  108. package/templates/claude/src/lib/message-channel.ts +23 -0
  109. package/templates/claude/src/lib/session-reaper.ts +68 -0
  110. package/templates/claude/src/server.ts +1 -0
  111. package/templates/codex/src/agent.ts +80 -46
  112. package/templates/pi/src/agent.ts +73 -45
  113. package/dist/delivery-manager-R5STGLXB.js +0 -32
  114. package/dist/echo-text-NQXYYYCU.js +0 -32
  115. package/dist/message-delivery-IUAXRPFE.js +0 -34
  116. package/dist/mind-service-BF2LUQMH.js +0 -36
  117. package/dist/mind-sleep-YMBR3I35.js +0 -47
  118. package/dist/scheduler-YHJRRV6E.js +0 -30
  119. package/dist/sleep-manager-YAHDOIU5.js +0 -34
  120. package/dist/system-chat-E65T2HSW.js +0 -34
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getDb
4
- } from "./chunk-H7IYFRAL.js";
4
+ } from "./chunk-ALKYQULU.js";
5
5
  import "./chunk-ZV7MFISX.js";
6
6
  import "./chunk-K3NQKI34.js";
7
7
  export {
@@ -28,7 +28,7 @@ var cmd = command({
28
28
  console.error(data.error ?? "Failed to delete mind");
29
29
  process.exit(1);
30
30
  }
31
- console.log(`Removed ${name}.`);
31
+ console.log(`Deleted ${name} from the registry.`);
32
32
  if (flags.force) {
33
33
  console.log("Deleted mind directory.");
34
34
  } else {
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ DeliveryManager,
4
+ getDeliveryManager,
5
+ initDeliveryManager,
6
+ tryGetDeliveryManager
7
+ } from "./chunk-JO5IO4FH.js";
8
+ import "./chunk-ZDZISKCL.js";
9
+ import "./chunk-BJZ4PV7R.js";
10
+ import "./chunk-QLWG3C2Z.js";
11
+ import "./chunk-KGIXX4NM.js";
12
+ import "./chunk-5ZQZDDIK.js";
13
+ import "./chunk-PFZBNKUH.js";
14
+ import "./chunk-JZ62SYWR.js";
15
+ import "./chunk-KQSFTPIM.js";
16
+ import "./chunk-4JOQZPCE.js";
17
+ import "./chunk-YXSUMLTC.js";
18
+ import "./chunk-4YU7HF4L.js";
19
+ import "./chunk-H2X54EHC.js";
20
+ import "./chunk-IHKGWTGT.js";
21
+ import "./chunk-F7H6ATM4.js";
22
+ import "./chunk-OV7ZQ2GH.js";
23
+ import "./chunk-ZNMCCHCP.js";
24
+ import "./chunk-T2TP6ZC6.js";
25
+ import "./chunk-ALKYQULU.js";
26
+ import "./chunk-ZV7MFISX.js";
27
+ import "./chunk-K3NQKI34.js";
28
+ export {
29
+ DeliveryManager,
30
+ getDeliveryManager,
31
+ initDeliveryManager,
32
+ tryGetDeliveryManager
33
+ };
@@ -7,9 +7,9 @@ import {
7
7
  resolveDeliveryMode,
8
8
  resolveRoute,
9
9
  setRoutesChangeListener
10
- } from "./chunk-ZIR7HSAX.js";
10
+ } from "./chunk-4JOQZPCE.js";
11
11
  import "./chunk-T2TP6ZC6.js";
12
- import "./chunk-H7IYFRAL.js";
12
+ import "./chunk-ALKYQULU.js";
13
13
  import "./chunk-ZV7MFISX.js";
14
14
  import "./chunk-K3NQKI34.js";
15
15
  export {
@@ -2,12 +2,12 @@
2
2
  import {
3
3
  run,
4
4
  stopDaemon
5
- } from "./chunk-IEWZ7VD7.js";
5
+ } from "./chunk-RRNXJOKB.js";
6
6
  import "./chunk-TXSA4Q3V.js";
7
7
  import "./chunk-O7IGP7ZW.js";
8
- import "./chunk-Q2XBKQ2D.js";
9
- import "./chunk-3ERIL673.js";
10
- import "./chunk-H7IYFRAL.js";
8
+ import "./chunk-TQJ6ZYVY.js";
9
+ import "./chunk-H2X54EHC.js";
10
+ import "./chunk-ALKYQULU.js";
11
11
  import "./chunk-ZV7MFISX.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
  export {
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ clearEchoTextCache,
4
+ echoTextToChannel
5
+ } from "./chunk-E3DA4HYV.js";
6
+ import "./chunk-RXEEYDIB.js";
7
+ import "./chunk-JO5IO4FH.js";
8
+ import "./chunk-ZDZISKCL.js";
9
+ import "./chunk-BJZ4PV7R.js";
10
+ import "./chunk-QLWG3C2Z.js";
11
+ import "./chunk-KGIXX4NM.js";
12
+ import "./chunk-5ZQZDDIK.js";
13
+ import "./chunk-PFZBNKUH.js";
14
+ import "./chunk-JZ62SYWR.js";
15
+ import "./chunk-KQSFTPIM.js";
16
+ import "./chunk-4JOQZPCE.js";
17
+ import "./chunk-YXSUMLTC.js";
18
+ import "./chunk-4YU7HF4L.js";
19
+ import "./chunk-TQJ6ZYVY.js";
20
+ import "./chunk-H2X54EHC.js";
21
+ import "./chunk-IHKGWTGT.js";
22
+ import "./chunk-F7H6ATM4.js";
23
+ import "./chunk-OV7ZQ2GH.js";
24
+ import "./chunk-ZNMCCHCP.js";
25
+ import "./chunk-T2TP6ZC6.js";
26
+ import "./chunk-LGNUFVMR.js";
27
+ import "./chunk-ALKYQULU.js";
28
+ import "./chunk-ZV7MFISX.js";
29
+ import "./chunk-K3NQKI34.js";
30
+ export {
31
+ clearEchoTextCache,
32
+ echoTextToChannel
33
+ };
@@ -4,8 +4,8 @@ import {
4
4
  execInherit,
5
5
  gitExec,
6
6
  resolveVoluteBin
7
- } from "./chunk-3ERIL673.js";
8
- import "./chunk-H7IYFRAL.js";
7
+ } from "./chunk-H2X54EHC.js";
8
+ import "./chunk-ALKYQULU.js";
9
9
  import "./chunk-ZV7MFISX.js";
10
10
  import "./chunk-K3NQKI34.js";
11
11
  export {
@@ -6,11 +6,11 @@ import "./chunk-O7IGP7ZW.js";
6
6
  import {
7
7
  addHistoryToArchive,
8
8
  createExportArchive
9
- } from "./chunk-QMJJWTNL.js";
9
+ } from "./chunk-QCN24XEN.js";
10
10
  import {
11
11
  findMind,
12
12
  mindDir
13
- } from "./chunk-H7IYFRAL.js";
13
+ } from "./chunk-ALKYQULU.js";
14
14
  import "./chunk-ZV7MFISX.js";
15
15
  import "./chunk-K3NQKI34.js";
16
16
 
@@ -24,7 +24,7 @@ var cmd = command({
24
24
  flags: {
25
25
  "include-env": { type: "boolean", description: "Include environment variables" },
26
26
  "include-identity": { type: "boolean", description: "Include identity keys" },
27
- "include-connectors": { type: "boolean", description: "Include connector configs" },
27
+ "include-bridges": { type: "boolean", description: "Include bridge configs" },
28
28
  "include-history": { type: "boolean", description: "Include message history" },
29
29
  "include-sessions": { type: "boolean", description: "Include session data" },
30
30
  "include-src": { type: "boolean", description: "Include source code" },
@@ -46,7 +46,7 @@ var cmd = command({
46
46
  const includeAll = flags.all;
47
47
  const includeEnv = includeAll || flags["include-env"];
48
48
  const includeIdentity = includeAll || flags["include-identity"];
49
- const includeConnectors = includeAll || flags["include-connectors"];
49
+ const includeConnectors = includeAll || flags["include-bridges"];
50
50
  const includeHistory = includeAll || flags["include-history"];
51
51
  const includeSessions = includeAll || flags["include-sessions"];
52
52
  const includeSrc = includeAll || flags["include-src"];
@@ -97,7 +97,7 @@ Exported ${name} \u2192 ${outputPath} (${sizeMB} MB)`);
97
97
  ["src", includeSrc],
98
98
  ["env", includeEnv],
99
99
  ["identity", includeIdentity],
100
- ["connectors", includeConnectors],
100
+ ["bridges", includeConnectors],
101
101
  ["history", includeHistory],
102
102
  ["sessions", includeSessions]
103
103
  ]) {
@@ -13,24 +13,25 @@ import {
13
13
  parseCommandArgs,
14
14
  setExtensionEnabled,
15
15
  uninstallNpmExtension
16
- } from "./chunk-U4FNXDEJ.js";
17
- import "./chunk-5GT7URXJ.js";
18
- import "./chunk-5AUKCNPE.js";
16
+ } from "./chunk-JO5IO4FH.js";
17
+ import "./chunk-ZDZISKCL.js";
18
+ import "./chunk-BJZ4PV7R.js";
19
19
  import "./chunk-QLWG3C2Z.js";
20
- import "./chunk-Y6OPHHGM.js";
21
- import "./chunk-JSRMEY52.js";
22
- import "./chunk-CU6OFXMM.js";
23
- import "./chunk-OXXTPILE.js";
24
- import "./chunk-HVU45COX.js";
25
- import "./chunk-ZIR7HSAX.js";
26
- import "./chunk-V4GYPD5L.js";
27
- import "./chunk-3ERIL673.js";
28
- import "./chunk-TSK5PI4L.js";
29
- import "./chunk-322KE457.js";
30
- import "./chunk-CYI534DJ.js";
31
- import "./chunk-ZMIMSIIT.js";
20
+ import "./chunk-KGIXX4NM.js";
21
+ import "./chunk-5ZQZDDIK.js";
22
+ import "./chunk-PFZBNKUH.js";
23
+ import "./chunk-JZ62SYWR.js";
24
+ import "./chunk-KQSFTPIM.js";
25
+ import "./chunk-4JOQZPCE.js";
26
+ import "./chunk-YXSUMLTC.js";
27
+ import "./chunk-4YU7HF4L.js";
28
+ import "./chunk-H2X54EHC.js";
29
+ import "./chunk-IHKGWTGT.js";
30
+ import "./chunk-F7H6ATM4.js";
31
+ import "./chunk-OV7ZQ2GH.js";
32
+ import "./chunk-ZNMCCHCP.js";
32
33
  import "./chunk-T2TP6ZC6.js";
33
- import "./chunk-H7IYFRAL.js";
34
+ import "./chunk-ALKYQULU.js";
34
35
  import "./chunk-ZV7MFISX.js";
35
36
  import "./chunk-K3NQKI34.js";
36
37
  export {
@@ -11,8 +11,8 @@ import {
11
11
  import "./chunk-O7IGP7ZW.js";
12
12
  import {
13
13
  formatFileSize
14
- } from "./chunk-UMI4UIJG.js";
15
- import "./chunk-H7IYFRAL.js";
14
+ } from "./chunk-R77O2WMK.js";
15
+ import "./chunk-ALKYQULU.js";
16
16
  import "./chunk-ZV7MFISX.js";
17
17
  import "./chunk-K3NQKI34.js";
18
18
 
@@ -8,11 +8,11 @@ import {
8
8
  importPiSession,
9
9
  parseNameFromIdentity,
10
10
  sessionMatchesWorkspace
11
- } from "./chunk-LAXUUY7O.js";
12
- import "./chunk-FHWUQZXE.js";
13
- import "./chunk-5GT7URXJ.js";
11
+ } from "./chunk-A7WQZKOU.js";
12
+ import "./chunk-RXEEYDIB.js";
13
+ import "./chunk-ZDZISKCL.js";
14
14
  import "./chunk-T2TP6ZC6.js";
15
- import "./chunk-H7IYFRAL.js";
15
+ import "./chunk-ALKYQULU.js";
16
16
  import "./chunk-ZV7MFISX.js";
17
17
  import "./chunk-K3NQKI34.js";
18
18
 
@@ -72,7 +72,7 @@ async function importArchive(archivePath, nameOverride) {
72
72
  console.error(`File not found: ${archivePath}`);
73
73
  process.exit(1);
74
74
  }
75
- const { extractArchive } = await import("./archive-6R4TZMYI.js");
75
+ const { extractArchive } = await import("./archive-WS2L2VIQ.js");
76
76
  const tempDir = resolve(tmpdir(), `volute-import-${Date.now()}`);
77
77
  mkdirSync(tempDir, { recursive: true });
78
78
  let extracted;
@@ -8,8 +8,8 @@ import {
8
8
  isIsolationEnabled,
9
9
  mindUserName,
10
10
  wrapForIsolation
11
- } from "./chunk-3ERIL673.js";
12
- import "./chunk-H7IYFRAL.js";
11
+ } from "./chunk-H2X54EHC.js";
12
+ import "./chunk-ALKYQULU.js";
13
13
  import "./chunk-ZV7MFISX.js";
14
14
  import "./chunk-K3NQKI34.js";
15
15
  export {
@@ -56,6 +56,10 @@ var cmd = command({
56
56
  const data = await res.json();
57
57
  if (!res.ok) {
58
58
  console.error(data.error ?? "Failed to join variant");
59
+ if (data.conflicts?.length) {
60
+ console.error("\nConflicting files:");
61
+ for (const file of data.conflicts) console.error(` ${file}`);
62
+ }
59
63
  process.exit(1);
60
64
  }
61
65
  console.log(`Variant ${variantName} joined and cleaned up.`);
@@ -12,7 +12,7 @@ import {
12
12
  import "./chunk-O7IGP7ZW.js";
13
13
  import {
14
14
  voluteUserHome
15
- } from "./chunk-H7IYFRAL.js";
15
+ } from "./chunk-ALKYQULU.js";
16
16
  import "./chunk-ZV7MFISX.js";
17
17
  import "./chunk-K3NQKI34.js";
18
18
 
@@ -8,7 +8,7 @@ import {
8
8
  import "./chunk-O7IGP7ZW.js";
9
9
  import {
10
10
  voluteUserHome
11
- } from "./chunk-H7IYFRAL.js";
11
+ } from "./chunk-ALKYQULU.js";
12
12
  import "./chunk-ZV7MFISX.js";
13
13
  import "./chunk-K3NQKI34.js";
14
14
 
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ deliverBatch,
4
+ deliverMessage,
5
+ linkToolResultToTurn,
6
+ recordInbound,
7
+ recordOutbound,
8
+ resolveSleepAction
9
+ } from "./chunk-JO5IO4FH.js";
10
+ import "./chunk-ZDZISKCL.js";
11
+ import "./chunk-BJZ4PV7R.js";
12
+ import "./chunk-QLWG3C2Z.js";
13
+ import "./chunk-KGIXX4NM.js";
14
+ import "./chunk-5ZQZDDIK.js";
15
+ import "./chunk-PFZBNKUH.js";
16
+ import "./chunk-JZ62SYWR.js";
17
+ import "./chunk-KQSFTPIM.js";
18
+ import "./chunk-4JOQZPCE.js";
19
+ import "./chunk-YXSUMLTC.js";
20
+ import "./chunk-4YU7HF4L.js";
21
+ import "./chunk-H2X54EHC.js";
22
+ import "./chunk-IHKGWTGT.js";
23
+ import "./chunk-F7H6ATM4.js";
24
+ import "./chunk-OV7ZQ2GH.js";
25
+ import "./chunk-ZNMCCHCP.js";
26
+ import "./chunk-T2TP6ZC6.js";
27
+ import "./chunk-ALKYQULU.js";
28
+ import "./chunk-ZV7MFISX.js";
29
+ import "./chunk-K3NQKI34.js";
30
+ export {
31
+ deliverBatch,
32
+ deliverMessage,
33
+ linkToolResultToTurn,
34
+ recordInbound,
35
+ recordOutbound,
36
+ resolveSleepAction
37
+ };
@@ -18,7 +18,7 @@ var cmd = subcommands({
18
18
  commands: {
19
19
  create: {
20
20
  description: "Create a new mind",
21
- run: (args) => import("./create-2YY7IPMS.js").then((m) => m.run(args))
21
+ run: (args) => import("./create-IOV4GCRX.js").then((m) => m.run(args))
22
22
  },
23
23
  start: {
24
24
  description: "Start a mind",
@@ -34,7 +34,7 @@ var cmd = subcommands({
34
34
  },
35
35
  delete: {
36
36
  description: "Delete a mind",
37
- run: (args) => import("./delete-BFMIGAIB.js").then((m) => m.run(args))
37
+ run: (args) => import("./delete-HPLC7ETU.js").then((m) => m.run(args))
38
38
  },
39
39
  list: {
40
40
  description: "List all minds",
@@ -58,35 +58,35 @@ var cmd = subcommands({
58
58
  },
59
59
  import: {
60
60
  description: "Import an OpenClaw workspace",
61
- run: (args) => import("./import-SKID37QX.js").then((m) => m.run(args))
61
+ run: (args) => import("./import-42YNQBF4.js").then((m) => m.run(args))
62
62
  },
63
63
  export: {
64
64
  description: "Export a mind",
65
- run: (args) => import("./export-ID7YUSLZ.js").then((m) => m.run(args))
65
+ run: (args) => import("./export-LY723I3Z.js").then((m) => m.run(args))
66
66
  },
67
67
  split: {
68
- description: "Create a variant",
68
+ description: "Split off a variant",
69
69
  run: (args) => import("./split-WBMZXBHF.js").then((m) => m.run(args))
70
70
  },
71
71
  join: {
72
- description: "Merge variant back",
73
- run: (args) => import("./join-RXPXGV4L.js").then((m) => m.run(args))
72
+ description: "Join a variant back into its parent",
73
+ run: (args) => import("./join-ZJV7W6MO.js").then((m) => m.run(args))
74
74
  },
75
75
  sleep: {
76
- description: "Put a mind to sleep",
77
- run: (args) => import("./mind-sleep-YMBR3I35.js").then((m) => m.run(args))
76
+ description: "(legacy) Use 'volute clock sleep' instead",
77
+ run: (args) => import("./mind-sleep-74TGOQBC.js").then((m) => m.run(args))
78
78
  },
79
79
  wake: {
80
- description: "Wake a sleeping mind",
80
+ description: "(legacy) Use 'volute clock wake' instead",
81
81
  run: (args) => import("./mind-wake-LCLGTXA2.js").then((m) => m.run(args))
82
82
  },
83
83
  seed: {
84
84
  description: "(legacy) Use 'volute seed create' instead",
85
- run: (args) => import("./seed-4MKQ5QKG.js").then((m) => m.run(args))
85
+ run: (args) => import("./seed-CNYIHPOH.js").then((m) => m.run(args))
86
86
  },
87
87
  sprout: {
88
88
  description: "(legacy) Use 'volute seed sprout' instead",
89
- run: (args) => import("./sprout-4KUG76AQ.js").then((m) => m.run(args))
89
+ run: (args) => import("./sprout-SMX42ZBP.js").then((m) => m.run(args))
90
90
  }
91
91
  },
92
92
  footer: "Mind name can be omitted (where applicable) if VOLUTE_MIND is set."
@@ -4,10 +4,10 @@ import {
4
4
  markIdle,
5
5
  onMindEvent,
6
6
  stopAll
7
- } from "./chunk-HVU45COX.js";
8
- import "./chunk-ZMIMSIIT.js";
7
+ } from "./chunk-KQSFTPIM.js";
8
+ import "./chunk-ZNMCCHCP.js";
9
9
  import "./chunk-T2TP6ZC6.js";
10
- import "./chunk-H7IYFRAL.js";
10
+ import "./chunk-ALKYQULU.js";
11
11
  import "./chunk-ZV7MFISX.js";
12
12
  import "./chunk-K3NQKI34.js";
13
13
  export {
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ buildSeedOrientation,
4
+ sleepMind,
5
+ startMindFull,
6
+ startSpiritFull,
7
+ stopMindFull,
8
+ stopSpiritFull,
9
+ wakeMind
10
+ } from "./chunk-JO5IO4FH.js";
11
+ import "./chunk-ZDZISKCL.js";
12
+ import "./chunk-BJZ4PV7R.js";
13
+ import "./chunk-QLWG3C2Z.js";
14
+ import "./chunk-KGIXX4NM.js";
15
+ import "./chunk-5ZQZDDIK.js";
16
+ import "./chunk-PFZBNKUH.js";
17
+ import "./chunk-JZ62SYWR.js";
18
+ import "./chunk-KQSFTPIM.js";
19
+ import "./chunk-4JOQZPCE.js";
20
+ import "./chunk-YXSUMLTC.js";
21
+ import "./chunk-4YU7HF4L.js";
22
+ import "./chunk-H2X54EHC.js";
23
+ import "./chunk-IHKGWTGT.js";
24
+ import "./chunk-F7H6ATM4.js";
25
+ import "./chunk-OV7ZQ2GH.js";
26
+ import "./chunk-ZNMCCHCP.js";
27
+ import "./chunk-T2TP6ZC6.js";
28
+ import "./chunk-ALKYQULU.js";
29
+ import "./chunk-ZV7MFISX.js";
30
+ import "./chunk-K3NQKI34.js";
31
+ export {
32
+ buildSeedOrientation,
33
+ sleepMind,
34
+ startMindFull,
35
+ startSpiritFull,
36
+ stopMindFull,
37
+ stopSpiritFull,
38
+ wakeMind
39
+ };
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ parseDuration
4
+ } from "./chunk-PJ45FQPT.js";
5
+ import "./chunk-5T5YMX6S.js";
6
+ import {
7
+ resolveMindName
8
+ } from "./chunk-BTY4WNFE.js";
9
+ import {
10
+ daemonFetch
11
+ } from "./chunk-RBNMDAKB.js";
12
+ import "./chunk-LOPXTW6H.js";
13
+ import {
14
+ command
15
+ } from "./chunk-TXSA4Q3V.js";
16
+ import "./chunk-O7IGP7ZW.js";
17
+ import "./chunk-K3NQKI34.js";
18
+
19
+ // packages/cli/src/commands/mind-sleep.ts
20
+ function resolveWakeAt(input, now = /* @__PURE__ */ new Date()) {
21
+ const durationMs = parseDuration(input);
22
+ if (durationMs !== null) return new Date(now.getTime() + durationMs).toISOString();
23
+ const hm = input.match(/^(\d{1,2}):(\d{2})$/);
24
+ if (hm) {
25
+ const h = Number(hm[1]);
26
+ const m = Number(hm[2]);
27
+ if (h > 23 || m > 59) return null;
28
+ const d = new Date(now);
29
+ d.setHours(h, m, 0, 0);
30
+ if (d <= now) d.setDate(d.getDate() + 1);
31
+ return d.toISOString();
32
+ }
33
+ const date = new Date(input);
34
+ if (Number.isNaN(date.getTime())) return null;
35
+ return date.toISOString();
36
+ }
37
+ var cmd = command({
38
+ name: "volute clock sleep",
39
+ description: "Put a mind to sleep",
40
+ args: [{ name: "name", description: "Mind to sleep (or use --mind / VOLUTE_MIND)" }],
41
+ flags: {
42
+ mind: { type: "string", description: "Mind name" },
43
+ "wake-at": {
44
+ type: "string",
45
+ description: "Wake time: duration (2h30m), local HH:MM, or ISO timestamp"
46
+ }
47
+ },
48
+ run: async ({ args, flags }) => {
49
+ const name = args.name || resolveMindName(flags);
50
+ if (!name) {
51
+ console.error("Provide a mind name as argument, --mind flag, or VOLUTE_MIND env var");
52
+ process.exit(1);
53
+ }
54
+ const body = {};
55
+ if (flags["wake-at"]) {
56
+ const wakeAt = resolveWakeAt(flags["wake-at"]);
57
+ if (!wakeAt) {
58
+ console.error(
59
+ `Invalid --wake-at: ${flags["wake-at"]}
60
+ Accepted forms: a duration (e.g. 2h30m, 45m), a local time (HH:MM, next occurrence), or an ISO timestamp (e.g. 2026-07-08T14:00:00Z).`
61
+ );
62
+ process.exit(1);
63
+ }
64
+ body.wakeAt = wakeAt;
65
+ }
66
+ const res = await daemonFetch(`/api/minds/${encodeURIComponent(name)}/sleep`, {
67
+ method: "POST",
68
+ headers: { "Content-Type": "application/json" },
69
+ body: JSON.stringify(body)
70
+ });
71
+ const data = await res.json();
72
+ if (!res.ok) {
73
+ console.error(data.error || "Failed to put mind to sleep");
74
+ process.exit(1);
75
+ }
76
+ console.log(`${name} is going to sleep`);
77
+ }
78
+ });
79
+ var run = cmd.execute;
80
+ export {
81
+ resolveWakeAt,
82
+ run
83
+ };
@@ -4,7 +4,7 @@ import "./chunk-K3NQKI34.js";
4
4
  // package.json
5
5
  var package_default = {
6
6
  name: "volute",
7
- version: "0.45.1",
7
+ version: "0.46.0",
8
8
  description: "CLI for creating and managing self-modifying AI minds powered by the Claude Agent SDK",
9
9
  type: "module",
10
10
  license: "MIT",
@@ -100,6 +100,7 @@ var package_default = {
100
100
  marked: "^18.0.5",
101
101
  sharp: "^0.35.2",
102
102
  svelte: "^5.56.3",
103
+ "svelte-check": "4.7.1",
103
104
  tsup: "^8.5.1",
104
105
  tsx: "^4.22.4",
105
106
  typescript: "^6.0.3",
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
+ SPIRIT_NAME,
3
4
  addMind,
4
5
  addSpirit,
5
6
  addVariant,
@@ -9,6 +10,7 @@ import {
9
10
  findMind,
10
11
  findVariants,
11
12
  getBaseName,
13
+ isSpiritName,
12
14
  mindDir,
13
15
  mindTmpDir,
14
16
  nextPort,
@@ -26,10 +28,11 @@ import {
26
28
  voluteHome,
27
29
  voluteSystemDir,
28
30
  voluteUserHome
29
- } from "./chunk-H7IYFRAL.js";
31
+ } from "./chunk-ALKYQULU.js";
30
32
  import "./chunk-ZV7MFISX.js";
31
33
  import "./chunk-K3NQKI34.js";
32
34
  export {
35
+ SPIRIT_NAME,
33
36
  addMind,
34
37
  addSpirit,
35
38
  addVariant,
@@ -39,6 +42,7 @@ export {
39
42
  findMind,
40
43
  findVariants,
41
44
  getBaseName,
45
+ isSpiritName,
42
46
  mindDir,
43
47
  mindTmpDir,
44
48
  nextPort,
@@ -7,10 +7,10 @@ import {
7
7
  isSandboxOptional,
8
8
  shellEscape,
9
9
  wrapForSandbox
10
- } from "./chunk-OXXTPILE.js";
11
- import "./chunk-322KE457.js";
10
+ } from "./chunk-JZ62SYWR.js";
11
+ import "./chunk-F7H6ATM4.js";
12
12
  import "./chunk-T2TP6ZC6.js";
13
- import "./chunk-H7IYFRAL.js";
13
+ import "./chunk-ALKYQULU.js";
14
14
  import "./chunk-ZV7MFISX.js";
15
15
  import "./chunk-K3NQKI34.js";
16
16
  export {
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ Scheduler,
4
+ getScheduler,
5
+ initScheduler
6
+ } from "./chunk-JO5IO4FH.js";
7
+ import "./chunk-ZDZISKCL.js";
8
+ import "./chunk-BJZ4PV7R.js";
9
+ import "./chunk-QLWG3C2Z.js";
10
+ import "./chunk-KGIXX4NM.js";
11
+ import "./chunk-5ZQZDDIK.js";
12
+ import "./chunk-PFZBNKUH.js";
13
+ import "./chunk-JZ62SYWR.js";
14
+ import "./chunk-KQSFTPIM.js";
15
+ import "./chunk-4JOQZPCE.js";
16
+ import "./chunk-YXSUMLTC.js";
17
+ import "./chunk-4YU7HF4L.js";
18
+ import "./chunk-H2X54EHC.js";
19
+ import "./chunk-IHKGWTGT.js";
20
+ import "./chunk-F7H6ATM4.js";
21
+ import "./chunk-OV7ZQ2GH.js";
22
+ import "./chunk-ZNMCCHCP.js";
23
+ import "./chunk-T2TP6ZC6.js";
24
+ import "./chunk-ALKYQULU.js";
25
+ import "./chunk-ZV7MFISX.js";
26
+ import "./chunk-K3NQKI34.js";
27
+ export {
28
+ Scheduler,
29
+ getScheduler,
30
+ initScheduler
31
+ };
@@ -4,7 +4,7 @@ import "./chunk-K3NQKI34.js";
4
4
  // packages/cli/src/commands/seed.ts
5
5
  async function run(args) {
6
6
  console.error("Note: `volute mind seed` is now `volute seed create`");
7
- await import("./seed-create-N2BF5LQX.js").then((m) => m.run(args));
7
+ await import("./seed-create-ANXGYSCC.js").then((m) => m.run(args));
8
8
  }
9
9
  export {
10
10
  run
@@ -12,11 +12,11 @@ var cmd = subcommands({
12
12
  commands: {
13
13
  create: {
14
14
  description: "Plant a new seed",
15
- run: (args) => import("./seed-create-N2BF5LQX.js").then((m) => m.run(args))
15
+ run: (args) => import("./seed-create-ANXGYSCC.js").then((m) => m.run(args))
16
16
  },
17
17
  sprout: {
18
18
  description: "Complete orientation and become a full mind",
19
- run: (args) => import("./seed-sprout-6ZDP23YI.js").then((m) => m.run(args))
19
+ run: (args) => import("./seed-sprout-NIUFTX32.js").then((m) => m.run(args))
20
20
  },
21
21
  check: {
22
22
  description: "Check seed readiness",